TfL MCP Server
TfL MCP Server
Дисклеймер: Это проект, созданный сообществом. Он не связан с Transport for London (TfL), не одобрен и не аффилирован с ним. Этот проект использует общедоступный TfL Unified API.
MCP-сервер, который предоставляет TfL (Transport for London) Unified API в виде инструментов, позволяя ИИ-ассистентам, таким как Claude, запрашивать данные о транспорте Лондона в реальном времени.
Версия 2 — это единая реализация на Node.js 22, использующая ревизию протокола MCP 2026-07-28. Она поддерживает stdio для локальных хостов, npm и MCPB, а также stateless Streamable HTTP на /mcp для удалённых развёртываний.
Совместимость протоколов: Streamable HTTP поддерживает только современный MCP
2026-07-28. Точка входа stdio также принимает инициализацию эпохи 2025 года для настольных хостов, таких как Codex, в то время как современные 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 (рекомендуется)
Скачайте tfl-mcp-server.mcpb из GitHub Releases и установите его в 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 |
| Текущий статус и сбои по видам транспорта |
|
| Прибытие в реальном времени на остановку по названию |
|
| Планирование поездки между двумя точками |
|
| Список станций проката Santander Cycles |
|
| Уровень загруженности станции в реальном времени по названию |
|
| Информация о тарифах между двумя названными остановками |
|
Примечание: Сервер внутренне использует конечную точку
/StopPoint/Search/{query}для автоматического преобразования названий остановок в идентификаторы NaPTAN для инструментовarrivals,crowdingиfares.
MCP Apps UI
Инструмент service_status включает поддержку MCP Apps в качестве прогрессивного улучшения. Хосты с поддержкой пользовательского интерфейса (например, Claude Desktop) могут отображать интерактивную панель состояния сервиса вместе с текстовым ответом. Хосты без поддержки интерфейса продолжают получать стандартный текстовый вывод.
Интерфейс самодостаточен (встроенные HTML/CSS, без внешних ресурсов)
Структурированные данные JSON возвращаются вместе с текстовым запасным вариантом
Дополнительная настройка не требуется — поддержка хоста определяется автоматически
Полные сведения см. в docs/tools.md.
Аутентификация
Режимы MCPB и контейнера по умолчанию используют транспорт stdio. Дополнительный режим Streamable HTTP не реализует OAuth или любую другую серверную аутентификацию; разворачивайте его только за соответствующим доверенным уровнем доступа.
TfL API использует простой ключ API (TFL_APP_KEY), который вы передаёте в качестве переменной окружения. Ключ настоятельно рекомендуется — без него TfL применяет строгие ограничения частоты запросов, что повлияет на большинство реальных сценариев использования. Регистрация бесплатна. Для использования этого MCP-сервера не требуется OAuth-поток, вход в систему или учётная запись, кроме портала TfL.
Конфигурация
Environment Variable | Default | Description |
| (none) | Ключ TfL API — зарегистрируйтесь на api-portal.tfl.gov.uk |
| (none) | Идентификатор приложения TfL — требуется только для старых регистраций API, которые выдавали и идентификатор, и ключ |
|
| Максимальный размер тела JSON-запроса, принимаемый Streamable HTTP |
|
| Тайм-аут запроса 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. Для stateless 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Фикстура соответствия регистрирует реальные производственные инструменты и ресурсы TfL через общий адаптер HTTP, поддерживающий только современные версии. Она также добавляет тестовые диагностические инструменты, ресурсы, подсказки и потоки, необходимые для жёстко заданных проверок рефери; эти диагностические средства не доступны через производственную точку входа.
Контрактные тесты вызывают живой TfL API:
cd node && TFL_APP_KEY=your_key_here npm run contractTestСоберите и проведите смоук-тестирование упакованных дистрибутивов npm CLI, MCPB и контейнера с помощью bash scripts/test-distributions.sh. Скрипт пропускает проверки контейнера, если Docker недоступен.
Поддержка
По вопросам, сообщениям об ошибках или запросам функций, пожалуйста, откройте issue на GitHub Issues.
Политика конфиденциальности
Этот MCP-сервер действует как локальный прокси между вашим ИИ-ассистентом и TfL Unified API. Он не собирает, не хранит и не передаёт никаких персональных данных, кроме тех, что необходимы для пересылки ваших запросов в TfL.
Сбор данных: Не собирается никакая аналитика или телеметрия. Ограниченные операционные диагностические данные записываются в стандартный поток ошибок, но не сохраняются сервером; хост может хранить их в соответствии со своей политикой ведения журналов.
Использование и хранение: Запросы пересылаются в TfL в реальном времени, а ответы возвращаются немедленно. История запросов и результаты не сохраняются.
Передача третьим лицам: Запросы пересылаются в TfL Unified API (
api.tfl.gov.uk). См. политику конфиденциальности TfL о том, как TfL обрабатывает данные об использовании API.Хранение данных: Сервер не хранит никаких данных и не сохраняет состояние между запросами. Хранение стандартного потока ошибок, управляемое хостом, находится вне контроля сервера.
Контакт: По вопросам конфиденциальности откройте issue на https://github.com/oneill9/tfl-mcp-server/issues.
Полная политика конфиденциальности доступна в PRIVACY.md.
Соответствие требованиям
Этот сервер был проверен на соответствие Условиям каталога программного обеспечения Anthropic и Политике каталога программного обеспечения Anthropic. Полное заявление о соответствии и обязательствах сопровождающих см. в COMPLIANCE.md.
Справочник по TfL API
Unified API: https://api.tfl.gov.uk/
API Portal / Key Registration: 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