Skip to main content
Glama

TfL MCP Server

免責事項: これはコミュニティ構築のプロジェクトです。Transport for London (TfL) とは提携、承認、または関連していません。このプロジェクトは公開されている TfL Unified API を利用しています。

GitHub release License: MIT

TfL (Transport for London) Unified API をツールとして公開する MCP サーバーで、Claude などの AI アシスタントがロンドンのリアルタイム交通データを照会できるようにします。

バージョン2は、MCP 2026-07-28 プロトコルリビジョンを使用した単一の Node.js 22 実装です。ローカルホスト向けの stdio、npm、MCPB に加え、リモートデプロイメント向けの /mcp でのステートレス Streamable HTTP をサポートしています。

プロトコル互換性: Streamable HTTP はモダン専用の MCP 2026-07-28 です。stdio エントリポイントは Codex などのデスクトップホスト向けに 2025 時代の初期化も受け入れますが、モダンな stdio クライアントは引き続き 2026-07-28 をネゴシエートします。レガシーな HTTP/SSE はサポートされていません。

はじめに

ステップ 1 — Claude Desktop に追加

Claude Desktop の設定ファイルを開きます:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

オプション A: Node.js MCPB (推奨)

GitHub Releases から tfl-mcp-server.mcpb をダウンロードし、Claude Desktop にインストールします。

オプション B: npm

Node.js 22 以降がインストールされている場合、Claude Desktop を公開パッケージに向けます:

{
  "mcpServers": {
    "tfl-mcp-server": {
      "command": "npx",
      "args": ["-y", "@oneill9/tfl-mcp-server@2.0.0"],
      "env": { "TFL_APP_KEY": "your_key_here" }
    }
  }
}

オプション C: Docker

{
  "mcpServers": {
    "tfl-mcp-server": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "TFL_APP_KEY", "ghcr.io/oneill9/tfl-mcp-server:latest"]
    }
  }
}

ステップ 2 — TfL API キーを追加 (推奨)

キーがない場合、TfL は厳しいレート制限を適用し、ほとんどの実際の使用に影響します。無料のキーを登録 し、TFL_APP_KEY 環境変数で渡してください。Docker の例の -e TFL_APP_KEY はこの値をコンテナに転送します:

"env": { "TFL_APP_KEY": "your_key_here" }

ステップ 3 — Claude Desktop を再起動して質問を始める

例: 「セントラル線は正常に運行していますか?」「オックスフォード・サーカスからの次のバスはいつですか?」

ソース、Docker、Streamable HTTP のオプションについては、docs/installation.md を参照してください。

Related MCP server: MBTA MCP Server

ツール

Tool

Description

TfL Endpoint

service_status

モード別の現在のステータスと混乱

GET /Line/Mode/{modes}/Status

arrivals

名前で指定した停留所のリアルタイム到着情報

GET /StopPoint/{naptan}/Arrivals

journey

2地点間の旅程を計画

GET /Journey/JourneyResults/{from}/to/{to}

bike_points

Santander Cycles のドッキングステーション一覧

GET /BikePoint

crowding

名前で指定した駅のリアルタイム混雑度

GET /Crowding/{naptan}/Live

fares

指定した2つの停留所間の運賃情報

GET /StopPoint/{id}/FareTo/{targetId}

注: サーバーは内部で /StopPoint/Search/{query} エンドポイントを使用して、arrivalscrowdingfares ツールの停留所名を NaPTAN ID に自動的に解決します。

MCP Apps UI

service_status ツールには、プログレッシブエンハンスメントとして MCP Apps サポートが含まれています。UI 対応ホスト (例: Claude Desktop) は、テキスト応答とともにインタラクティブなサービスステータスボードをレンダリングできます。UI 非対応ホストは引き続き標準のテキスト出力を受け取ります。

  • UI は自己完結型です (インライン HTML/CSS、外部アセットなし)

  • 構造化された JSON データがテキストフォールバックとともに返されます

  • 追加のセットアップは不要です — ホストのサポートは自動的に検出されます

詳細は docs/tools.md を参照してください。

認証

MCPB とデフォルトのコンテナモードは stdio トランスポートを使用します。オプションの Streamable HTTP モードは OAuth やその他のサーバー側認証を実装していません。適切な信頼されたアクセス層の背後にのみデプロイしてください。

TfL API は、環境変数として提供するシンプルな API キー (TFL_APP_KEY) を使用します。キーは強く推奨されます — キーがない場合、TfL は厳しいレート制限を適用し、ほとんどの実際の使用に影響します。登録は無料です。この MCP サーバーを使用するために、TfL ポータル以外の OAuth フロー、ログイン、アカウントは必要ありません。

