E-Geier

io.github.haraldrohanPublished by GitHub account haraldrohanv0.1.2Updated Oct 1, 2026

Cheapest fuel prices in Austria from the public E-Control Spritpreisrechner API. Unofficial.

VerifiedSTDIODesktop onlyLocation & LifestyleFinance

Overview

AI-generated overview

Local MCP server that lets an AI assistant find the cheapest fuel stations in Austria using public E-Control fuel price data and OpenStreetMap geocoding.

What you can do
Find the cheapest stations near a place or address, with price, address, distance, open status and a navigation link, for diesel, Super 95 or CNG, optionally including closed stations. Find the cheapest stations in a federal province or district, with municipalities and postal codes mapped to districts. List all federal provinces with their districts. Fuel names are accepted in German and English.
When to use it
Useful when you want an assistant to answer everyday Austrian fuel-price questions, such as the cheapest diesel near a town, the lowest Super price in a city, which nearby station is still open, or comparing prices between districts.
Requirements
Runs locally as a .NET 10 SDK or runtime process, installed via the NuGet package with dnx or as a global .NET tool; a desktop MCP client such as Claude Desktop is needed. No account or API key. Network access to OpenStreetMap Nominatim and the E-Control Spritpreisrechner API. Optionally set NominatimEmail as a contact address and NominatimBaseAddress for a custom geocoder instance.
Before you install
The project is discontinued and its NuGet packages are marked deprecated; the operator states third-party use of the price interface is not approved. All tools are read-only, but the place or address you enter is sent to OpenStreetMap Nominatim and coordinates or region codes to the E-Control API. Prices are not guaranteed to be accurate or current; the price at the pump is authoritative.

Installation

In SourceWeft

  1. Open E-Geier in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[Image]

E-Geier

[!WARNING] Dieses Projekt ist eingestellt (Oktober 2026). Die E-Control Austria hat auf Anfrage mitgeteilt, dass die Preisdaten laut Auslegung des zuständigen Ministeriums nur über www.spritpreisrechner.at veröffentlicht werden sollen und dass es für die Nutzung der Schnittstelle durch Dritte keine Genehmigung gibt. E-Geier wird deshalb nicht weiterentwickelt, die NuGet-Pakete sind als veraltet markiert. Bitte nutze den offiziellen Spritpreisrechner.

This project is discontinued (October 2026). E-Control Austria stated on request that, according to the responsible ministry, the price data is meant to be published only via www.spritpreisrechner.at and that third-party use of the interface is not approved. E-Geier is no longer developed and the NuGet packages are deprecated. Please use the official Spritpreisrechner.

[NuGet EGeier.Net] [NuGet EGeier.Mcp] [CI]

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.

PaketInhalt
EGeier.NetBibliothek: Client für die Spritpreisrechner-API, Geocoding über OpenStreetMap Nominatim
EGeier.McpMCP-Server (stdio), der lokal bei dir läuft

E-Geier ist ein Open-Source-Hobbyprojekt: kein gehosteter Dienst, keine Zugangsdaten, keine API-Schlüssel. Alles läuft auf deinem Rechner.

MCP-Server

Werkzeuge

Alle Werkzeuge lesen nur.

WerkzeugWas 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.

Installation

Voraussetzungen

.NET 10 SDK oder Runtime.

Einrichtung in Claude Desktop

Öffne Einstellungen → Entwickler → Konfiguration bearbeiten und ergänze claude_desktop_config.json:

Über NuGet (dnx ist ab dem .NET 10 SDK dabei):

json
{  "mcpServers": {    "e-geier": {      "command": "dnx",      "args": ["EGeier.Mcp", "--yes"]    }  }}

Alternativ als globales .NET-Tool:

sh
dotnet tool install --global EGeier.Mcp
json
{  "mcpServers": {    "e-geier": {      "command": "e-geier-mcp"    }  }}

Aus dem Quellcode:

sh
git clone https://github.com/haraldrohan/e-geier.gitcd e-geierdotnet build -c Release
json
{  "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:

sh
claude mcp add e-geier -- dnx EGeier.Mcp --yes
Konfiguration (optional)

Es ist nichts zu konfigurieren. Wer die Geocoding-Anfragen mit einer Kontaktadresse versehen will (von OpenStreetMap bei häufiger Nutzung empfohlen), setzt eine Umgebungsvariable:

json
"env": { "Nominatim__Email": "[email protected]" }

Mit Nominatim__BaseAddress lässt sich eine eigene Nominatim-Instanz verwenden.

Beispiel-Fragen

  • „Wo tanke ich in der Nähe von Mödling am günstigsten Diesel?“
  • „Was kostet Super in Graz gerade am wenigsten?“
  • „Ich bin in der Mariahilfer Straße in Wien – welche Tankstelle hat jetzt noch offen und ist billig?“
  • „Gibt es in Niederösterreich eine günstige CNG-Tankstelle?“
  • „Vergleich die Dieselpreise in den Bezirken Mödling und Baden.“
  • „Welche Bezirke gibt es in Tirol?“

Bibliothek

sh
dotnet add package EGeier.Net
csharp
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, GetMonitoringAsync
  • FuelType – Diesel, Super95, Cng (keine Magic Strings)
  • RegionResolver – findet zu „Bezirk Mödling“, „Graz“, „Perchtoldsdorf“ oder „2340“ den passenden Regionscode
  • IGeocoder / 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 Stunden
  • SpritApiException – verständliche Fehlermeldungen, inkl. DuringNoonPriceUpdate

Gut zu wissen über die API

  • Die Suche nach Koordinaten liefert bis zu 10 Tankstellen, Preise aber nur für die günstigsten (gesetzliche Vorgabe). Die Suche nach Region liefert die 5 günstigsten.
  • Preiserhöhungen sind in Österreich nur um 12:00 Uhr erlaubt. Rund um diese Zeit ist die API oft ein paar Minuten nicht erreichbar; E-Geier meldet das mit einem entsprechenden Hinweis.
  • DistanceKm ist Luftlinie in Kilometern und bei der Regionssuche immer 0.

Entwicklung

sh
dotnet builddotnet test --project tests/EGeier.Tests                               # offline, mit aufgezeichneten API-AntwortenEGEIER_LIVE_TESTS=1 dotnet test --project tests/EGeier.IntegrationTests  # gegen die echte API

Ohne EGEIER_LIVE_TESTS=1 werden die Live-Tests übersprungen.

Datenschutz

E-Geier läuft auf deinem Rechner. Die Anfragen gehen direkt von dort an die unten genannten Dienste; der Autor erhält keine Daten.

  • Was verarbeitet wird: nur die Angaben eines Werkzeug-Aufrufs, also Ort oder Adresse, Kraftstoff und Region. E-Geier erhält keine Chatverläufe, keine Konto- oder Profildaten.
  • Weitergabe: Ort oder Adresse gehen an OpenStreetMap Nominatim, um Koordinaten zu ermitteln. Koordinaten bzw. Regionscode gehen an die Spritpreisrechner-API der E-Control Austria.
  • Speicherung: Keine Datenbank, keine Cookies, kein Tracking. Geocoding-Ergebnisse werden bis zu 24 Stunden im Arbeitsspeicher zwischengespeichert; nach einem Neustart ist alles weg. E-Geier legt keine dauerhaften Protokolle an.
  • Kontakt: GitHub Issues

Datenquellen und Lizenzen

Haftungsausschluss / Disclaimer

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.

Source: README.md at commit 1b65e67

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 29, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts