London Transport Mcp Server について
TfL Unified API を利用する独立した MCP サーバーで、ロンドンの交通状況や経路を調べる人向けです。路線状況の確認や経路検索に加え、インタラクティブな路線選択画面を提供し、MCP-UI 非対応クライアントには JSON を返します。
主な機能
- 01路線の運行状況確認
- 02ロンドンの経路検索
- 03運行障害情報の取得
- 04インタラクティブな路線選択
- 05JSON とビジュアル表示
活用シーン
- 01移動前の地下鉄運行状況の確認
- 02ロンドン市内の公共交通経路の計画
- 03インタラクティブ画面での路線選択
MCP 対応
MCP クライアント向けに、路線状況、経路検索、インタラクティブな路線選択のツールを提供します。MCP-UI 対応クライアントには操作画面を表示し、非対応クライアントには JSON を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| lineId | string | はい | 照会する路線の識別子(例:victoria、central、northern、piccadilly、liberty、lioness、mildmay、suffragette、weaver、windrush)。 |
詳細
Transport for London MCP Server
⚠️ 重要な免責事項:これはTransport for London(TfL)の公式MCPサーバーではありません。公開されているTfL Unified APIを使用して交通データを提供する、独立したプロジェクトです。Transport for Londonとは提携しておらず、同社による承認や公式サポートも受けていません。
リアルタイムのTransport for Londonデータ(路線状況、経路検索、運行障害情報など)を提供するModel Context Protocol(MCP)サーバーです。このサーバーはCloudflare Workersにデプロイされており、Claude DesktopなどのMCP対応クライアントで使用できます。
デモ
MCP-UI 対応の場合
MCP-UI対応クライアントで、インタラクティブなビジュアルカードやUIコンポーネントを体験できます(ここではnanobot.aiを使用しています)。

MCP-UI 非対応の場合
MCP-UIに対応していないクライアントには、サーバーからJSONデータが返されます。

