Gone. Gone from the registry since 2 Oct.
Cheapest fuel prices in Austria from the public E-Control Spritpreisrechner API. Unofficial.
Runs on your machine from its package; the steps are below.
Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Published to NuGet as `EGeier.Mcp` — run it with your .NET MCP host.
Wo tanke ich in der Nähe von Mödling am günstigsten Diesel? – E-Geier lässt deinen KI-Assistenten diese Frage beantworten.
E-Geier ist eine .NET-Bibliothek und ein lokaler MCP-Server für die öffentlichen APIs der E-Control Austria. Den Anfang macht der Spritpreisrechner; das Ladestellenverzeichnis für E-Autos soll folgen.
Warum „E-Geier“? Der Geier kreist geduldig über der Landschaft und stürzt sich dann zielsicher auf das günstigste Angebot. Das „E“ steht für Energie – Sprit heute, Strom morgen. Mit Bindestrich, bitte: Wir sind kein „Egeier“. 🦅⛽
Important
Nicht mit der E-Control Austria verbunden. Alle Daten stammen aus der öffentlichen Spritpreisrechner-API. Keine Gewähr für Richtigkeit oder Aktualität.
Not affiliated with E-Control Austria. All data comes from the public Spritpreisrechner (fuel price calculator) API. No guarantee of accuracy or timeliness.
| Paket | Inhalt |
|---|---|
EGeier.Net | Bibliothek: Client für die Spritpreisrechner-API, Geocoding über OpenStreetMap Nominatim |
EGeier.Mcp | MCP-Server (stdio), der lokal bei dir läuft |
E-Geier ist ein reines Open-Source-Hobbyprojekt: kein gehosteter Dienst, keine Zugangsdaten, keine API-Schlüssel. Alles läuft auf deinem Rechner.
Alle Werkzeuge lesen nur.
| Werkzeug | Was es tut |
|---|---|
find_cheapest_stations(location, fuel_type, include_closed = false) | Ort oder Adresse → günstigste Tankstellen in der Nähe, mit Preis, Adresse, Luftlinie, geöffnet ja/nein und Navigationslink |
find_stations_by_region(region, fuel_type, include_closed = false) | Günstigste Tankstellen in einem Bundesland oder Bezirk, z. B. „Steiermark“, „Bezirk Mödling“, „Favoriten“. Gemeinden und Postleitzahlen werden dem Bezirk zugeordnet. |
list_regions() | Alle Bundesländer mit ihren Bezirken |
Kraftstoffe: diesel, super (Super 95) und cng (Erdgas). Deutsche und englische Bezeichnungen wie „Benzin“ oder „petrol“ funktionieren auch.
Öffne Einstellungen → Entwickler → Konfiguration bearbeiten und ergänze claude_desktop_config.json:
Über NuGet (dnx ist ab dem .NET 10 SDK dabei):
{
"mcpServers": {
"e-geier": {
"command": "dnx",
"args": ["EGeier.Mcp", "--yes"]
}
}
}
Alternativ als globales .NET-Tool:
dotnet tool install --global EGeier.Mcp
{
"mcpServers": {
"e-geier": {
"command": "e-geier-mcp"
}
}
}
Aus dem Quellcode:
git clone https://github.com/haraldrohan/e-geier.git
cd e-geier
dotnet build -c Release
{
"mcpServers": {
"e-geier": {
"command": "dotnet",
"args": ["run", "--project", "C:\\Pfad\\zu\\e-geier\\src\\EGeier.Mcp", "-c", "Release", "--no-build"]
}
}
}
Danach Claude Desktop neu starten. Andere MCP-fähige Clients (VS Code, Claude Code, …) werden genauso mit einem stdio-Befehl eingerichtet, z. B. in Claude Code:
claude mcp add e-geier -- dnx EGeier.Mcp --yes
Es ist nichts zu konfigurieren. Wer die Geocoding-Anfragen mit einer Kontaktadresse versehen will (von OpenStreetMap bei häufiger Nutzung empfohlen), setzt eine Umgebungsvariable:
"env": { "Nominatim__Email": "du@example.org" }
Mit Nominatim__BaseAddress lässt sich eine eigene Nominatim-Instanz verwenden.
dotnet add package EGeier.Net
using EGeier;
using EGeier.Geocoding;
using EGeier.Sprit;
services.AddSpritClient();
services.AddNominatimGeocoder();
// ...
var place = await geocoder.GeocodeAsync("Mödling");
var stations = await sprit.SearchByLocationAsync(place!.Latitude, place.Longitude, FuelType.Diesel);
foreach (var station in stations.Where(s => s.Prices.Count > 0))
{
Console.WriteLine($"{station.GetPrice(FuelType.Diesel):0.000} € {station.Name}, {station.Location?.City} ({station.DistanceKm:0.0} km)");
}
Ohne Dependency Injection geht es auch: new SpritClient(new HttpClient()).
Überblick:
ISpritClient – SearchByLocationAsync, SearchByRegionAsync, GetRegionsAsync, GetAdministrativeUnitsAsync, PingAsync, GetMonitoringAsyncFuelType – Diesel, Super95, Cng (keine Magic Strings)RegionResolver – findet zu „Bezirk Mödling“, „Graz“, „Perchtoldsdorf“ oder „2340“ den passenden RegionscodeIGeocoder / NominatimGeocoder – austauschbar; die Nominatim-Implementierung ist auf Österreich beschränkt, hält max. 1 Anfrage pro Sekunde ein, sendet einen eigenen User-Agent und cacht Ergebnisse 24 StundenSpritApiException – verständliche Fehlermeldungen, inkl. DuringNoonPriceUpdateDistanceKm ist Luftlinie in Kilometern und bei der Regionssuche immer 0.dotnet build
dotnet test --project tests/EGeier.Tests # offline, mit aufgezeichneten API-Antworten
EGEIER_LIVE_TESTS=1 dotnet test --project tests/EGeier.IntegrationTests # gegen die echte API
Ohne EGEIER_LIVE_TESTS=1 werden die Live-Tests übersprungen.
Deutsch: E-Geier ist nicht mit der E-Control Austria verbunden. Alle Daten stammen aus der öffentlichen Spritpreisrechner-API. Keine Gewähr für Richtigkeit oder Aktualität. Maßgeblich ist der an der Zapfsäule angezeigte Preis.
English: E-Geier is not affiliated with E-Control Austria. All data comes from the public Spritpreisrechner API. No guarantee of accuracy or timeliness. The price shown at the pump is what counts.