flight-mcp
✈️ Flight MCP Server — SQLite-Demo
Ein voll funktionsfähiger Model Context Protocol (MCP)-emonstrationserver, der simulierten Flugsuche und Buchungsfunktionen bietet.
[!WARNING] NUR SIMULATION: Alle Flüge, Bestände und Buchungen in diesem System sind vollständig simuliert und verwenden erfundene bzw. Beispieldaten. Dieses Projekt integriert keine echten Airline-APIs und bucht keine echten Flüge.
Was ist das Projekt?
Dieses Projekt ist eine saubere, modulare Python-Anwendung, die dazu dient, die Grundlagen desModel Context Protocol (MCP) zu vermitteln. Sie fungiert als lokaler Backend-Server, der sich nahtlos mit Claude Desktop verbindet und der KI sicheren, kontrollierten Zugriff auf eine lokale SQLate-Datenbank gewährt, um Demo-Flüge zu suchen und zu buchen.
Related MCP server: SQLite MCP Server
Was ist MCP?
Das Model Context Protocol (MCP) ist ein offener Standard, der es KI-Modellen (wie Claude) ermöglicht, sich sicher mit lokalen oder entfernten Datenquellen, Tools und Diensten zu verbinden. Anstatt dass das LLM Daten errät oder halluziniert, kann es über MCP ein deterministisches Backend-System abfragen.
Architektur
Die Systemarchitektur folgt einem sauberen, geschichteten Aufbau:
Claude Desktop (Client)
↓ (stdio JSON-RPC)
Python Flight MCP Server
↓
Services Layer (Business Logic)
↓
SQLite Database (Data Store)Technologie-Stack
Sprache: Python 3.11+
Paketmanager:
uvFramework: Offizielles MCP-Python-SDK (
mcp)Datenbank: SQLite (lokale Datei)
Client: Claude Desktop
Sechs verfügbare Tools
Der Server stellt der KI genau sechs robuste MCP-Tools zur Verfügung:
search_flights: Finde verfügbare Flüge nach Abflugort, Ziel und Datum.get_flight: Rufe vollständige Details und Metadaten für eine bestimmten Flug ab.check_seats: Prüfe die aktuelle Sitzverfügbarkeit für eine Flug.book_flight: Erstellt eine neuesimulierte Buchung (erfordert Benutzerbestätigung).get_booking: Rufe Details zu einer bestehenden Buchung über eine PNR-Referenz ab.cancel_booking: Storne eine Buchung und stelle das Sitzkontingent wieder her.
SQLite-Demo-Datenbank
Das System verwendet eine lokale SQLite-Datenbank (data/flightmcp.db), um Flugbestände und Buchungszustände zu speichern.
Hinweis: Die eigentliche .db- Datei ist von der Versionsveraltung ausgeschlossen, um Probleme durch veraltete Zustände zu vermeiden.
Um die Datenbank mit frischen Demo-Daten zu initialisieren, führen Sie folgenden Befehl aus:
uv run python scripts/seed_database.pyInstallation & Einrichtung
Stellen Sie sicher, dass uv installiert ist, und synchronisieren Sie dann die Abhängigkeiten:
uv syncAusführen der Tests
Das Projkt enthält ein robustes pytest-Program für die Backend-Verifizierung.
uv run pytestAusführen des MCP-Servers
Um manuell zu prüfung, dass der Server korrekt startet (er blockiert und wartet auf die stdio-ommunikation):
uv run flight-mcp(Anwendungslogs werden strikt nach stderr geleitet, um eine saubere MCP-Protokoll-Ausgabe auf stdout zu gewährleisten.)
Konfiguration von Claude Desktop
Um diesen MCP-Server mit Claude Desktop zu verbinden, bearten Sie theConfigurationsdatei von Claude Desktop (normalerweise unter ~/Library/Application Support/Claude/claude_desktop_config.json auf mac**).
Beispiel für die Claude-Desktop-Konfiguration:
{
"mcpServers": {
"flight-mcp": {
"command": "/opt/homebrew/bin/uv",
"args": [
"run",
"--directory",
"/Users/baratharjun/Desktop/medai",
"flight-mcp"
],
"cwd": "/Users/baratharjun/Desktop/medai"
}
}
}Hinweis: Passen Sie die absoluten Pfade so an, dass sie Ihrem lokalen Projektverzeichnis und Ihrem uv-Installationspfad passen.
Beispiel für die Tool-Nutzung
Sobald Sie in Claude Desktop verbunden sind, können Sie autürich agieren:
Benutzer: "Finde einen Flug von Chennai nach Delhi am 2026-09-05."
Claude ruft search_flights auf und liest die SQLite-Datenbank.
Benutzer: "Wie viele Sitzplätze sind auf Flug 1 noch frei?"
Claude ruft check_seats auf.
Benutzer: "I möchte Flug 1 buchen. Mein Name ist Test User, die E-Mail ist test@example.comund, Telefon 9999999999." Claude fasst die Anfrage zusammen und bittet ausdrücklich um Bestätigung.
Benutzer: "Bestätigt."
Claude ruft book_flight auf und gibt die fictive Buchungsreferenz zurück (z. B. FLM-XXXXXX).
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
- FlicenseNot gradedqualityDmaintenanceProvides Claude Desktop with secure access to multiple database connections, allowing users to query MySQL, PostgreSQL, SQLite, and SQL Server databases directly through natural language.
- AlicenseNot gradedqualityDmaintenanceEnables natural language interaction with local SQLite databases through Claude Desktop, translating plain English queries into SQL for data analysis and exploration.3MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language querying of SAP flight data (airlines, flights, bookings) using Claude Code, with 19 tools for model introspection, SQL queries, and analytics.1The Unlicense
- FlicenseNot gradedqualityDmaintenanceEnables querying and managing a CRM database through natural language conversations with Claude Desktop.
Related MCP Connectors
Talk to your live-events CRM (campaigns, analytics, paid ads, segments) in Claude and ChatGPT.
GibsonAI MCP server: manage your databases with natural language
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
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/BarathArjun-B/travel_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server