機能
このMCPサーバーでは、以下のツールを利用できます。
🎯 show_line_status_selector(新機能!)
TfLのすべての路線を対象とした、ボタン付きのインタラクティブなセレクターを表示します。MCP-UIのexternalUrl機能を使用して、MCPクライアント内にインタラクティブなHTMLインターフェースを読み込みます。
- パラメーター: なし
- 出力:
- 利用可能なすべてのTfL路線(Victoria、Central、Northern、Piccadilly、Jubilee、Bakerloo、Circle、District、Hammersmith & City、Metropolitan、Waterloo & City、Elizabeth、DLR、Overground、Tram)のクリック可能なボタンを備えたインタラクティブなUI
- 各ボタンは公式の路線カラーでスタイリングされています
- ボタンをクリックすると、その路線の
get_line_statusが自動的に呼び出されます - 複数の路線状況をすばやく確認するのに最適です
使用例: 「路線状況セレクターを表示して」または「状況を表示して」と尋ねると、すべての路線をインタラクティブに表示できます。路線ボタンをクリックすると、現在の状況をすぐに確認できます。
🚇 get_line_status
TfLの特定の交通路線について、現在の状況を美しいビジュアルカードで取得します(MCP-UI対応)。
- パラメーター:
lineId:照会する路線ID(例:'central'、'piccadilly'、'northern'、'victoria')
- 出力: TfLのブランディング、路線カラー、状況バッジを備えたJSONデータとビジュアルUIカードの両方を返します
MCP-UI のビジュアルレスポンス
MCP-UI対応クライアント(MCP-UIに対応したClaude Desktopなど)で使用すると、サーバーから美しいビジュアルカードが返されます。
通常運行:
大幅な遅延:
軽微な遅延:
ビジュアルカードの特徴:
- 動的な路線カラーを使用した公式TfLラウンデルロゴ
- 状況バッジ(通常運行は緑、大幅な遅延は赤、軽微な遅延はアンバー)
- TfLのブランディングを取り入れた、すっきりとしたプロフェッショナルなデザイン
- 完全な後方互換性:MCP-UI非対応のクライアントにはJSONデータが返されます
🗺️ plan_journey
ロンドン市内の2地点間の経路を検索します。
- パラメーター:
from:出発地(郵便番号、住所、または駅名)to:目的地(郵便番号、住所、または駅名)modes(任意):利用する交通手段(例:'tube,bus,walking')time(任意):HH:MM形式または'now'で指定する移動時刻timeIs(任意):'Departing'または'Arriving'date(任意):YYYYMMDD形式の移動日walkingSpeed(任意):'Slow'、'Average'、または'Fast'cyclePreference(任意):自転車利用時の優先設定optimize(任意):'Time'、'LeastInterchange'、または'LeastWalking'maxTransferMinutes(任意):乗り換えにかける時間の上限(分)maxWalkingMinutes(任意):徒歩時間の上限(分)
はじめに
今すぐ試す(デプロイ不要)
自分でデプロイする前にサーバーを試してみませんか?公開デモインスタンスを利用できます!
Claude Desktop の場合:
- Claude Desktop の Settings > Developer > Edit Config を開きます
- 次の設定を追加します:
{
"mcpServers": {
"tfl": {
"command": "npx",
"args": [
"mcp-remote",
"https://london-transport-mcp.anoopt.workers.dev/mcp"
]
}
}
}
- Claude Desktop を再起動します
- ロンドンの交通機関について質問してみましょう!
VS Code(GitHub Copilot)の場合:
- VS Code の Settings > Extensions > GitHub Copilot > MCP Servers を開きます
- 次の設定を追加します:
{
"servers": {
"tfl": {
"type": "http",
"url": "https://london-transport-mcp.anoopt.workers.dev/mcp"
}
}
}
- MCP サーバーを起動します
- Copilot Chat で TfL のツールを使ってみましょう!
クイックデプロイ
上のボタンをクリックすると、この MCP サーバーを Cloudflare Workers アカウントにワンクリックでデプロイできます!
手動デプロイ
- このリポジトリをクローンします
- 依存関係をインストールします:
npm install - Cloudflare Workers にデプロイします:
npm run deploy
MCP サーバーは、london-transport-mcp.<your-account>.workers.dev のような URL にデプロイされます。
認証(任意)
このサーバーは、TfL API キーによる任意の認証に対応しています。TfL API は認証なしでも利用できますが、API キーを使用すると、より高いレート制限と優れたパフォーマンスが得られます。
API キーを使用しない場合: TfL の公開 API の制限内で動作します(レート制限の対象となります)。
API キーを使用する場合(推奨):
- TfL API Portal から無料の API キーを取得します
- サーバーへの接続時に、
X-API-Keyヘッダーで API キーを渡します
Claude Desktop に接続する
Claude Desktop から MCP サーバーに接続するには、Claude Desktop の設定を更新します:
- Claude Desktop の Settings > Developer > Edit Config に移動します
- 次のいずれかの設定を追加します:
mcp-remote を使用する場合
API キーを使用する場合:
{
"mcpServers": {
"tfl": {
"command": "npx",
"args": [
"mcp-remote",
"https://london-transport-mcp.<your-account>.workers.dev/mcp",
"--header",
"X-API-Key: YOUR_TFL_API_KEY"
]
}
}
}
API キーを使用しない場合:
{
"mcpServers": {
"tfl": {
"command": "npx",
"args": [
"mcp-remote",
"https://london-transport-mcp.<your-account>.workers.dev/mcp"
]
}
}
}
注: ローカル開発では、URL を http://localhost:8787/mcp に置き換えてください
Cloudflare AI Playground に接続する
Cloudflare AI Playground から MCP サーバーに接続することもできます:
- https://playground.ai.cloudflare.com/ にアクセスします
- デプロイした MCP サーバーの URL を
/mcpエンドポイント付きで入力します X-API-Keyヘッダーに TfL API キーを追加します- Playground から TfL のツールを直接使ってみましょう!
ローカル開発
ローカル開発では、次のコマンドを実行します:
npm run dev
これにより、サーバーが http://localhost:8787 でローカル起動します
API キー(任意)
このサーバーは、より高いレート制限を利用するための、TfL API キーによる任意の認証に対応しています。API キーは必須ではありませんが、本番環境での使用を推奨します。
API キーを使用しない場合:
接続時に X-API-Key ヘッダーを省略してください。TfL API の標準レート制限が適用されます。
API キーを使用する場合:
- TfL API Portal にアクセスします
- 無料アカウントを登録します
- 新しいアプリケーションを作成して API キーを取得します
- 接続時に
X-API-Keyヘッダーでキーを渡します
使用例
接続後、Claude に次のような質問ができます:
- 「路線状況セレクターを表示して」または「状況を表示して」— TfL の全路線を含むインタラクティブな UI を表示します
- 「ノーザン線は正常に運行していますか?」
- 「ビクトリア線の運行状況はどうですか?」
- 「キングス・クロスからヒースロー空港までの経路を計画して」
- 「オックスフォード・サーカスからカナリー・ワーフまで、どう行けばいいですか?」
- 「ウィンブルドンからリバプール・ストリートまでの最速ルートは?」
技術スタック
- ランタイム:Cloudflare Workers
- フレームワーク:Hono.js
- MCP SDK:@modelcontextprotocol/sdk
- 言語:TypeScript
- API:Transport for London Unified API
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトはオープンソースで、MIT License の下で利用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。