KMB Bus MCP Server

by kennyckk
Verified

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.

KMBバスMCPサーバー

香港のKMB(九龍巴士)とLong Win Bus(龍運巴士)の路線情報と到着時刻にリアルタイムでアクセスできるモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、言語モデルは香港のバスサービス情報を照会し、バスの路線、停留所、到着予定時刻に関するユーザーの質問に答えることができます。

特徴

  • リアルタイムのバス到着情報(ETA)
  • 包括的なバス路線検索
  • バス停情報と検索
  • ルート停留所マッピング
  • API呼び出しを最適化するキャッシュシステム
  • バイリンガルサポート(英語と中国語(繁体字))

データソース

このプロジェクトでは、公式の KMB/LWB オープン データ API を利用しています。

前提条件

  • Python 3.10以上
  • UVパッケージマネージャー

インストール

  1. まず、まだインストールしていない場合は uv をインストールします。
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. リポジトリをクローンします。
git clone git@github.com:kennyckk/mcp_hkbus.git cd mcp_hkbus
  1. uv を使用して Python パッケージを処理します。
uv sync #using uv.lock

使用法

  1. MCP クライアント (例: Claude Desktop) で構成を編集します。
{ "mcpServers": { "bus_service": { "command": "path/to/uv.exe", "args": ["--directory", "path/to/kmb_bus", "run", "kmb_mcp.py"], "background": true } } }
  1. サーバーは、言語モデルがバス情報を照会するために使用できるいくつかのツールを提供します。
  • get_route_list() : すべてのバス路線のリストを取得する
  • get_stop_list() : すべてのバス停のリストを取得する
  • get_route_stops() : 特定のルートの停留所を取得する
  • find_stops_by_name() : バス停を名前で検索する
  • get_all_routes_at_stop() : 特定の停留所を通るすべてのルートを取得する
  • get_eta() : 到着予定時刻を取得する

テスト

pytest を使用してテスト スイートを実行します。

pytest test/kmb-mcp-tests.py

依存関係

  • httpx : 非同期HTTPリクエスト用
  • fastmcp : MCPサーバーの実装用
  • pytest : テスト用(開発のみ)

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

謝辞

  • オープンデータAPIを提供するKMB/LWB
  • MCPプロトコル開発者

注記

このサービスはKMB/LWB Open Data APIに依存しています。APIのレート制限に留意し、本番環境では適切なエラー処理を実装してください。

-
security - not tested
F
license - not found
-
quality - not tested

香港の KMB と Long Win バスのルート情報と到着時刻にリアルタイムでアクセスできるモデル コンテキスト プロトコル サーバー。これにより、言語モデルがバスのルート、停留所、到着予定時刻に関するユーザーの質問に答えることができます。

  1. Features
    1. Data Source
      1. Prerequisites
        1. Installation
          1. Usage
            1. Testing
              1. Dependencies
                1. Contributing
                  1. Acknowledgments
                    1. Note

                      Appeared in Searches

                      ID: 4llkf7k8b4