TollCalc in eigene Anwendungen integrieren
TollCalc lässt sich auf drei Wegen in eigene Software oder KI-Workflows einbinden:
| Methode | Geeignet für |
|---|---|
| REST-API | Server-zu-Server-Integration, eigene Backends |
| MCP (Model Context Protocol) | KI-Assistenten (Claude, Cursor, GPT u. a.) |
Python-Paket tollcalc |
Skripte, Data Science, Jupyter Notebooks |
REST-API
Die vollständige API-Dokumentation (OpenAPI 3.0) finden Sie unter:
Schnellstart
curl -X POST https://app.tollcalc.eu/api/calculate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer IHR_API_TOKEN" \
-d '{
"origin": "Munich, Germany",
"destination": "Vienna, Austria",
"vehicle": {
"weight": 40,
"axles": 5,
"emission_class": "euro6",
"co2_class": "class_1"
}
}'
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
origin |
string | Startpunkt: Adresse oder "lat;lon" |
destination |
string | Zielpunkt: Adresse oder "lat;lon" |
via |
string[] | Optionale Zwischenstopps (max. 48) |
vehicle.weight |
number | Gesamtmasse in Tonnen (z. B. 40) |
vehicle.axles |
integer | Achsenzahl: 2, 3, 4 oder 5 |
vehicle.emission_class |
string | Euro-Norm: euro0–euro6 |
vehicle.co2_class |
string | CO₂-Klasse: class_1 (Standard-Diesel) bis class_5 (Null-Emission) |
plannedTripStart |
string | Optionale ISO-8601-Angabe ("2026-09-01") oder RFC3339-Datetime ("2026-09-01T06:00:00Z"); wählt die zu diesem Zeitpunkt gültigen Mautregeln. Standard: jetzt |
Optionaler HTTP-Header:
| Header | Beschreibung |
|---|---|
X-Subaccount |
Optionale Nutzungszuordnung, z. B. für eine Kundenfirma oder Abteilung. Wird pro Sub-Account gezählt und in deiner Nutzungsstatistik angezeigt. Fehlend/leer → Default; max. 64 Zeichen; erlaubt A-Z a-z 0-9 _ : -; ungültig → HTTP 400 |
Authentifizierung
API-Tokens erhalten Sie nach der Registrierung unter app.tollcalc.eu. Ohne Token sind 10 kostenlose Anfragen pro Monat (pro IP-Adresse) möglich.
Nutzung & Quota abrufen
Nach der API-Anbindung können Sie Ihren Verbrauch und Ihr Kontingent programmatisch abrufen – beide Endpunkte sind read-only, verbrauchen selbst kein Kontingent und akzeptieren denselben Bearer-Token:
| Endpunkt | Beschreibung |
|---|---|
GET /api/usage |
Erfolgreiche Berechnungen des Monats, aufgeschlüsselt nach X-Subaccount |
GET /api/quota |
Verbrauch, Monatslimit und verbleibendes Kontingent |
Optionaler Query-Parameter: year und month (Standard: aktueller Monat).
# Nutzung pro Sub-Account
curl https://app.tollcalc.eu/api/usage \
-H "Authorization: Bearer IHR_API_TOKEN"
# {"year":2026,"month":9,"total":1000,
# "sub_accounts":[{"key":"kunde_a","count":500},{"key":"Default","count":320}]}
# Verbleibendes Kontingent
curl https://app.tollcalc.eu/api/quota \
-H "Authorization: Bearer IHR_API_TOKEN"
# {"year":2026,"month":9,"plan":"api","used":123,"limit":5000,"remaining":4877}
Ohne X-Subaccount-Header bei der Berechnung werden die Calls dem Schlüssel Default zugeordnet. Bei unbegrenzten Tarifen sind limit und remaining null. Die vollständige Spezifikation steht in der OpenAPI-Referenz.
MCP – Integration in KI-Assistenten
TollCalc unterstützt das Model Context Protocol (MCP) und kann direkt in KI-Tools wie Claude Desktop, Cursor oder andere MCP-kompatible Assistenten eingebunden werden.
Endpoint
POST https://app.tollcalc.eu/mcp
Verfügbare Tools
| Tool | Beschreibung |
|---|---|
calculate_toll |
Mautberechnung für eine LKW-Route |
get_quota |
Verbleibende Quota der aktuellen Session abfragen |
Konfiguration in Claude Desktop
Fügen Sie folgendes in Ihre Claude-Desktop-Konfiguration (claude_desktop_config.json) ein:
Option A – OAuth (empfohlen): Nur die URL angeben, kein Token nötig.
{
"mcpServers": {
"tollcalc": {
"url": "https://app.tollcalc.eu/mcp"
}
}
}
Option B – API-Key (für Automatisierung): Token manuell hinterlegen, z. B. für Server-zu-Server-Integrationen.
{
"mcpServers": {
"tollcalc": {
"url": "https://app.tollcalc.eu/mcp",
"headers": {
"Authorization": "Bearer IHR_API_TOKEN"
}
}
}
}
Ohne Konfiguration stehen 10 kostenlose Anfragen pro MCP-Sitzung (= pro Gespräch) zur Verfügung – kein Account nötig. Nach 10 Anfragen öffnet Claude Desktop automatisch einen Browser-Login (OAuth 2.0). Nach der Anmeldung gilt das gebuchte Kontingent. API-Tokens für Option B erhalten Sie unter app.tollcalc.eu.
Beispielaufruf über MCP
Nach der Einrichtung können Sie den Assistenten direkt auf Deutsch befragen:
„Was kostet die Maut für einen 40-Tonner von München nach Wien?"
Der Assistent ruft das Tool calculate_toll auf und gibt eine strukturierte Antwort zurück.
Detailstufen
Das Tool calculate_toll unterstützt drei Detailstufen über den Parameter detail:
| Wert | Inhalt |
|---|---|
compact (Standard) |
Gesamtmaut, Maut-km, mautfreie km, Aufschlüsselung pro Land |
detailed |
Wie compact, plus Kosten pro Segment (ohne Geometrie) |
full |
Wie detailed, plus Koordinaten und Debug-Informationen |
Antwortfelder
Alle Detailstufen enthalten folgende Felder:
| Feld | Typ | Beschreibung |
|---|---|---|
origin |
string | Aufgelöster Startortname |
destination |
string | Aufgelöster Zielortname |
total_toll_eur |
number | Gesamtmaut in Euro |
total_distance_km |
number | Gesamtstrecke in km |
toll_km |
number | Mautpflichtige km |
toll_free_km |
number | Mautfreie km |
countries |
array | Aufschlüsselung pro Land (country, country_name, total_km, toll_km, toll_eur) |
info_url |
string | Link zur Berechnung im TollCalc Web-App — inkl. geplanter Route auf der Karte, zum Teilen mit Kollegen oder im Browser öffnen |
Mit detail=detailed enthält countries zusätzlich segments (Abschnitte mit road, type, km, toll_eur).
Mit detail=full kommen Koordinaten, source_url, matched_geofence und Geometrie hinzu.
Server Card
Die MCP-Beschreibung (Server Card) ist abrufbar unter:
GET https://app.tollcalc.eu/.well-known/mcp-server
Python-Paket tollcalc
Das Python-Paket tollcalc wraps die REST-API und ermöglicht die Nutzung aus Python-Skripten oder Jupyter Notebooks.
Installation
pip install tollcalc
Verwendung
from tollcalc import calculate_toll
result = calculate_toll(
"Munich, Germany",
"Vienna, Austria",
weight=40,
axles=5,
emission_class="euro6",
co2_class="class_1",
token="IHR_API_TOKEN",
)
print(f"Gesamtmaut: {result['total_toll_eur']:.2f} EUR")
print(f"Strecke: {result['total_distance_km']:.1f} km")
for country in result["countries"]:
print(f" {country['country_name']}: {country['toll_eur']:.2f} EUR ({country['toll_km']:.0f} Maut-km)")
Nutzung & Quota aus Python
from tollcalc import get_usage, get_quota
# Optional: Verbrauch pro Sub-Account (Default: aktueller Monat)
usage = get_usage(token="IHR_API_TOKEN")
print(usage["total"], "Calls")
for s in usage["sub_accounts"]:
print(f" {s['key']}: {s['count']}")
# Verbleibendes Monatskontingent
quota = get_quota(token="IHR_API_TOKEN")
print(f"{quota['used']} / {quota['limit']} – verbleibend: {quota['remaining']}")
Koordinaten als Eingabe
result = calculate_toll(
origin="48.1374;11.5755", # München (lat;lon)
destination="48.2082;16.3738", # Wien
weight=40,
axles=5,
)
Paket-Dokumentation
Vollständige Dokumentation und weitere Beispiele finden Sie auf PyPI: pypi.org/project/tollcalc
Preise & Kontingente
| Tarif | Anfragen/Monat | Preis |
|---|---|---|
| Free (ohne Token) | 10 pro MCP-Sitzung (= pro Gespräch) | kostenlos |
| Starter | bis 500 | ab 9 €/Monat |
| Professional | bis 5.000 | ab 49 €/Monat |
| Enterprise | unbegrenzt | auf Anfrage |
Alle Tarife und aktuelle Preise: tollcalc.eu/de/#pricing
Bei Fragen zur Integration wenden Sie sich an support@tollcalc.eu.