本指南详细介绍了如何使用基于 Navitia 的 SNCF 公共交通 API 构建和配置一个 MCP(多式联运协调平台)服务器。MCP 服务器可协调多种运输方式的整合,助力用户规划复杂的旅行路线。
本指南将引导你完成基于 Navitia 的 SNCF 公共交通 API 的 MCP 服务器的构建与配置,以实现多种运输方式的协调整合。
pip install navitia-python
train_stations_europe.csv。NAVITIA_APP_ID = 'your_app_id'
NAVITIA_APP_KEY = 'your_app_key'
python init_db.py
# 基于 API 的站点查找
stations = find_stations_by_city('Paris')
# 硬编码坐标查询
from hardcoded_coordinates import get_major_cities_coords
coords = get_major_cities_coords('Paris') # (48.853, 2.348)
# 基本线路规划
response = plan_journey('Paris', 'Marseille')
print(response.journeys) # 输出行程详情
# 实时列车时刻表
schedule = get_train_schedule('Gare de Lyon', 'Paris')
print(schedule.upcoming_trains)
# 历史数据检索
historical_data = fetch_historical_schedule('Bordeaux', '2023-10-26T00:00/2023-10-27T23:59')
# 实时扰乱检测
disruptions = check_disruptions('Paris', 'Lyon')
for disruption in disruptions:
print(disruption.impact, disruption.description)
# 历史扰乱分析
historical_disruptions = get_historical_disruptions('Marseille', '2023-10-25T00:00/2023-10-27T23:59')
# 支持多目的地和时间窗口
response = plan_complex_journey(['Marseille', 'Nice'], '2023-10-27T14:00')
系统内置了法国主要城市的地理坐标,确保在网络分区时仍能可靠运行:
get_station_details 工具可以分析和分类站点可用的运输类型:
站点详细信息工具可以查找站点附近的兴趣点:
本项目遵循 MIT 许可证,具体条款请参考 LICENSE 文件。
如有任何问题或建议,请联系:
⚠️ 重要提示
本指南中的代码示例和配置细节仅供参考,实际使用中请根据具体需求调整。