mcpField
L
London Transport MCP Server

London Transport MCP Server

本地服务
github.com/anoopt地图与出行056 周前更新

关于 London Transport MCP Server

London Transport MCP Server 通过三种工具,让 AI 助手访问伦敦交通局的实时线路状态和行程规划数据。它使用公开的 TfL Unified API,是独立的非官方项目。

主要功能

  1. 01查询 TfL 线路实时状态
  2. 02查看详细服务中断信息
  3. 03规划地点之间的行程
  4. 04支持 stdio、SSE 和 Streamable HTTP

适用场景

  1. 01通勤前查看线路运行状态
  2. 02了解线路服务中断详情
  3. 03规划伦敦市内路线

MCP 相关

它将 TfL 线路状态、中断详情和行程规划作为工具提供给 MCP 客户端,支持 stdio、SSE 和 Streamable HTTP 传输方式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"london-tfl-journey-status": {
"command": "npx",
"args": [
"-y",
"london-transport-mcp"
],
"env": {
"TFL_API_KEY": "<TFL_API_KEY>"
}
}
}
}
启动命令npx -y london-transport-mcp
需要配置的环境变量
TFL_API_KEY密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmlondon-transport-mcp

工具

3

收录的工具列表 · 更新于 3 周前

参数类型必填说明
lineIdstring是要查询的线路标识符(例如:victoria、central)。
app_keystring否可选的 API 应用密钥。

详细介绍

TfL(伦敦交通局)状态与行程规划 MCP 服务

此 模型上下文协议(MCP) 服务通过一组自动化工具,为 AI 助手提供实时伦敦交通局数据。

⚠️ 重要免责声明: 这不是伦敦交通局(TfL)的官方 MCP 服务。这是一个独立项目,使用公开的 TfL Unified API 提供交通数据。该项目与伦敦交通局无关联,未获其认可,也不受其官方支持。

演示视频

TfL MCP 服务演示

🚇 此 MCP 服务的功能

此服务提供三项主要功能,使 AI 助手(例如 Claude Desktop 和 VS Code GitHub Copilot)能够访问 TfL 实时数据:

🔧 可用工具
  1. get_line_status - 获取任意 TfL 线路的当前状态(例如 Central、Victoria、Piccadilly)
  2. get_line_status_detail - 获取 TfL 线路的详细状态信息,包括服务中断详情
  3. plan_journey - 使用 TfL 行程规划器规划两个地点之间的行程
🎯 使用场景

连接此 MCP 服务后,AI 助手可以帮助用户:

  • 通勤前查看地铁线路是否正常运营
  • 获取服务中断的详细信息
  • 规划伦敦地点之间的最佳路线
  • 提供伦敦出行的实时交通建议

交互示例:

  • “Central 线运行正常吗?”
  • “规划一条从 King's Cross 到 Heathrow Airport 的路线”
  • “今天 Northern 线延误的原因是什么?”

现在开始设置吧!

🚦 入门指南

请选择你偏好的安装方式:

📦 选项 1:通过 npm 快速安装(推荐)

使用此 MCP 服务最简单的方式是通过 npm:

安装
npm install -g london-transport-mcp
🔐 设置 TfL API 密钥

你可以从 TfL API Portal 免费获取 API 密钥。

方式 1:环境变量(推荐) 在系统中设置环境变量:

# Windows (PowerShell)
$env:TFL_API_KEY="your_actual_tfl_api_key_here"

# macOS/Linux
export TFL_API_KEY="your_actual_tfl_api_key_here"

方式 2:MCP 配置 将 API 密钥直接添加到 MCP 配置中(参见下方示例)。

AI 助手配置

针对 Claude Desktop(设置 → 开发者 → 编辑配置):

{
  "mcpServers": {
    "london-transport": {
      "command": "npx",
      "args": ["london-transport-mcp"],
      "env": {
        "TFL_API_KEY": "your_actual_tfl_api_key_here"
      }
    }
  }
}

针对 VS Code GitHub Copilot(设置 → GitHub Copilot › MCP:服务器):

{
  "london-transport": {
    "command": "npx",
    "args": ["london-transport-mcp"],
    "env": {
      "TFL_API_KEY": "your_actual_tfl_api_key_here"
    }
  }
}

完成!无需手动安装或配置路径。


🛠️ 选项 2:本地开发环境设置

适用于希望修改代码或参与贡献的开发者:

⚙️ 前置条件

开始之前,请确保已安装:

警告:如果使用较低版本的 Node,fetch 将不可用。工具使用 fetch 发起 HTTP 调用。要解决此问题,可以修改工具,改用 node-fetch。请确保已将 node-fetch 安装为依赖项,然后在每个工具文件中将其导入为 fetch。

📥 安装与设置

1. 克隆仓库

git clone https://github.com/anoopt/london-tfl-journey-status-mcp-server.git
cd london-tfl-journey-status-mcp-server

2. 安装依赖项

npm install
🔐 设置 TfL API 密钥

3. 配置 TfL API 密钥

在项目根目录中创建 .env 文件,并填入 TfL API 密钥:

TFL_API_KEY=your_actual_tfl_api_key_here

你可以从 TfL API Portal 免费获取 API 密钥。

🧪 使用 Postman 测试 MCP 服务

我们强烈建议先使用 Postman 测试 MCP 服务,再将其连接到 AI 助手。 Postman 桌面应用是运行和测试 MCP 服务最简单的方式。

