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: TFL MCP Server for Poke
Инструменты
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 deployed
Maintenance
Related MCP Connectors
Get date-specific quotes and book private UK airport and cruise-port transfers through your AI assistant. Compare vehicle options, validate flights, retrieve bookings, amend details and cancel with customer confirmation. No registration required to start, subject to service limits; optional API-key and OAuth access for registered integrations. Transfer fares are payable separately and cancellation conditions apply. Live demo and connection instructions: https://ai.airport-pickups-london.com/ Technical documentation: https://mcp.airport-pickups-london.com/docs
Transport for London (TfL) Unified API MCP — keyless.
Provide real-time transportation data including bus arrivals, train service alerts, carpark availa…
Check UK Delay Repay, UK261 flights and TfL refunds. Save claims and check commutes on request.
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.319 npmMIT
- 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.19 npm4ISC
- AlicenseNot gradedqualityDmaintenanceProvides real-time Transport for London data including line status, journey planning, and disruption information via the TfL Unified API.19 npmMIT