Token导航 LogoToken导航TokenDH.com
SNCF API MCP Server logo
搜索检索stdio官方级别未说明来源级核验

SNCF API MCP Server

MCP Server

This project provides a modular Python wrapper for the SNCF API, with an MCP server interface that integrates seamlessly with Claude Desktop for intelligent journey planning and train information retrieval across France.

工具数

0

提示词数

0

GitHub Stars

15

资源数

0
PythonClaude搜索Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Kryzo

提供方

Kryzo

最后核验

2026/5/18 04:03

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

SNCF API MCP服务器

该项目为SNCF API提供了一个模块化Python包装器,带有MCP服务器接口,与Claude Desktop无缝集成,用于法国各地的智能行程规划和列车信息检索。

目录

- 设置Claude桌面 - 环境变量

- 行程规划 - 车站信息 - 中断监控

概述

法国国营铁路公司MCP服务器为法国国家铁路公司(SNCF)API服务提供全面的接口,使您能够:

  • 计划法国城市之间的火车旅行
  • 获取火车站的详细信息
  • 查看出发和到达时间表
  • 监控服务中断
  • 查找附近的地点和交通方式

结构组织如下:

  • sncf_api/ -SNCF API交互的主包

- __init__.py -包初始化 - config.py -配置设置 - client.py -API基础客户端 - api.py -组合所有模块的API主接口 - search.py -搜索相关端点 - journey.py -行程规划终点 - stations.py -车站相关端点 - networks.py -网络和传输模式端点 - disruptions.py -中断相关终点 - station_finder.py -通过坐标高效查找站点 - csv_station_finder.py -使用CSV数据库查找车站 - vehicle_journey.py -详细的列车行程信息

  • sncf_server.py -具有所有工具端点的MCP服务器实现
  • train_stations_europe.csv -欧洲火车站坐标数据库

特性

  • 智能行程规划:通过自动选站计划法国任何城市之间的旅行
  • 综合车站详细信息:获取有关车站的详细信息,包括:

- 可用的交通方式(火车、公共汽车、有轨电车) - 附近景点 - 坐标和可访问性信息

  • 实时时间表:获取最新的出发和到达信息
  • 中断监控:随时了解服务中断情况
  • 智能车站查找:按城市名称、车站名称或坐标定位车站
  • 回退机制:即使API搜索失败,主要城市的硬编码坐标也能确保可靠性
  • 详细日志记录:用于调试和监控的全面日志记录

安装

先决条件

  • Python 3.6+
  • pip(Python包管理器)

步骤1:克隆存储库

git clone https://github.com/yourusername/sncf-mcp-new.git
cd sncf-mcp-new

步骤2:安装依赖项

pip install -r requirements.txt

如果缺少requirements.txt文件,请安装以下软件包: 请求: 主控程序

pip install requests pandas mcp

获取API密钥

在使用此服务器之前,您需要从SNCF获取API密钥:

  1. 访问 法国国营铁路公司API门户网站
  2. 创建帐户或登录
  3. 订阅“Navitia”API服务
  4. 完成注册流程
  5. 一旦获得批准,您将在帐户仪表板中收到您的API密钥

API密钥看起来像UUID字符串(例如。, 01293485-3NS3-3242-23AZ-3241324512).

配置

设置Claude桌面

要将SNCF MCP工具与Claude Desktop集成,请执行以下操作:

  1. 安装克劳德桌面 如果你还没有
  2. 打开Claude桌面配置:

- 导航到克劳德桌面设置 - 打开配置文件(通常位于 %APPDATA%\Claude\claude_desktop_config.json)

