ベンガルール BMTC MCP サーバー
バンガロール都市圏交通公社 (BMTC) のバス サービス用のモール コネクタ プログラム (MCP) サーバーの実装。
建築
BMTC MCPサーバーは、モジュール式の階層化アーキテクチャを採用しており、懸念事項を分離し、保守性を向上させます。このシステムは、バンガロール都市圏交通公社のバスからのリアルタイムの交通データを処理し、標準化されたAPIを通じて提供するように設計されています。
コアコンポーネント
- API レイヤー: 認証、ルート、停留所、バスの位置、到着予定時刻情報のための RESTful エンドポイント
- サービス層: ビジネスロジック、データ変換、ETA計算
- データ アクセス層: Mongoose ODM 経由の MongoDB 統合
- キャッシュ層: パフォーマンス向上のためのRedisベースのキャッシュ
- 外部統合レイヤー:BMTC API統合
特徴
- リアルタイムバス位置追跡
- ルート情報とスケジュール
- 停留所の詳細と到着予定時刻(ETA)
- バンガロールの2,200以上のバス路線と8,400以上のバス停をサポート
- 認証と承認
- データのキャッシュと最適化
- 近くの停留所やバスの地理空間クエリ
前提条件
- Node.js (v14以降)
- npmまたはyarn
- モンゴDB
- Redis(オプション、キャッシュ用)
- ギット
インストールとセットアップ
方法1: 標準インストール
- リポジトリをクローンする
- 依存関係をインストールする
- 環境変数を設定する
設定に合わせて.env
ファイルを編集します。
- データベースに模擬データを入力する(オプション)
- サーバーを起動する
自動再起動を使用した開発の場合:
方法2: Docker Composeを使用する
- リポジトリをクローンする
- 環境変数を設定する(オプション)
環境変数はdocker-compose.yml
ファイルで直接変更することも、 .env
ファイルを作成することもできます。
- コンテナを構築して起動する
これにより、3 つのコンテナが起動します。
bmtc-mcp-api
: Node.js API サーバーbmtc-mcp-mongo
: MongoDB データベースbmtc-mcp-redis
: Redis キャッシュサーバー
- データベースに模擬データを入力する(オプション)
- ログを表示
- コンテナを停止する
ボリュームも削除するには:
APIの使用
サーバーが起動したら、次の場所で API にアクセスできます。
API ドキュメントについては、以下をご覧ください。
APIエンドポイントの例
APIキー
JWTシークレット
JWTシークレットは認証トークンの署名に使用されます。安全なランダム文字列を生成します。
これを.env
ファイルに追加します:
BMTC APIキー
開発の場合、実際の BMTC API キーなしでモックデータを使用できます。
本番環境では、BMTC に直接連絡して公式 API アクセスをリクエストする必要があります。
発達
テスト
テストを実行します。
カバレッジ付きのテストを実行します。
リンティング
コードスタイルを確認します:
コード スタイルの問題を修正します。
プロジェクト構造
貢献
行動規範とプル リクエストの送信プロセスの詳細については、 CONTRIBUTING.md をお読みください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
謝辞
- バンガロール都市圏交通公社(BMTC)
- シンガポールLTA MCP実装のインスピレーション
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
バスの追跡、スケジュール、ルート、サービス更新など、バンガロールの公共交通機関情報へのリアルタイム アクセスを提供し、乗客の体験を向上させます。
Related MCP Servers
- AsecurityFlicenseAqualityEnables Large Language Models to access real-time data on Vilnius public transport stops and routes through the Model Context Protocol.Last updated -21Python
- AsecurityFlicenseAqualityFacilitates real-time access to Singapore's Land Transport Authority (LTA) transportation data, offering insights into bus arrivals, train services, traffic conditions, and more through integration with the LTA DataMall API.Last updated -7JavaScript
- -securityAlicense-qualityThis server enables large language models to access and interact with real-time transport alerts from Transport for NSW's network, supporting filtering by transport mode and returning formatted alert information about disruptions and planned works.Last updated -115JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that provides real-time access to Hong Kong's KMB and Long Win Bus route information and arrival times, enabling Language Models to answer user questions about bus routes, stops, and ETAs.Last updated -3PythonApache 2.0