伦敦MCP服务器交通
⚠️ 重要免责声明:这不是伦敦交通局(TfL)的官方MCP服务器。这是一个独立的项目,使用公共可用的伦敦交通局统一API来提供传输数据。它不隶属于伦敦交通局,也没有得到伦敦交通局的认可或官方支持。
模型上下文协议(MCP)服务器,提供伦敦实时交通数据,包括线路状态、行程规划和中断信息。此服务器部署在Cloudflare Workers上,可以与任何兼容MCP的客户端(如Claude Desktop)一起使用。
演示
支持MCP-UI
使用MCP-UI兼容客户端体验交互式视觉卡和UI组件(此处使用nanobot.ai显示):
无MCP-UI
对于不支持MCP-UI的客户端,服务器返回JSON数据:
特性
此MCP服务器提供以下工具:
🎯 show_line_status_selector 新
显示一个带有所有伦敦交通局线路按钮的交互式选择器。这使用MCP-UI的externalUrl功能在MCP客户端中加载交互式HTML界面。
- 参数: 无
- 输出:
- 一个交互式用户界面,带有可点击的按钮,适用于所有可用的伦敦交通局线路(维多利亚、中央、北部、皮卡迪利、朱比利、贝克鲁、Circle、District、Hammersmith&City、大都会、滑铁卢&City、伊丽莎白、DLR、地上和有轨电车) - 每个按钮都采用官方线条颜色 - 点击按钮会自动调用 get_line_status 对于那条线 - 非常适合跨多行快速检查状态
用例示例: 询问“显示线路状态选择器”或“显示状态”以获得所有线路的交互式视图。单击任何行按钮可立即检查其当前状态。
🚇 get_line_status
使用美观的视觉卡(MCP-UI支持)获取特定伦敦交通局运输线路的当前状态。
- 参数:
- lineId:要查询的线路ID(例如,“中央”、“皮卡迪利”、“北部”、“维多利亚”)
- 输出: 返回JSON数据和带有TfL品牌、线条颜色和状态徽章的可视化UI卡
MCP-UI视觉响应
当与MCP-UI兼容的客户端(如支持MCP-UI的Claude Desktop)一起使用时,服务器会返回漂亮的视觉卡:
良好的服务:
严重延误:
轻微延误:
视觉卡的特点是:
- 伦敦交通局官方圆形标志,采用动感线条颜色
- 状态徽章(绿色表示服务良好,红色表示严重延误,琥珀色表示轻微延误)
- 干净、专业的设计,带有TfL品牌
- 完全向后兼容-非MCP UI客户端接收JSON数据
🗺️ 计划_焦尼
计划伦敦两个地点之间的旅行。
- 参数:
- from:起始位置(邮政编码、地址或车站名称) - to:目的地位置(邮政编码、地址或车站名称) - modes (可选):要使用的交通方式(例如,“地铁、公共汽车、步行”) - time (可选):HH:MM格式的行程时间或“现在” - timeIs (可选):“出发”或“到达” - date (可选):YYYYMMDD格式的行程日期 - walkingSpeed (可选):“慢”、“一般”或“快” - cyclePreference (可选):自行车偏好选项 - optimize (可选):“时间”、“最少换乘”或“最少步行” - maxTransferMinutes (可选):最长传输时间(分钟) - maxWalkingMinutes (可选):最长步行时间(分钟)
入门指南
立即试用(无需部署)
想在部署自己的服务器之前测试服务器吗?您可以使用公共演示实例!
对于Claude Desktop:
- 打开克劳德桌面设置>开发人员>编辑配置
- 添加此配置:
{
"mcpServers": {
"tfl": {
"command": "npx",
"args": [
"mcp-remote",
"https://london-transport-mcp.anoopt.workers.dev/mcp"
]
}
}
}- 重新启动克劳德桌面
- 开始询问有关伦敦交通的问题!
对于VS代码(GitHub Copilot):
- 打开VS代码设置>扩展>GitHub Copilot>MCP服务器
- 添加此配置:
{
"servers": {
"tfl": {
"type": "http",
"url": "https://london-transport-mcp.anoopt.workers.dev/mcp"
}
}
}- 启动MCP服务器
- 开始在Copilot聊天中使用TfL工具!
快速部署

单击上面的按钮,只需单击一下即可将此MCP服务器部署到您的Cloudflare Workers帐户!
手动部署
- 克隆此存储库
- 安装依赖项:
npm install- 部署到Cloudflare Workers:
npm run deploy您的MCP服务器将部署到以下URL: london-transport-mcp..workers.dev
身份验证(可选)
此服务器支持可选的TfL API密钥身份验证。虽然TfL API在没有身份验证的情况下工作,但使用API密钥可以提供更高的速率限制和更好的性能。
没有API密钥: 服务器将使用伦敦交通局的公共API限制(受速率限制)。
使用API密钥(推荐):
- 从获取免费的API密钥 伦敦交通局API门户网站
- 在中传递API密钥
X-API-Key连接到服务器时的标头
连接到克劳德桌面
要从Claude Desktop连接到您的MCP服务器,请更新您的Claude Desktop配置:
- 转到克劳德桌面设置>开发人员>编辑配置
- 添加以下配置之一:
使用mcp远程
使用API密钥:
{
"mcpServers": {
"tfl": {
"command": "npx",
"args": [
"mcp-remote",
"https://london-transport-mcp..workers.dev/mcp",
"--header",
"X-API-Key: YOUR_TFL_API_KEY"
]
}
}
}没有API密钥:
{
"mcpServers": {
"tfl": {
"command": "npx",
"args": [
"mcp-remote",
"https://london-transport-mcp..workers.dev/mcp"
]
}
}
}注: 对于本地开发,请将URL替换为 http://localhost:8787/mcp
连接到Cloudflare AI游乐场
您还可以从Cloudflare AI Playground连接到MCP服务器:
- 首选https://playground.ai.cloudflare.com/
- 使用以下命令输入您部署的MCP服务器URL
/mcp端点 - 添加
X-API-Key带有TfL API密钥的标头 - 直接从操场开始使用TfL工具!
本地开发
对于当地发展:
npm run dev这将在本地启动服务器 http://localhost:8787
API密钥(可选)
对于更高的速率限制,此服务器支持可选的TfL API密钥身份验证。API密钥是 不需要 但建议用于生产。
要在没有API密钥的情况下使用: 只需省略 X-API-Key 连接时使用接头。伦敦交通局API将采用标准费率限制。
与API密钥一起使用:
- 访问 伦敦交通局API门户网站
- 注册一个免费账户
- 创建一个新应用程序以获取API密钥
- 把钥匙交给
X-API-Key连接时的接头
例子
连接后,您可以问Claude以下问题:
- “显示线路状态选择器”或“显示状态”-显示包含所有TfL线路的交互式UI
- “北线运行正常吗?”
- “维多利亚线的现状如何?”
- “计划从国王十字车站到希思罗机场的旅程”
- “从牛津广场到金丝雀码头怎么走?”
- “从温布尔登到利物浦街最快的路线是什么?”
技术栈
- 运行时:Cloudflare员工
- 框架名称:Hono.js
- MCP-SDK:@modelcontextprotocol/sdk
- 语言:TypeScript
- API:伦敦交通局统一API
贡献
欢迎投稿!请随时提交拉取请求。
许可证
这个项目是开源的,可以在MIT许可证下使用。
