README
🚀 Metro MCP
Metro MCP 是一个远程模型上下文协议(MCP)服务器,它与华盛顿特区地铁(WMATA)的 API 进行对接。该项目专为与像 Claude Desktop 这样支持 MCP 的客户端集成而构建,并且配置为可部署在 Cloudflare Workers 上。
✨ 主要特性
你可以使用自然语言询问有关地铁的问题:
实时交通信息
- 查询列车到站时间:例如“杜邦环岛站的下一班红线列车什么时候到?”
- 获取服务警报:如“蓝线现在有延误情况吗?”
- 查找电梯/自动扶梯故障信息:像“联合车站的所有电梯都正常运行吗?”
车站信息与导航
- 搜索车站:例如“史密森尼地铁站在哪里?”
- 按线路查找车站:如“显示绿线上的所有车站”
行程规划与无障碍设施查询
- 路线规划:例如“我如何从国会山南站前往贝塞斯达?”
- 检查无障碍设施情况:如“从这里到国家机场之间有电梯故障吗?”
- 实时预测:像“画廊广场站接下来的三趟列车分别是什么时候到?”
服务监控
- 当前事故情况:例如“现在地铁有延误情况吗?”
- 特定线路问题:如“橙线运行正常吗?”
- 施工更新:像“哪些车站因施工而关闭?”
地理与系统信息
- 获取所有车站信息:可获取包含所有地铁站坐标的完整列表
- 线路信息:可了解所有六条地铁线路的详细信息
📦 安装指南
克隆此仓库,填入你自己的环境变量,然后部署服务器,最后配置你的 MCP 客户端。
环境变量
将 wrangler.toml.example 复制为 wrangler.toml,并设置你的环境变量:
[vars]
WMATA_API_KEY = "your-wmata-api-key" # 必需 - 从 developer.wmata.com 获取
JWT_SECRET = "your-jwt-secret" # 必需 - 使用以下命令生成:openssl rand -hex 32
GITHUB_CLIENT_ID = "your-github-client-id" # 可选 - OAuth 应用客户端 ID
GITHUB_CLIENT_SECRET = "your-github-secret" # 可选 - OAuth 应用客户端密钥
OAUTH_REDIRECT_URI = "https://your-domain.com/callback" # 可选 - 你的回调 URL
OAuth 设置(可选)
若要要求用户登录后才能访问你的服务器,可以使用像 GitHub 这样的 OAuth 提供商来设置身份验证。
对于 GitHub OAuth 身份验证:
- 在 github.com/settings/developers 创建一个 GitHub OAuth 应用。
- 将授权回调 URL 设置为
https://your-domain.com/callback。 - 使用你的 OAuth 凭证设置上述环境变量。
Claude Desktop 集成
将以下内容添加到你的 Claude Desktop MCP 配置中:
{
"mcpServers": {
"metro-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-domain.com/sse",
"--header",
"Authorization: Bearer your-token-here"
]
}
}
}
📚 详细文档
MCP 服务器与官方 WMATA API 进行对接。如需详细信息,请访问 WMATA 的开发者文档。
- 车站预测:提供实时列车到站信息
- 车站信息:包含车站名称、代码和位置
- 事故信息:提供服务中断和相关通知
- 电梯/自动扶梯故障信息:提供无障碍设施相关信息
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
Scan to join WeChat group