Navitia MCP服务器
一种模型上下文协议(MCP)服务器,通过Navitia API为人工智能代理提供实时交通信息访问。
特性
此MCP服务器公开了以下工具:
行程规划
- find_journey:使用实时数据查找两个地点之间的交通路线
交通信息
- 查找位置:搜索公交车站、地址和兴趣点
- 查找查找位置:查找某个地点附近的交通选项
- 获取_公寓:从车站获取实时出发信息
- 获取到达信息:在车站获取实时到达信息
服务信息
- get_平均值:获取可用区域/覆盖范围列表
- get_line_reports:检查公交线路的服务状态和中断情况
- get_traffic_reports:获取一个地区的交通报告和中断情况
先决条件
- Python>=3.13
- 来自的Navitia API令牌 我在导航。
安装
pip install -e .配置
将Navitia API令牌设置为环境变量:
export NAVITIA_API_TOKEN="your_token_here"用法
运行服务器
python server.py或者使用MCP CLI:
mcp run server.py与Claude Desktop一起使用
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"navitia": {
"command": "python",
"args": ["/path/to/navitia-mcp-server/server.py"],
"env": {
"NAVITIA_API_TOKEN": "your_token_here"
}
}
}
}查询示例
连接后,您可以问Claude:
- “明天早上9点给我找一条从里昂火车站到戴高乐机场的路线”
- “下一班从沙特尔站出发的航班是什么?”
- “巴黎的1号线有中断吗?”
- “查找埃菲尔铁塔附近的公交车站”
- “Navitia API覆盖了哪些地区?”
工具参考
find_journey
查找两个地点之间的中转行程。
参数:
from_location(str,必填):起点(站点ID、地址或坐标)to_location(str,必填):目的地(站点ID、地址或坐标)datetime(str,可选):ISO格式的出发/到达日期时间datetime_represents(str,可选):“出发”或“到达”(默认为“出发”)region_id(str,可选):要搜索的特定区域count(int,可选):返回的行程数(默认值:5)
退货: 行程选项列表,包括航段、持续时间和交通信息
查找位置
搜索地点(站点、地址、POI)。
参数:
query(str,必填):搜索查询region_id(str,必填):将搜索限制在特定区域type(list\[str\],可选):要搜索的类型:“stop_area”、“address”、“poi”等。
退货: 带详细信息的匹配地点列表
查找查找位置
查找某个位置附近的交通选项。
参数:
location(str,必填):位置(站点ID、地址或坐标)region_id(str,必填):要搜索的区域distance(int,可选):搜索半径,单位为米(默认值:500)type(list\[str\],可选):要查找的类型(默认值:\[“stop_area”,“stop_point”\])
退货: 附近有距离的地方
获取_公寓
从车站获取即将出发的航班。
参数:
stop_id(str,必填):停车区域或停车点IDregion_id(str,必填):区域IDfrom_datetime(str,可选):开始出发日期时间duration(int,可选):时间窗口(秒)(默认值:3600)
退货: 即将出发的实时信息列表
获取到达信息
让即将到来的客人在一站下车。
参数:
stop_id(str,必填):停车区域或停车点IDregion_id(str,必填):区域IDfrom_datetime(str,可选):开始到达日期时间duration(int,可选):时间窗口(秒)(默认值:3600)
退货: 即将到来的实时信息列表
get_平均值
获取API覆盖的区域列表。
退货: 可用区域及其ID和地理覆盖范围列表
get_line_reports
获取公交线路的服务状态。
参数:
region_id(str,必填):区域IDresource_path(str,可选):特定线路的路径(例如,“线路/线路:RAT:M1”)
退货: 线路状态和中断信息
get_traffic_reports
获取交通报告和中断情况。
参数:
region_id(str,必填):区域ID
退货: 当前交通报告和服务中断
发展
运行测试
pytest项目结构
navitia-mcp-server/
├── server.py # Main MCP server implementation
├── pyproject.toml # Project configuration
├── tools/ # MCP tools
└── tests/ # Test suite
└── test_server.py许可证
MIT许可证-与python navitia客户端相同