第 1 步:下载 Postman 桌面应用

从 postman.com/downloads 下载最新版 Postman 桌面应用。

第 2 步:创建 MCP 请求
  1. 打开 Postman Desktop
  2. 新建 MCP Request(详细步骤请参阅文档)
  3. 将类型设为 STDIO
  4. 将命令设为 node 可执行文件的完整路径,后面接 mcpServer.js 的完整路径

要获取所需路径,请在终端中运行以下命令:

# Get the full path to node
which node

# Get the full path to mcpServer.js  
realpath mcpServer.js

# Check your node version (should be 18+)
node --version

命令格式示例:

/usr/local/bin/node /full/path/to/TfL-Status-MCP-Server/mcpServer.js
第 3 步:测试工具
  1. 在 Postman MCP Request 中点击 Connect
  2. 你应该能看到列出的 3 个 TfL 工具
  3. 测试每个工具:
    • 使用 lineId: "central" 调用 get_line_status
    • 使用 fromLocation: "King's Cross" 和 toLocation: "Westminster" 调用 plan_journey
    • 使用 lineId: "piccadilly" 调用 get_line_status_detail

如果所有工具在 Postman 中都能正常工作,就可以连接到 AI 助手了!

🤖 连接到 AI 助手

在 Postman 中测试完成后,你可以将 MCP 服务连接到 AI 助手:

本地开发设置(选项 2)

如果你使用本地开发设置,则需要指定完整路径:

Claude Desktop

第 1 步:使用 Postman 测试步骤中的相同 node 和 mcpServer.js 路径。

第 2 步:打开 Claude Desktop → Settings → Developers → Edit Config 并添加:

{
  "mcpServers": {
    "london-transport": {
      "command": "node",
      "args": ["/full/path/to/mcpServer.js"]
    }
  }
}

第 3 步:重启 Claude Desktop,并确认 MCP 服务旁显示绿色圆圈。

VS Code GitHub Copilot

第 1 步:如果尚未安装,请在 VS Code 中安装 GitHub Copilot 扩展。

第 2 步:打开 VS Code → Settings(Ctrl+,)→ 搜索“MCP” → GitHub Copilot › MCP: Servers

第 3 步:添加你的 TfL MCP 服务配置:

{
  "london-transport": {
    "command": "node",
    "args": ["/full/path/to/mcpServer.js"]
  }
}

第 4 步:重启 VS Code,GitHub Copilot 即可使用 MCP 服务。

现在,你可以向 AI 助手提出以下问题:

  • “查看 Central 线的状态”
  • “规划从 London Bridge 到 Camden Town 的行程”
其他选项
🛠️ 列出可用工具

查看所有可用工具及其参数:

npm run list-tools
🚀 快速集成 Postman

自动使用正确的 MCP 配置打开 Postman:

npm run postman
🐳 Docker 部署(生产环境)

生产环境部署时,可以使用 Docker:

1. 构建 Docker 镜像

docker build -t <your_server_name> .

2. 集成 AI 助手

将 Docker 服务配置添加到 AI 助手:

Claude Desktop(Settings → Developers → Edit Config):

{
  "mcpServers": {
    "tfl-status": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--env-file=.env", "tfl-mcp-server"]
    }
  }
}

VS Code GitHub Copilot(Settings → GitHub Copilot › MCP: Servers):

{
  "tfl-status": {
    "command": "docker",
    "args": ["run", "-i", "--rm", "--env-file=.env", "tfl-mcp-server"]
  }
}

在 .env 文件中添加环境变量(API 密钥等)。

项目附带以下最简 Docker 设置:

FROM node:22.12-alpine AS builder

WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install

COPY . .

ENTRYPOINT ["node", "mcpServer.js"]
🌐 可流式 HTTP

要启用可流式 HTTP 支持来运行服务,请使用 --streamable-http 标志。此操作会启动服务并启用 /mcp 端点:

node mcpServer.js --streamable-http
🌐 服务器发送事件(SSE)

要启用服务器发送事件(SSE)支持来运行服务,请使用 --sse 标志。此操作会启动服务并启用 /sse 和 /messages 端点:

node mcpServer.js --sse
🖥️ Stdio(标准输入/输出)

要使用标准输入/输出(stdio)运行服务,只需在不添加任何标志的情况下运行脚本。此模式非常适合 CLI 工具,或通过 stdin 和 stdout 进行程序化集成。

node mcpServer.js

🛠️ 扩展服务

要添加更多 TfL API 端点或其他交通 API:

  1. 在 tools/tfl/ 目录中创建新的工具文件
  2. 参考现有工具(例如 tools/tfl/status.js)的模式
  3. 将新工具文件添加到 tools/paths.js
  4. 部署前使用 Postman 测试

📚 API 参考

此服务使用 Transport for London Unified API。所有工具都会自动从 .env 文件中读取你的 API 密钥。

➕ 添加新工具

轻松为你的 MCP 服务扩展更多工具:

  1. 访问 Postman MCP Generator。
  2. 选择新的 API 请求,生成新的 MCP 服务并下载。
  3. 将新生成的工具复制到现有项目的 tools/ 文件夹中。
  4. 更新 tools/paths.js 文件,添加新工具的引用。

💬 问题与支持

访问 Postman MCP Generator 页面,了解最新动态和新功能。

加入 Postman Discord 中的 #mcp-lab 频道,分享你的成果并获取帮助。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。