tsb-kasko-mcp
tsb-kasko-mcp — MCP-Server und CLI für die TSB Kasko Değer Listesi
Ein Open-Source MCP-Server, Kommandozeilentool und Python-Client zum Abfragen der von der Türkiye Sigorta Birliği (TSB) veröffentlichten Kasko Değer Listesi.
Claude, ChatGPT, Gemini und Cursor können fragen: „Wie hoch ist der Kaskowert eines Audi A3 Modell 2025?“; im Terminal tsb-kasko lookup 2025 "audi a3" eingeben oder es als Bibliothek in Ihrem eigenen Python-Projekt verwenden.
Die Kasko-Wertliste ist der Referenzbetrag, nach dem jede in der Türkei verkaufte Kaskoversicherungspolice bepreist wird. Sie ist auch die Grundlage für die im Falle eines Totalschadens (pert) oder Diebstahls zu zahlende Summe. Dieses Projekt wandelt die von der TSB-Website im Hintergrund verwendeten, nicht authentifizierungspflichtigen Endpunkte in einen typisierten Client um.
Schnittstelle | Wie ausführen | Für wen |
MCP-Server |
| Claude, ChatGPT, Gemini, Cursor |
Kommandozeile |
| Terminal, Skript, CI |
Python-Client |
| Ihre eigene Anwendung |
Bei der Installation des Pakets werden zwei Befehle bereitgestellt; Sie müssen kein separates CLI-Paket installieren.
Inhaltsverzeichnis
Related MCP server: RACV Insurance MCP Server
Wozu dient es?
Kaskowertabfrage über KI-Assistenten. Sie fragen in natürlicher Sprache über Claude, ChatGPT und Gemini, das Modell ruft das Werkzeug auf und gibt den aktuellen Wert zurück.
Abfrage über das Terminal. Der Befehl
tsb-kasko lookup 2025 "audi a3 sportback"gibt die Tabelle, JSON oder CSV direkt aus.Fahrzeugcode in der Police. Die Ergebnisse enthalten auch das vom Versicherer angeforderte Paar
Markencode - Modellcode, z.B.9-1616.Historische Listen. TSB veröffentlicht die Liste jeden Monat neu. Sie können die Excel-Datei vergangener Monate herunterladen oder darin suchen.
Python-Bibliothek. Sie können die Klasse
TsbKaskoClientdirekt in Ihrem eigenen Projekt verwenden.
Installation
Voraussetzung: uv. Es installiert auch Python.
Zum Testen ohne Installation:
uvx --from git+https://github.com/hmtkyn/tsb-kasko-mcp tsb-kasko lookup 2025 "audi a3 sportback"Dauerhafte Installation:
uv tool install git+https://github.com/hmtkyn/tsb-kasko-mcpoder mit pip:
pip install git+https://github.com/hmtkyn/tsb-kasko-mcpDas Paket wurde noch nicht auf PyPI veröffentlicht. Sobald es veröffentlicht ist, werden
uv tool install tsb-kasko-mcpundpip install tsb-kasko-mcpfunktionieren; der Veröffentlichungs-Workflow ist im Repository bereit.
Für eine Entwicklungsinstallation aus dem Repository siehe Abschnitt Entwicklung.
MCP-Installation
Der Server unterstützt sowohl stdio als auch streamable HTTP-Transport, daher funktioniert er sowohl für Desktop-Clients als auch für gehostete Konnektoren.
Claude Code
claude mcp add tsb-kasko -- uvx --from git+https://github.com/hmtkyn/tsb-kasko-mcp tsb-kasko-mcpClaude Desktop
Fügen Sie in die Datei claude_desktop_config.json ein:
{
"mcpServers": {
"tsb-kasko": {
"command": "uvx",
"args": ["--from", "git+https://github.com/hmtkyn/tsb-kasko-mcp", "tsb-kasko-mcp"]
}
}
}Cursor / VS Code
Fügen Sie denselben mcpServers-Block in die Datei .cursor/mcp.json oder .vscode/mcp.json im Arbeitsbereich ein.
Gemini CLI
Fügen Sie in die Datei ~/.gemini/settings.json ein:
{
"mcpServers": {
"tsb-kasko": {
"command": "uvx",
"args": ["--from", "git+https://github.com/hmtkyn/tsb-kasko-mcp", "tsb-kasko-mcp"]
}
}
}ChatGPT und andere entfernte Clients
ChatGPT-Konnektoren erreichen den Server über HTTP. Starten Sie den Server im HTTP-Modus:
TSB_KASKO_TRANSPORT=http TSB_KASKO_HOST=0.0.0.0 TSB_KASKO_PORT=8000 tsb-kasko-mcpoder mit einem beliebigen ASGI-Server:
uvicorn tsb_kasko.asgi:app --host 0.0.0.0 --port 8000Der Endpunkt wird standardmäßig unter http://server:8000/mcp bereitgestellt. Für den einfachsten Weg siehe Abschnitt Docker.
MCP-Werkzeuge
Werkzeug | Was es tut |
| Findet Fahrzeuge aus Freitext und gibt den Kaskowert jeder Übereinstimmung zurück. Dies ist das Hauptwerkzeug. |
| Gibt die von der Liste abgedeckten Modelljahre zurück. Abdeckung ab 2012. |
| Listet die Marken eines Modelljahres auf. |
| Listet die Typen einer Marke in diesem Modelljahr auf. |
| Liest den Wert eines einzelnen Fahrzeugs mit bekannter Modell-ID. |
| Analysiert die veröffentlichte Excel-Datei eines bestimmten Monats. |
| Durchsucht die Liste eines vergangenen Monats. |
| Lädt die Excel-Datei eines bestimmten Monats auf die Festplatte herunter. |
Alle Werkzeuge außer kasko_download_archive sind mit readOnlyHint gekennzeichnet; der Client kann sie also ohne Bestätigung aufrufen.
Kommandozeilenverwendung
# Kapsanan model yılları
tsb-kasko years
# Bir model yılındaki markalar
tsb-kasko brands 2025
# Bir markanın tipleri
tsb-kasko models 2025 audi
# Serbest metinle sorgulama
tsb-kasko lookup 2025 "audi a3 sportback s line"
# Markayı sabitleyerek hızlandırma
tsb-kasko lookup 2025 "corolla hybrid" --brand toyota --limit 10
# JSON veya CSV çıktısı
tsb-kasko lookup 2025 "audi a3" --format json
tsb-kasko brands 2025 --format csv > markalar.csv
# Arşiv
tsb-kasko archive months
tsb-kasko archive file 2025 2
tsb-kasko archive search 2025 2 --query "sahin" --limit 20
tsb-kasko archive download 2025 2 --output ~/Downloads
# Önbellek
tsb-kasko cache path
tsb-kasko cache clear
# MCP sunucusunu CLI üzerinden çalıştırma
tsb-kasko serve --transport http --port 8000Beispielausgabe:
audi a3 sportback in 2025
┏━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Vehicle Code ┃ Brand ┃ Model ┃ Kasko Value ┃
┡━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ 9-1616 │ AUDI │ A3 SPORTBACK 35 TFSI 150 S LINE ... │ 3.695.439,00 TL│
└──────────────┴───────┴─────────────────────────────────────┴────────────────┘Als Python-Bibliothek
import asyncio
from tsb_kasko import TsbKaskoClient
async def main() -> None:
async with TsbKaskoClient() as client:
for value in await client.lookup(2025, "audi a3 sportback"):
print(value.vehicle_code, value.model_name, value.amount)
asyncio.run(main())Docker
Der Container stellt den MCP-Server über HTTP-Transport bereit. Er verwendet einen zweistufigen Build, läuft als nicht-Root-Benutzer und das Dateisystem ist schreibgeschützt.
docker compose up --build
# -> http://127.0.0.1:8000/mcpNur um das Image zu bauen und die CLI auszuführen:
docker build -f .docker/python/Dockerfile -t tsb-kasko-mcp .
docker run --rm --entrypoint tsb-kasko tsb-kasko-mcp lookup 2025 "audi a3"Die Python-Version ist im Image mit ARG PYTHON_VERSION festgelegt und verwendet dieselbe Version wie .python-version im Repository.
Konfiguration
Alle Einstellungen können durch Umgebungsvariablen überschrieben werden.
Variable | Standard | Beschreibung |
|
| Stamm-URL der TSB-Anwendung. |
|
| Zeitüberschreitung pro Anfrage, Sekunden. |
|
| Anzahl der Wiederholungen bei vorübergehenden Fehlern. |
|
| Wenn |
|
| Lebensdauer des Caches für Marken- und Modelllisten, Sekunden. |
|
| Cache-Verzeichnis. |
|
| MCP-Transport: |
|
| Lauschadresse des HTTP-Transports. |
|
| Port des HTTP-Transports. |
|
| Endpunktpfad in der ASGI-Anwendung. |
Verwendete TSB-Endpunkte
TSB veröffentlicht keinen API-Vertrag. Die folgenden Endpunkte werden von der Website-Frontend verwendet und erfordern keine Authentifizierung oder Cookies. Sie sind alle an einer Stelle in src/tsb_kasko/endpoints.py definiert.
Endpunkt | Parameter | Rückgabe |
| keine | Abgedeckte Modelljahre |
|
| Marken |
|
| Typen |
|
| Kaskowert und Fahrzeugcode |
| keine | Archivmonate |
|
| Pfad der monatlichen Excel-Datei |
Zwei Details sind bemerkenswert:
Das Feld
VehicleBrandCodein der Markenliste ist immer0. Der tatsächliche Markencode, der in der Police steht, ist nur in der Antwort vonGetInsuranceDatasgefüllt.Das Feld
IdinGetMonthListist kein Kalendermonat. Januar hat die ID2, Oktober die ID1. Daher berechnet der Client die Monats-ID nicht, sondern ermittelt sie aus der Live-Liste.
Projektstruktur
Alle drei Schnittstellen sind dünne Hüllen über demselben Kern. Daher leben sie alle in einem einzigen Repository: Wenn TSB einen Endpunkt umbenennt, wird die Korrektur in einer einzigen Datei vorgenommen, es ist keine Synchronisation von drei verschiedenen Versionen erforderlich.
src/tsb_kasko/
├── client.py # çekirdek: HTTP, yeniden deneme, önbellek
├── endpoints.py # TSB uçlarının tek tanım yeri
├── models.py # Pydantic modelleri
├── parsing.py # zarf açma, Türkçe sayı ve metin normalleştirme
├── archive.py # aylık Excel listelerinin okuyucusu
├── server.py # kabuk 1: FastMCP sunucusu
├── cli.py # kabuk 2: Typer komut satırı
└── asgi.py # HTTP taşıması için ASGI uygulamasıDas gleiche Muster wird auch in den Projekten github/github-mcp-server, microsoft/playwright-mcp und grafana/mcp-grafana verwendet: gemeinsamer Kern mit mehreren Einstiegspunkten.
Entwicklung
git clone https://github.com/hmtkyn/tsb-kasko-mcp.git
cd tsb-kasko-mcp
uv sync --all-extras --all-groups
uv run pre-commit installuv run pytest # 146 test, kayıtlı gerçek yanıtlarla
uv run pytest --cov --cov-report=term-missing # kapsam raporu
uv run ruff check . # lint
uv run ruff format . # biçimlendirme
uv run mypy src/tsb_kasko # strict tip denetimi
uv run pre-commit run --all-files # CI'ın yaptığının tamamıDie Tests verwenden exakte Kopien der tatsächlichen Antworten von TSB, sodass die Tests brechen, wenn sich der Vertrag ändert. Es gibt keine Tests, die auf das Netzwerk zugreifen.
Gleiches Ergebnis unter Windows, macOS und Linux
Dieses Repository wurde so eingerichtet, dass es sich unter allen drei Betriebssystemen gleich verhält:
.python-versionlegt die Python-Version auf 3.14 fest;uvlädt sie bei Bedarf herunter. Der unterstützte Bereich des Pakets ist>=3.11und CI testet alle vier Versionen..gitattributesspeichert jede Textdatei im Repository mit LF. Selbst wenncore.autocrlfunter Windows aktiviert ist, gelangt kein CRLF ins Repository. Ein Schritt in CI überprüft dies zusätzlich..editorconfiglegt Einrückung, Kodierung und Zeilenende unabhängig vom Editor fest.Mit
.devcontainer/können Sie ohne Installation in einem Container entwickeln.
Details siehe CONTRIBUTING.md.
Häufig gestellte Fragen
Was ist der Kaskowert und wie wird er bestimmt? Es ist der von TSB monatlich veröffentlichte Referenzfahrzeugwert nach Marke und Typ. Versicherungsgesellschaften berechnen die Policenprämie und die Schadenszahlung auf der Grundlage dieses Betrags.
Wie erfahre ich den Kaskowert meines Fahrzeugs?
Führen Sie den Befehl tsb-kasko lookup <Modelljahr> "<Marke und Typ>" aus oder installieren Sie den MCP-Server und fragen Sie Ihren Assistenten. Die offizielle Quelle ist immer tsb.org.tr.
Was ist der Fahrzeugcode in der Police?
Es ist das vom Versicherer angeforderte Paar Markencode - Modellcode, z.B. 9-1616. Es wird im Feld vehicle_code der Ergebnisse zurückgegeben.
Welche Modelljahre werden abgedeckt?
2012 und später. Die aktuelle Liste können Sie mit tsb-kasko years anzeigen.
Kann ich auf die Liste eines vergangenen Monats zugreifen?
Ja. tsb-kasko archive search 2025 2 --query "sahin" sucht in der Excel-Datei des vergangenen Monats, archive download lädt die Datei selbst herunter.
Ist dieses Projekt offiziell? Nein. Siehe den Haftungsausschluss unten.
Haftungsausschluss
Dieses Projekt ist nicht mit TSB verbunden und wird von TSB nicht unterstützt. Die Daten werden von der öffentlichen Seite von TSB bezogen. Nach eigenen Angaben von TSB übernimmt TSB keine Haftung für Folgen, die aus der Verwendung dieser Werte in Transaktionen entstehen. Die offizielle Quelle ist immer tsb.org.tr.
Da die Endpunkte von TSB nicht dokumentiert sind, können sie sich ohne Vorankündigung ändern. In einem solchen Fall reicht es aus, die Datei src/tsb_kasko/endpoints.py zu aktualisieren.
Beitrag und Lizenz
Beitragsrichtlinien: CONTRIBUTING.md
Verhaltenskodex: CODE_OF_CONDUCT.md
Sicherheitsrichtlinie: SECURITY.md
Änderungsprotokoll: CHANGELOG.md
MIT wird unter der MIT-Lizenz veröffentlicht. Deutsche Übersetzung der Informationen: docs/lisans.md.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides an MCP interface for accessing YOKATLAS (Turkish Higher Education Council Atlas) data, enabling LLM applications like Claude to search and retrieve details about undergraduate and associate degree programs in Turkey.470MIT
- Flicense-quality-maintenanceProvides tools for motor insurance quoting, including vehicle lookups, postcode risk assessments, and premium calculations. It enables users to generate and compare car insurance quotes through natural language interactions.
- Alicense-qualityCmaintenanceProvides vehicle reference prices in Brazil (Tabela FIPE) for cars, motorcycles, and trucks, enabling navigation by brand/model/year, historical price queries, depreciation curves, and fuzzy model search.MIT
- Alicense-qualityCmaintenanceAn MCP server that provides verified official Turkish electricity system data (from TEİAŞ and EÜAŞ) via tools for querying generation, installed capacity, demand, and import/export, enabling natural language access to energy statistics.MIT
Related MCP Connectors
Hosted MCP server exposing US hospital procedure cost data to AI assistants
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hmtkyn/tsb-kasko-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server