TfL MCP Server
TfL MCP 서버
고지: 이 프로젝트는 커뮤니티가 만든 프로젝트입니다. Transport for London(TfL)과 제휴, 보증, 또는 연결되어 있지 않습니다. 이 프로젝트는 공개적으로 제공되는 TfL Unified API를 사용합니다.
TfL(Transport for London) Unified API를 도구로 노출하는 MCP 서버로, Claude와 같은 AI 어시스턴트가 실시간 런던 교통 데이터를 조회할 수 있게 합니다.
버전 2는 MCP 2026-07-28 프로토콜 개정판을 사용하는 단일 Node.js 22 구현입니다. 로컬 호스트, npm, MCPB를 위한 stdio와 원격 배포를 위한 무상태(stateless) Streamable HTTP /mcp를 지원합니다.
프로토콜 호환성: 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.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.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을 다시 시작하고 질문을 시작하세요
예: "Central line이 정상적으로 운행 중인가요?", "Oxford Circus에서 다음 버스는 언제인가요?"
소스, Docker, Streamable HTTP 옵션에 대해서는 docs/installation.md를 참조하세요.
Related MCP server: MBTA MCP Server
도구
도구 | 설명 | TfL 엔드포인트 |
| 모드별 현재 상태 및 운행 중단 정보 |
|
| 이름으로 정류장의 실시간 도착 정보 |
|
| 두 지점 사이의 여정 계획 |
|
| Santander Cycles 대여소 목록 |
|
| 이름으로 역의 실시간 혼잡도 |
|
| 두 명명된 정류장 사이의 요금 정보 |
|
참고: 서버는
arrivals,crowding,fares도구를 위해 정류장 이름을 NaPTAN ID로 자동 변환하기 위해 내부적으로/StopPoint/Search/{query}엔드포인트를 사용합니다.
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 흐름, 로그인, 또는 계정이 필요하지 않습니다.
구성
환경 변수 | 기본값 | 설명 |
| (없음) | TfL API 키 — api-portal.tfl.gov.uk에서 등록 |
| (없음) | TfL 앱 ID — ID와 키를 모두 발급한 이전 API 등록에만 필요 |
|
| Streamable HTTP가 수락하는 최대 JSON 요청 본문 크기 |
|
| Streamable HTTP 요청 시간 초과(밀리초) |
|
| Streamable HTTP 헤더 시간 초과(밀리초); 요청 시간 초과를 초과할 수 없음 |
API 키는 강력히 권장됩니다 — 키가 없으면 TfL의 엄격한 속도 제한이 대부분의 실제 사용에 영향을 줄 것입니다. 등록은 api-portal.tfl.gov.uk에서 무료입니다.
소스에서 실행
Node.js 22 이상이 필요합니다. 서버를 시작하기 전에 lockfile에서 설치하고 빌드하세요.
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 --httpMCP 2026-07-28 클라이언트를 http://127.0.0.1:8080/mcp에 연결하세요. 다른 호스트 이름으로 서비스할 때는 MCP_ALLOWED_HOSTS를 쉼표로 구분된 호스트 이름 허용 목록으로 설정하세요.
Claude Desktop 사용에 대해서는 docs/installation.md를 참조하세요.
테스트
단위 테스트는 모의 HTTP 서버를 사용합니다 — 네트워크 액세스나 API 키가 필요 없습니다:
cd node && npm testStreamable 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 contractTestbash scripts/test-distributions.sh로 패키지된 npm CLI, MCPB, 컨테이너 배포판을 빌드하고 스모크 테스트하세요. 이 스크립트는 Docker를 사용할 수 없을 때 컨테이너 검사를 건너뜁니다.
지원
질문, 버그 보고, 기능 요청은 GitHub Issues에 이슈를 열어 주세요.
개인정보 보호 정책
이 MCP 서버는 AI 어시스턴트와 TfL Unified API 사이의 로컬 프록시 역할을 합니다. 쿼리를 TfL로 전달하는 데 필요한 것 외에는 개인 데이터를 수집, 저장, 전송하지 않습니다.
데이터 수집: 분석 또는 텔레메트리가 수집되지 않습니다. 제한된 운영 진단이 표준 오류에 기록되지만 서버에 저장되지는 않습니다. 호스트는 자체 로깅 정책에 따라 이를 보관할 수 있습니다.
사용 및 저장: 쿼리는 실시간으로 TfL에 전달되고 응답은 즉시 반환됩니다. 쿼리 기록이나 결과는 저장되지 않습니다.
제3자 공유: 요청은 TfL Unified API(
api.tfl.gov.uk)로 전달됩니다. TfL이 API 사용 데이터를 처리하는 방법은 TfL의 개인정보 보호 정책을 참조하세요.데이터 보존: 서버는 데이터를 보존하지 않으며 요청 간 상태를 유지하지 않습니다. 호스트 관리 표준 오류 보존은 서버의 통제 밖입니다.
연락처: 개인정보 보호 관련 우려 사항은 https://github.com/oneill9/tfl-mcp-server/issues에 이슈를 열어 주세요.
전체 개인정보 보호 정책은 PRIVACY.md에서 확인할 수 있습니다.
규정 준수
이 서버는 Anthropic Software Directory Terms 및 Anthropic Software Directory Policy를 준수하는지 검토되었습니다. 전체 규정 준수 진술 및 유지 관리자 약속은 COMPLIANCE.md를 참조하세요.
TfL API 참조
Unified API: https://api.tfl.gov.uk/
API 포털 / 키 등록: https://api-portal.tfl.gov.uk/
Swagger UI: https://api.tfl.gov.uk/swagger/ui/index.html
This server cannot be installed
Maintenance
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
- AlicenseCqualityDmaintenanceProvides real-time access to Transport for London data, enabling users to check tube line statuses, get disruption details, and plan journeys between London locations. Uses the official TfL Unified API to deliver live transport information through AI assistants.330MIT
- AlicenseBqualityFmaintenanceEnables AI clients to access Boston's MBTA public transit data, including real-time predictions, schedules, route planning, and service alerts.321Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to access real-time Transport for London data, including tube/bus arrivals, line status, journey planning, and disruptions.1
- AlicenseBqualityDmaintenanceProvides real-time Transport for London journey data, including routes, alerts, and disruptions, allowing AI assistants to search journeys and get station information.1234ISC
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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