{
 "sncf": {
  "command": "py",
  "args": [
    "c:\\Users\\ChristianELHAJJ\\sncf-mcp-new\\sncf_server.py",
    "--api-key={YOUR-API-KEY}"
  ],
  "cwd": "c:\\Users\\ChristianELHAJJ\\sncf-mcp-new"
},

替换 path/to/sncf-mcp-new 带有安装目录的实际路径。

  1. 保存配置文件 并重新启动克劳德桌面

可用的MCP工具

配置后,Claude Desktop将可以使用以下工具:

行程规划

plan_journey_by_city_names

计划一次法国两座城市之间的旅行。

参数:

  • from_city:出发城市名称(例如“巴黎”)
  • to_city:目的地城市名称(例如“马赛”)
  • datetime:可选出发或到达时间(格式:YYYYMMDDTHHMMSS)
  • datetime_represents:“出发”或“到达”(默认为“出发”)
  • include_station_details:是否包括详细的车站信息

Claude的示例提示:

Plan a train journey from Paris to Lyon tomorrow morning at 8 AM.

车站信息

get_station_details

获取城市火车站的详细信息。

参数:

  • city_name:要搜索车站的城市名称
  • station_name:可选的特定电台名称
  • station_id:可选的直接站ID
  • include_transport_types:是否包括运输类型分析
  • include_nearby_places:是否包括附近地点信息
  • nearby_distance:以米为单位搜索附近地点的半径
  • nearby_count:附近可返回的最大数量

Claude的示例提示:

What transport options are available at the main train station in Grenoble?

get_station_schedule

获取车站的出发和到达时间表。

参数:

  • city_name:要搜索车站的城市名称
  • station_name:可选的特定电台名称
  • station_id:可选的直接站ID
  • count:返回的出发/到达次数
  • datetime:可选日期时间开始
  • duration:可选持续时间(秒)
  • data_freshness:数据新鲜度级别(实时或base_schedule)

Claude的示例提示:

Show me the next 5 train departures from Paris Gare de Lyon.

中断监控

check_disruptions

检查SNCF运输网络中的当前中断情况。

参数:

  • coverage:覆盖区域(默认值:“sncf”)
  • count:返回的最大中断次数
  • station_id:特定电台的可选过滤器
  • line_id:特定线路的可选过滤器
  • since:只有在此日期之后有效的中断
  • until:只有在此日期之前有效的中断
  • fetch_train_details:是否获取受影响列车的更多详细信息

Claude的示例提示:

Are there any current disruptions affecting trains to Marseille?

使用示例

规划旅程

你可以让克劳德计划在法国任何两个城市之间的旅行:

I need to travel from Paris to Nice next Friday at 2 PM. Can you find me a train?

克劳德将使用 plan_journey_by_city_names 工具用于:

  1. 查找这两个城市的主要车站
  2. 规划他们之间的最佳旅程
  3. 向您展示出发/到达时间、持续时间和转机详情

获取车站信息

要获取有关电台的详细信息,请执行以下操作:

What facilities and transport options are available at Gare de Lyon in Paris?

克劳德将使用 get_station_details 工具提供:

  1. 基本站信息(名称、ID、坐标)
  2. 可用的交通方式(火车、公共汽车、有轨电车)
  3. 附近景点

检查列车时刻表

要查看即将出发或到达的航班:

When are the next trains leaving from Bordeaux to Paris today?

克劳德将使用 get_station_schedule 工具显示:

  1. 即将从波尔多出发
  2. 目的地信息
  3. 平台详细信息(如有)
  4. 实时状态更新

监控中断

检查服务中断:

Are there any disruptions affecting the Paris to Lyon route today?

克劳德将使用 check_disruptions 工具用于:

  1. 查找相关中断
  2. 解释对服务的影响
  3. 提供有关受影响列车的更多详细信息

故障排除

常见问题

“未提供API密钥”

  • 确保您已将您的SNCF API密钥添加到Claude Desktop配置中
  • 检查MCP服务器配置中是否正确引用了环境变量

“找不到城市的车站”

  • 尝试使用更具体的城市名称
  • 对于较小的城市,尝试使用附近较大城市的名称
  • 该系统对法国主要城市的坐标进行了硬编码,应该可以可靠地工作

“无法连接到SNCF API”

  • 检查您的互联网连接
  • 验证您的API密钥是否有效且未过期
  • 法国国营铁路公司API可能正在经历停机;稍后再试

“初始化CSV站点查找器时出错”

  • 确保train_stations_europe.csv文件位于正确的位置
  • 检查文件权限以确保文件可读

高级功能

硬编码坐标

该系统包括法国主要城市的硬编码坐标,以确保即使在API搜索失败时的可靠性:

  • 巴黎(48.853,2.348)
  • 马赛(43.303,5.380)
  • 里昂(45.760,4.860)
  • 图卢兹(43.611,1.454)
  • 尼斯(43.704,7.262)
  • 南特(47.217,-1.542)
  • 斯特拉斯堡(48.585,7.735)
  • 波尔多(44.826,-0.556)
  • 里尔(50.638,3.072)
  • 雷恩(48.103,-1.672)
  • 格勒诺布尔(45.192,5.716)

运输类型分析

get_station_details 该工具可以分析和分类车站可用的运输类型:

  • 长途列车(TGV、城际列车)
  • 区域列车(TER)
  • 当地交通(公共汽车、有轨电车、地铁)
  • 其他服务(出租车、共享单车)

附近地点搜索

车站详细信息工具可以找到车站附近的兴趣点:

  • 其他交通站点
  • 公共设施
  • 兴趣点
  • 地址点

此功能对于计划从车站继续旅行的旅行者特别有用。

______________________________________________________________________

贡献

欢迎为改进SNCF MCP服务器做出贡献!请随时提交pull请求或打开bug和功能请求的问题。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

  • 提供API的SNCF
  • Navitia团队的综合公共交通API
  • Claude AI的智能集成能力

由克里斯蒂安·德莱奇创作(dr.christian.delage@gmail.com)

目录标签

目录标签

PythonClaude搜索research-and-datamcpsncfapijourney-planningtrain-information铁路服务本地部署行程规划交通API实时数据车站信息

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP