Skip to main content
Glama

TfL MCP Server

Дисклеймер: Это проект, созданный сообществом. Он не связан с Transport for London (TfL), не одобрен и не аффилирован с ним. Этот проект использует общедоступный TfL Unified API.

GitHub release License: MIT

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.json

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

  • Linux: ~/.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

service_status

Текущий статус и сбои по видам транспорта

GET /Line/Mode/{modes}/Status

arrivals

Прибытие в реальном времени на остановку по названию

GET /StopPoint/{naptan}/Arrivals

journey

Планирование поездки между двумя точками

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

bike_points

Список станций проката Santander Cycles

GET /BikePoint

crowding

Уровень загруженности станции в реальном времени по названию

GET /Crowding/{naptan}/Live

fares

Информация о тарифах между двумя названными остановками

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

Примечание: Сервер внутренне использует конечную точку /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

TFL_APP_KEY

(none)

Ключ TfL API — зарегистрируйтесь на api-portal.tfl.gov.uk

TFL_APP_ID

(none)

Идентификатор приложения TfL — требуется только для старых регистраций API, которые выдавали и идентификатор, и ключ

MCP_MAX_REQUEST_BODY_BYTES

1048576

Максимальный размер тела JSON-запроса, принимаемый Streamable HTTP

MCP_REQUEST_TIMEOUT_MS

30000

Тайм-аут запроса Streamable HTTP в миллисекундах

MCP_HEADERS_TIMEOUT_MS

10000

Тайм-аут заголовков 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

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