Bengaluru BMTC MCP-Server
Eine Implementierung eines Model Context Protocol (MCP)-Servers für die Busdienste der Bangalore Metropolitan Transport Corporation (BMTC).
Architektur
Der BMTC MCP-Server folgt einer modularen, mehrschichtigen Architektur. Das System ist darauf ausgelegt, Echtzeit-Transitdaten von Bussen der Bangalore Metropolitan Transport Corporation zu verarbeiten und über eine standardisierte API bereitzustellen.
Kernkomponenten
API-Schicht : RESTful-Endpunkte für Authentifizierung, Routen, Haltestellen, Busstandorte und ETA-Informationen
Serviceebene : Geschäftslogik, Datentransformation und ETA-Berechnungen
Datenzugriffsschicht : MongoDB-Integration über Mongoose ODM
Caching-Ebene : Redis-basiertes Caching für verbesserte Leistung
Externe Integrationsschicht : BMTC-API-Integration
Lesen Sie die vollständige Architekturdokumentation
Related MCP server: Singapore LTA MCP Server
Merkmale
Hier ist die Liste der Dinge, die Sie mit dem MCP-Client oder im Chatfenster finden können:
Echtzeit-Ortung von Bussen
Streckeninformationen und Fahrpläne
Haltestellendetails und ETA (voraussichtliche Ankunftszeit)
Unterstützung für über 2.200 Buslinien und mehr als 8.400 Bushaltestellen in Bengaluru
Authentifizierung und Autorisierung
Daten-Caching und -Optimierung
Georäumliche Abfragen für nahegelegene Haltestellen und Busse
Voraussetzungen
Node.js (v14 oder höher)
npm oder yarn
MongoDB
Redis (optional, zum Zwischenspeichern)
Git
Installation und Einrichtung
Methode 1: Standardinstallation
Klonen Sie das Repository
Installieren von Abhängigkeiten
Konfigurieren von Umgebungsvariablen
Bearbeiten Sie die .env Datei mit Ihrer Konfiguration:
Füllen Sie die Datenbank mit simulierten Daten (optional).
Starten Sie den Server
Für die Entwicklung mit automatischem Neustart:
Methode 2: Verwenden von Docker Compose
Klonen Sie das Repository
Umgebungsvariablen konfigurieren (optional)
Sie können die Umgebungsvariablen direkt in der Datei docker-compose.yml ändern oder eine .env Datei erstellen:
Erstellen und Starten der Container
Dadurch werden drei Container gestartet:
bmtc-mcp-api: Der Node.js-API-Serverbmtc-mcp-mongo: MongoDB-Datenbankbmtc-mcp-redis: Redis-Cache-Server
Füllen Sie die Datenbank mit simulierten Daten (optional).
Protokolle anzeigen
Stoppen Sie die Container
So entfernen Sie auch Volumes:
Verwenden der API
Sobald der Server läuft, können Sie auf die API zugreifen unter:
Die API-Dokumentation finden Sie unter:
Beispiele für API-Endpunkte
API-Schlüssel
JWT-Geheimnis
Das JWT-Geheimnis wird zum Signieren von Authentifizierungstoken verwendet. Generieren Sie eine sichere Zufallszeichenfolge:
Fügen Sie dies zu Ihrer .env Datei hinzu:
BMTC-API-Schlüssel
Für die Entwicklung können Sie Mock-Daten ohne einen tatsächlichen BMTC-API-Schlüssel verwenden:
Für die Produktion müssen Sie sich direkt an BMTC wenden, um offiziellen API-Zugriff anzufordern.
Entwicklung
Testen
Führen Sie die Tests aus:
Führen Sie Tests mit Abdeckung durch:
Fusseln
Codestil prüfen:
Beheben Sie Probleme mit dem Codestil:
Projektstruktur
Beitragen
Weitere Informationen zu unserem Verhaltenskodex und zum Verfahren zum Einreichen von Pull Requests finden Sie in CONTRIBUTING.md .
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .