这是一个兼容MCP的服务器,可提供全欧洲的实时公共交通数据。借助该服务器,用户能够轻松获取欧洲各地的公共交通信息,极大提升出行规划的便利性。
设置以下环境变量:
UK_TRANSPORT_APP_ID=your_uk_app_id
UK_TRANSPORT_API_KEY=your_uk_api_key
添加到 claude_desktop_config.json 文件:
{
"mcpServers": {
"mcp-server-public-transport": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/mcp-server-public-transport",
"run",
"server.py"
],
"env": {
"UK_TRANSPORT_APP_ID": "your-uk-app-id",
"UK_TRANSPORT_API_KEY": "your-uk-api-key"
}
}
}
}
请将 /ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-server-public-transport 替换为你克隆仓库的实际路径。
⚠️ 重要提示
你可能需要在
command字段中填写uv可执行文件的完整路径。在MacOS/Linux系统中可通过运行which uv获取,在Windows系统中可通过运行where uv获取。
mcp-server-public-transport 是一个兼容 模型上下文协议(MCP) 的本地服务器,可让你访问全欧洲的公共交通数据。目前,它集成了英国、瑞士和比利时的API,你可以通过它检索火车车次、实时出发信息和公交车位置。
| 国家 | API基础URL | 状态 |
|---|---|---|
| 英国 | https://transportapi.com | ✅ |
| 瑞士 | https://transport.opendata.ch | ✅ |
| 比利时 | https://api.irail.be | ✅ |
| 功能 | API路径 | 状态 |
|---|---|---|
| 英国 | ||
| 实时出发信息 | /uk/train/station_timetables/{station_code}.json |
✅ |
| 瑞士 | ||
| 搜索车次 | /connections |
✅ |
| 车站查询 | /locations |
✅ |
| 出发信息板 | /stationboard |
✅ |
| 附近车站 | /locations?x={lon}&y={lat} |
✅ |
| 比利时 | ||
| 实时出发信息 | /departures |
✅ |
| 车站查询 | /stations |
✅ |
| 附近车站 | /stations/nearby |
✅ |
git clone https://github.com/mirodn/mcp-server-public-transport.git
cd mcp-server-public-transport
uv sync
cp .env.example .env
uv run server.py
项目使用 pytest 进行测试,可使用以下命令:
# 运行所有测试
make test
# 运行代码检查
make lint
# 运行代码格式化
make format
项目包含一个GitHub Actions工作流(.github/workflows/test.yml),它会自动执行以下操作:
ruff 执行代码检查main 分支或发起拉取请求时运行CI管道可确保在合并任何更改之前,代码质量和兼容性都能满足要求。
欢迎贡献代码!请随时提交拉取请求。当 pyproject.toml 中的 project.version 更新时,该包会自动部署到PyPI。请遵循语义化版本控制规范进行版本管理。
MIT许可证