瑞典公共交通MCP服务器
模型上下文协议(MCP)服务器,通过ResRobot API提供对瑞典公共交通信息的访问。该服务器允许AI助手检索瑞典公共交通的实时交通数据,以规划您从A到B的旅程。
先决条件
- Python 3.8+
- UV包经理(负责本地开发)
- 来自的ResRobot API密钥 交通
- 谷歌云SDK(用于云运行部署)
设置
1.克隆仓库
克隆此存储库并导航到以下目录:
git clone
cd sweden-public-transport-mcp-server2.环境变量
创建一个 .env 项目根目录中的文件:
# ResRobot API Configuration
resbot_key=your_resrobot_api_key_here地方发展
在本地运行服务器
- 安装依赖项:
cd transport
uv sync- 运行本地MCP服务器:
uv run mcp_local.pyClaude桌面配置(本地)
将此添加到您的Claude Desktop配置文件(Claude Desktop的工作版本):
{
"mcpServers": {
"transport": {
"command": "uv",
"args": [
"--directory",
"/Users/jorpet/Documents/git/sweden-public-transport-mcp-server/transport",
"run",
"mcp_local.py"
]
}
}
}云部署
部署到Google Cloud Run
- 部署到云运行:
gcloud run deploy mcp-server \
--no-allow-unauthenticated \
--region=us-central1 \
--set-env-vars resbot_key=your_resrobot_api_key_here,local_run=false
--source .Obs:这是一种非常不安全的设置api密钥的方法。下一个版本将使用Google Secret Manager。
- 设置本地访问代理:
gcloud run services proxy mcp-server --region=us-central1Claude桌面配置(云运行)
对于云部署版本,请将此添加到您的LLM配置(Claude桌面的工作版本)中:
{
"mcpServers": {
"transport_cloud_run": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8080/mcp"]
}
}
}测试
测试云运行部署
使用提供的测试脚本验证您的Cloud Run部署:
python test_mcp_cloud_run.py此脚本将:
- 列出MCP服务器上的可用工具
- 测试
find_station_id_tool与“乌普萨拉” - 测试
get_travel_options_tool带有示例站ID
手动测试
配置后,您还可以通过Claude Desktop手动测试这些工具:
获取旅行选项:
What are the travel options from Uppsala to Stockholm?可用工具
MCP服务器为瑞典公共交通信息提供了两个主要工具:
find_station_id_tool
使用ResRobot位置API按城市或车站名称查找车站ID。
参数:
city_name(string,必填):要搜索的城市或车站的名称
输入示例:
{
"city_name": "Uppsala"
}输出示例:
Station ID of Uppsala is 740000005
Claude中的用法:
Find the station ID for "Stockholm"克劳德回应: 该工具将返回斯德哥尔摩的车站信息,包括带有ID的斯德哥尔摩中央车站 740000001.
______________________________________________________________________
get_travel_options_tool
使用车站ID获取两个城市之间的旅行信息。
参数:
start_city_id(string,必填):出发城市的车站IDend_city_id(string,必填):目的地城市的车站ID
输入示例:
{
"start_city_id": "740000005",
"end_city_id": "740000001"
}输出示例:
Travel options from 740000005 to 740000001:
1. Departure: 14:17 → Arrival: 14:55 (Duration: 38 minutes)
2. Departure: 14:47 → Arrival: 15:25 (Duration: 38 minutes)
3. Departure: 15:17 → Arrival: 15:55 (Duration: 38 minutes)Claude中的用法:
What are the travel options from Uppsala to Stockholm?克劳德回应: 助理将:
- 先用
find_station_id_tool查找乌普萨拉和斯德哥尔摩的车站ID - 然后使用
get_travel_options_tool使用找到的电台ID - 向您展示格式化的出发时间、到达时间和行程持续时间
公用站ID:
- 斯德哥尔摩中央车站:
740000001 - 乌普萨拉中央车站:
740000005 - 哥德堡中央火车站:
740000002 - 马尔默中央火车站:
740000003
