Berlin Transport MCP Server について
Berlin Transport MCP Serverは、VBB API経由でベルリンの公共交通データをMCPクライアントに提供します。2つのツールを使うCode Modeにより、API操作の検索や、リクエストを連結できるJavaScriptコードのサンドボックス実行が可能です。
主な機能
- 01VBBの停留所・場所検索
- 02出発便と経路の照会
- 03OpenAPI操作の検索
- 04サンドボックスでのJavaScript実行
- 05複数APIリクエストの連結
活用シーン
- 01ベルリンの停留所や施設の検索
- 02直近の出発便の確認
- 03地点間の経路計画
MCP 対応
MCPクライアントに `search` と `execute` を提供します。OpenAPI仕様でVBBの操作を示し、サンドボックス内のコードからのリクエストをプロキシします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Berlin Transport MCP サーバー
VBB(Verkehrsverbund Berlin-Brandenburg)API を通じて、ベルリンの公共交通機関データにアクセスできる MCP サーバーです。このサーバーは、v6.vbb.transport.rest API をラップします。
このサーバーは Code Mode を使用します。API 操作ごとに MCP ツールを公開する代わりに、VBB API を OpenAPI 仕様として記述し、サーバーは search と execute の 2 つのツールだけを公開します。モデルは仕様を読み取り、サンドボックス化された Dynamic Worker 内で短い JavaScript スニペットを作成して実行し、API を呼び出します。これは、すべてのツールスキーマをモデルのコンテキストウィンドウに詰め込むよりもはるかに効率的にスケールし、複数の呼び出し(例:停留所を検索し、その後、発車時刻を取得する)を 1 回のサンドボックス実行内で連続して行えます。
はじめに
npm install
npm run dev
これにより、ローカルサーバーが http://localhost:8787/mcp で起動します。
npm run deploy
これにより、Worker が次のような URL にデプロイされます:berlin-transport-mcp.<your-account>.workers.dev/mcp。
利用可能なツール
search— API を呼び出す前に、OpenAPI 仕様(codemode.spec())を検索し、利用可能な操作、パラメーター、レスポンスの形式を確認します。execute— VBB API に対してcodemode.request({ method, path, query })を呼び出す、短い非同期 JavaScript スニペットを実行します。実際の HTTP リクエストはホストがプロキシします。サンドボックスからネットワークに直接アクセスすることはできません。
基盤となる API 操作
モデルに公開される OpenAPI 仕様には、次の操作が含まれます。
getLocations(GET /locations)— 停留所、駅、住所、スポットを検索します。getDepartures(GET /stops/{id}/departures)— 停留所の今後の発車時刻を取得します。getJourneys(GET /journeys)— 出発地と目的地の間の経路候補を取得します。
基盤となる API の詳細については、v6.vbb.transport.rest/getting-started.html をご覧ください。
MCP サーバーのカスタマイズ
openApiMcpServer に渡される OpenAPI 仕様と、request プロキシ関数は、どちらも src/index.ts にあります。別の API をラップするには、次の手順を実行します。
- 新しい API のパスと操作に合わせて、
API_ORIGINとopenApiSpecを更新します。 - 上流 API が異なるメソッド、認証ヘッダー、またはレスポンス処理を必要とする場合は、
request関数を調整します。
Cloudflare AI Playground に接続する
リモート MCP クライアントである Cloudflare AI Playground から、MCP サーバーに接続できます。
- https://playground.ai.cloudflare.com/ にアクセスします。
- デプロイした MCP サーバーの URL(
berlin-transport-mcp.<your-account>.workers.dev/mcp)を入力します。 - Playground から
searchツールとexecuteツールを直接使用できるようになります。
Claude Desktop を MCP サーバーに接続する
mcp-remote proxy を使用すると、ローカルの MCP クライアントからリモート MCP サーバーに接続することもできます。
Claude Desktop から MCP サーバーに接続するには、Anthropic のクイックスタートに従い、Claude Desktop で「設定」>「開発者」>「設定を編集」を開きます。
次の設定に更新します。
{
"mcpServers": {
"berlin-transport": {
"command": "npx",
"args": [
"mcp-remote",
"https://berlin-transport.mcp-tools.app/mcp" // or if local http://localhost:8787/mcp
]
}
}
}
Claude を再起動すると、search ツールと execute ツールが利用可能になります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。