Transport NSW API クライアント (MCP 実装)
直接 HTTP リクエストを使用して Transport NSW API と対話するための Claude MCP。
について
このプロジェクトは、Transport NSW の API 用のモデル コンテキスト プロトコル (MCP) サービスを実装します。
Related MCP server: TfNSW Realtime Alerts MCP Server
設定
このリポジトリをクローンする
uv (高速 Python パッケージ マネージャー) を使用して依存関係をインストールします。
uv venv uv syncAPI キーを使用して
.envファイルを作成します。OPEN_TRANSPORT_API_KEY=your_api_key_here(オプション) MCP インスペクターを実行します。
uv run mcp dev api.pyそして、 http://localhost:5173でサーバーにアクセスします (ポートは異なる場合があります)。
特徴
Stop Finder API : 名前または座標で交通機関の停留所を検索します
Alerts API : 交通警報や交通混乱に関する情報を取得します
出発モニターAPI :交通機関の停留所の出発情報をリアルタイムで取得します
MCP実装:モデルコンテキストプロトコルサービスとして構造化
使用例
MCPの例は近日公開予定です。以下は標準的なPythonの例です。
交通機関の停留所を探す
交通アラートを受け取る
リアルタイムの出発状況を監視
デモスクリプト
このプロジェクトには、すべての API 機能を紹介する包括的なデモ スクリプトが含まれています。
テスト
ローカルテスト
pytest を使用して完全なテスト スイートを実行します。
カバレッジレポートを使用して実行:
継続的インテグレーション
メインブランチへのプッシュリクエストとプルリクエストごとに、GitHub Actionsでテストが自動的に実行されます。ワークフローは以下のとおりです。
Python 3.10をセットアップする
UVとプロジェクトの依存関係をインストールします
カバレッジレポート付きのテストを実行する
この機能を使用するには:
OPEN_TRANSPORT_API_KEYをGitHubリポジトリシークレットとして追加しますコードをGitHubにプッシュする
MCP統合
このプロジェクトはモデルコンテキストプロトコル仕様に準拠しており、AI モデルが標準化されたインターフェースを通じて Transport NSW データにアクセスできるようになります。
パッケージ管理
このプロジェクトでは、Rustで書かれた最新のPythonパッケージマネージャーであるuvを使用しています。依存関係は以下を通じて管理されます。
pyproject.toml: プロジェクトの依存関係を定義するuv.lock: 再現可能な環境の依存関係のバージョンをロックします