設定

Environment Variable

Default

Description

TFL_APP_KEY

(none)

TfL API キー — api-portal.tfl.gov.uk で登録

TFL_APP_ID

(none)

TfL App ID — ID とキーの両方を発行した古い API 登録にのみ必要

MCP_MAX_REQUEST_BODY_BYTES

1048576

Streamable HTTP が受け入れる最大 JSON リクエストボディサイズ

MCP_REQUEST_TIMEOUT_MS

30000

Streamable HTTP のリクエストタイムアウト (ミリ秒)

MCP_HEADERS_TIMEOUT_MS

10000

Streamable HTTP のヘッダータイムアウト (ミリ秒)。リクエストタイムアウトを超えてはなりません

API キーは強く推奨されます — キーがない場合、TfL の厳しいレート制限がほとんどの実際の使用に影響します。登録は api-portal.tfl.gov.uk で無料です。

ソースから実行

Node.js 22 以降が必要です。サーバーを起動する前に、ロックファイルからインストールしてビルドしてください。

cd node
npm ci
npm run build
node dist/index.js

これで stdio トランスポートが起動します。ステートレス Streamable HTTP の場合:

cd node
HOST=127.0.0.1 PORT=8080 node dist/index.js --http

MCP 2026-07-28 クライアントを http://127.0.0.1:8080/mcp に接続します。他のホスト名で提供する場合は、MCP_ALLOWED_HOSTS をカンマ区切りのホスト名許可リストに設定します。

Claude Desktop で使用する場合は、docs/installation.md を参照してください。

テスト

ユニットテストはモック HTTP サーバーを使用します — ネットワークアクセスや API キーは不要です:

cd node && npm test

Streamable HTTP 受け入れテストは npm test に含まれています。公式の固定 MCP 2026-07-28 要件セットを別途実行します (そのセット外のオプションの拡張プローブはスコアリングされません):

cd node && npm run test:conformance

適合フィクスチャは、共有のモダン専用 HTTP アダプターを介して実際の本番 TfL ツールとリソースを登録します。また、レフェリーのハードコードされたプローブに必要なテスト専用の診断ツール、リソース、プロンプト、フローも追加します。これらの診断は本番エントリポイントでは公開されません。

コントラクトテストはライブの TfL API を呼び出します:

cd node && TFL_APP_KEY=your_key_here npm run contractTest

bash scripts/test-distributions.sh を使用して、パッケージ化された npm CLI、MCPB、コンテナディストリビューションをビルドしてスモークテストします。このスクリプトは、Docker が利用できない場合にコンテナチェックをスキップします。

サポート

質問、バグ報告、機能リクエストについては、GitHub Issues で issue を開いてください。

プライバシーポリシー

この MCP サーバーは、AI アシスタントと TfL Unified API の間のローカルプロキシとして機能します。クエリを TfL に転送するために必要なものを超えて、個人データを収集、保存、送信することはありません。

  • データ収集: 分析やテレメトリは収集されません。限定的な運用診断は標準エラーに書き込まれますが、サーバーによって永続化されることはありません。ホストは独自のログポリシーに基づいて保持する場合があります。

  • 使用と保存: クエリはリアルタイムで TfL に転送され、応答は即座に返されます。クエリ履歴や結果は永続化されません。

  • 第三者共有: リクエストは TfL Unified API (api.tfl.gov.uk) に転送されます。TfL が API 使用データをどのように扱うかについては、TfL のプライバシーポリシー を参照してください。

  • データ保持: サーバーはデータを保持せず、リクエスト間で状態を保持しません。ホスト管理の標準エラー保持はサーバーの制御外です。

  • 連絡先: プライバシーに関する懸念がある場合は、https://github.com/oneill9/tfl-mcp-server/issues で issue を開いてください。

完全なプライバシーポリシーは PRIVACY.md で入手できます。

コンプライアンス

このサーバーは、Anthropic Software Directory Terms および Anthropic Software Directory Policy への準拠についてレビューされています。完全なコンプライアンス声明とメンテナーコミットメントについては、COMPLIANCE.md を参照してください。

TfL API リファレンス

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
21hResponse time
1wRelease cycle
11Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • UK refunds inside your AI assistant: train delays, flights, TfL, parking. Made in London.

  • Read and update your Everway trips and itineraries from any MCP-compatible AI assistant.

  • Real-time transit stops, routes, arrivals, vehicle positions, and schedules via OneBusAway APIs.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oneill9/tfl-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server