Token导航 LogoToken导航TokenDH.com
Tchoutchou MCP logo
地图位置stdio官方级别未说明来源级核验

Tchoutchou MCP

MCP Server

@modelcontextprotocol/inspector

一个ChatGPT应用,允许用户通过交互式视觉界面搜索法国的火车,包括地图、实时时刻表和路线比较。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude位置天气ClaudeCursor

安装说明

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

作者 / 组织

Shyzkanza

提供方

Shyzkanza

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector node dist/index.js

详细介绍

🚂 TchouTchou MCP-法国列车搜索ChatGPT

一个ChatGPT应用程序,允许您使用 交互式视觉界面 包括地图、实时时间表和路线比较。

![Deploy Status](https://github.com/Shyzkanza/tchoutchou-mcp/actions/workflows/deploy.yml) ](https://www.npmjs.com/package/@shyzus/tchoutchou-mcp) ](https://www.npmjs.com/package/@shyzus/tchoutchou-mcp) ![Website Status](https://tchoutchou-mcp.rankorr.red/health)

TypeScript MCP ChatGPT

______________________________________________________________________

⚠️ 免责声明

这个项目是独立的、非官方的。

  • 无关联 与SNCF、Keolis或Kisio Digital合作
  • 没有赞助 由这些组织
  • ✅ 用途 公共数据纳维蒂亚 API
  • ✅ 教育和实用目的项目

交通数据来自Navitia API,该API汇集了法国交通网络的开放数据。

🎯 这是怎么一回事?

此应用程序允许 ChatGPT 访问SNCF运输数据并在 交互式React界面 直接在谈话中。

✨ 特性

  • 🔍 车站搜索 -通过自动补全功能查找法国的任何车站
  • 📍 地址搜索 -将地址或地点转换为GPS坐标(提名)
  • 🗺️ 附近景点 -从GPS位置查找最近的交通站点
  • 🚄 实时时间表 -通过交互式界面实时了解下一次出发和到达情况
  • 🗺️ 路线计算 -连接完成旅程
  • 📊 视觉界面 -ChatGPT中集成的React组件:

- JourneyViewer:带自适应缩放的交互式地图,带标签的路线比较 - 离港旅客:带时刻表、延误、站台和路线图的出发表 - Arrivals查看器:到达表,包括出发地、时间表、延误和路线图 - 地址地图查看器:在交互式地图上显示一个点 - 所有地图的全屏模式 - 时间表、连接和中间站点的详细信息

💬 使用示例

在ChatGPT中,只需问:

“给我找一列明天早上8点左右从巴黎到里昂的火车。”

ChatGPT将:

  1. 搜索巴黎和里昂站
  2. 计算可用路线
  3. 显示交互式界面 带地图和时间表

______________________________________________________________________

🏗️ 架构:ChatGPT MCP应用程序

什么是ChatGPT应用程序?

ChatGPT应用程序 (通过 应用软件开发工具包)允许您通过以下方式扩展ChatGPT:

  • 自定义工具 (调用外部API)
  • 视觉界面 (对话中的React组件)
  • 实时数据 (最新信息)

它是如何工作的?

┌─────────────┐         ┌──────────────┐         ┌──────────────┐
│   ChatGPT   │ ◄─────► │  MCP Server  │ ◄─────► │  SNCF API    │
│             │  JSON   │  (Node.js)   │  HTTP   │  (Navitia)   │
│  + React UI │ ─────►  │  + React UI  │         │              │
└─────────────┘         └──────────────┘         └──────────────┘
  1. ChatGPT 通过呼叫您的MCP服务器 模型上下文协议
  2. MCP服务器 从SNCF API获取数据
  3. React接口 在ChatGPT中自动显示结果

MCP协议

MCP(模型上下文协议)是Anthropic创建的一个开放标准,允许LLM安全地访问外部数据和工具。它由以下人员使用:

  • ChatGPT(通过Apps SDK)
  • 克劳德桌面
  • 光标
  • 其他MCP客户端

______________________________________________________________________

🚀 快速开始

与光标/克劳德桌面/扭曲一起使用

最简单的方法 -安装连接到远程服务器的npm客户端:

{
  "mcpServers": {
    "tchoutchou": {
      "command": "npx",
      "args": ["-y", "@shyzus/tchoutchou-mcp"]
    }
  }
}

配置文件位置:

  • 光标: ~/.cursor/mcp.json (macOS/Linux)或 %APPDATA%\Cursor\mcp.json (Windows)
  • 克劳德桌面: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
  • 曲速:在扭曲AI设置中

______________________________________________________________________

与ChatGPT一起使用

生产服务器已经可用并准备就绪!

服务器URL: https://tchoutchou-mcp.rankorr.red/mcp

ChatGPT配置

  1. 拥有一个订阅的ChatGPT帐户 (ChatGPT Plus、团队或企业)
  2. 在浏览器中打开ChatGPT → Go to 设置 (⚙️)
  3. 转到“应用程序和连接器”
  4. 启用开发者模式:

- 在 “高级设置”,启用 开发者模式 - 回去

  1. 创建新应用程序:

- 这 “创建” 按钮现在出现在右上角 - 点击它 - 填写表格: - 名字“TchouTchou SNCF”(或其他名称) - 图像:添加图标/图像(可选) - 服务器URL: https://tchoutchou-mcp.rankorr.red/mcp - 认证:选择 “无” - 点击 “创建”

  1. 应用程序现在可用 在ChatGPT中,当您要求ChatGPT使用它时,它将自动激活

测试一下!

在ChatGPT中提问:

“给我找一列明天早上从巴黎到里昂的火车”

或者直接测试:

“使用TchouTchou SNCF查找从蒙彼利埃圣罗克出发的下一班航班”

交互式界面应该出现! 🎉

对于开发人员-本地安装

# 1. Clone the project
git clone https://github.com/Shyzkanza/tchoutchou-mcp.git
cd tchoutchou-mcp

# 2. Install dependencies
npm install
cd web && npm install && cd ..

# 3. Build
npm run build

# 4. Use locally
npx @modelcontextprotocol/inspector node dist/index.js

______________________________________________________________________

📱 部署和开发

🔒 CI/CD机密配置: 要使用GitHub Actions和Portainer自动部署到VPS,请参阅 SECRETS.md 用于GitHub secrets配置。
💡 在ChatGPT中使用该应用程序,请参阅 🚀 快速开始 以上部分为完整说明。

选项1:使用ngrok进行本地测试(用于开发)

1.启动HTTP服务器

npm run start:http

服务器启动于 http://localhost:3000

2.与ngrok接触

在一个 新终端:

# Install ngrok if necessary
brew install ngrok  # macOS
# or download from https://ngrok.com/download

# Expose port 3000
ngrok http 3000

你会得到一个公共URL,比如:

https://abc123.ngrok-free.dev

重要:请注意完整的URL /mcp 最后: https://abc123.ngrok-free.dev/mcp

3.在ChatGPT中配置应用程序

按照中的配置说明进行操作 🚀 快速开始 部分,使用您的ngrok URL(https://your-url.ngrok-free.dev/mcp)而不是生产URL。

______________________________________________________________________

选项2:部署自己的服务器(适用于开发人员)

备注:如果您只想使用该应用程序,请参阅 🚀 快速开始 使用已经可用的生产服务器的部分。

该项目包括一个GitHub Actions工作流,可以自动部署到带有Docker和Portainer的VPS。

使用GitHub操作进行VPS部署

  1. 配置GitHub机密 根据 SECRETS.md
  2. 推到 main 分支
  3. GitHub操作将自动:

- ✅ 测试TypeScript代码 - ✅ 发布到npm(@shyzus/tchoutchou-mcp) - ✅ 通过Portainer部署到您的VPS - ✅ 检查健康状况

益处:

  • 每次推送时自动部署
  • 免费SSL与Traefik+让我们加密
  • 综合健康监测
  • 集中式日志

其他云平台

您还可以部署在:

  • 铁路 -从GitHub自动部署
  • 渲染 -使用免费SSL的托管服务
  • Fly.io -具有全球部署的边缘计算
  • 谷歌云运行 -无服务器,自动扩展

请参阅 Apps SDK部署指南 了解更多详情。

在ChatGPT中配置您的服务器

部署后:

  1. 注意您的服务器URL: https://your-domain.com/mcp
  2. 按照中的说明进行操作 🚀 快速开始

______________________________________________________________________

🧪 本地测试(不含ChatGPT)

使用Cursor(您正在使用的IDE)

MCP服务器已在Cursor中工作!问我一个关于火车的问题,我会用服务器。

使用克劳德桌面

  1. 安装 克劳德桌面
  1. 在中配置 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
  "mcpServers": {
    "tchoutchou-mcp": {
      "command": "node",
      "args": [
        "/absolute/path/to/tchoutchou-mcp/dist/index.js"
      ]
    }
  }
}
  1. 重新启动克劳德桌面
  2. MCP图标🔌 出现在左下角

与MCP检查员一起

npx @modelcontextprotocol/inspector node dist/index.js

打开web界面以测试所有工具。

______________________________________________________________________

📂 项目结构

tchoutchou-mcp/
├── src/                          # MCP server code
│   ├── index.ts                  # MCP server (stdio for Cursor/Claude)
│   ├── http-server.ts            # HTTP server (for ChatGPT)
│   ├── types.ts                  # TypeScript types
│   ├── client/
│   │   └── sncfApiClient.ts     # SNCF Navitia API client
│   └── tools/
│       ├── searchStations.ts    # 🔍 Station search
│       ├── searchAddress.ts     # 📍 Address search (Nominatim)
│       ├── placesNearby.ts     # 🗺️ Nearby points of interest (GPS)
│       ├── departures.ts        # 🚄 Departure times (+ UI)
│       ├── arrivals.ts          # 🚄 Arrival times (+ UI)
│       ├── journeys.ts          # 🗺️ Route calculation (+ UI)
│       └── addressMap.ts        # 🗺️ Address map display (+ UI)
│
├── web/                          # React interface for ChatGPT
│   ├── src/
│   │   ├── component.tsx        # Entry point with routing
│   │   ├── JourneyViewer.tsx   # Journey component
│   │   ├── DeparturesViewer.tsx # Departures component
│   │   ├── ArrivalsViewer.tsx  # Arrivals component
│   │   ├── AddressMapViewer.tsx # Address map component
│   │   ├── MapView.tsx          # Leaflet interactive map
│   │   ├── hooks.ts             # window.openai hooks
│   │   ├── types.ts             # React types
│   │   └── utils.ts             # Date/duration formatting
│   └── dist/
│       └── component.js         # Bundle (generated)
│
├── dist/                         # Compiled code (generated)
├── package.json                  # Server dependencies
├── tsconfig.json                 # TypeScript config
└── README.md                     # This file

______________________________________________________________________

🛠️ 可用命令

# Development
npm run dev              # Dev mode with hot-reload (stdio)
npm run dev:http         # Dev mode HTTP server

# Production
npm run build            # Compile server + UI
npm run build:ui         # Compile UI only
npm run start            # Start stdio server
npm run start:http       # Start HTTP server (port 3000)

______________________________________________________________________

🔧 高级配置

环境变量

创建一个 .env 文件:

PORT=3000                          # HTTP server port
SERVER_URL=https://your-app.com    # Public URL (optional)

定制SNCF API

SNCF API(Navitia)是公开的,但您可以获得更多请求的密钥:

  1. 在上创建帐户 我很高兴。
  2. 获取您的API代币
  3. 修改 src/client/sncfApiClient.ts:
const SNCF_API_TOKEN = 'your-token-here';

添加其他交通网络

Navitia API支持所有法国运输:

  • coverage/fr-idf -法兰西岛(地铁、RER、巴士)
  • coverage/fr-sw -西南
  • 等等

在中添加新工具 src/tools/!

______________________________________________________________________

🎨 自定义界面

修改React UI

主要文件:

  • web/src/component.tsx -带条件路由的入口点
  • web/src/JourneyViewer.tsx -旅程界面
  • web/src/DeparturesViewer.tsx -出发界面
  • web/src/ArrivalsViewer.tsx -到达界面
  • web/src/AddressMapViewer.tsx -地址映射界面
  • web/src/MapView.tsx -可重复使用的传单地图组件
  • web/src/utils.ts -日期/持续时间格式

修改后:

npm run build:ui  # Recompile the UI
# Restart the server

主题与风格

该界面使用内联CSS以实现兼容性。要添加全局样式,请在中修改HTML src/http-server.ts:

const html = `

  
    /* Your global styles */
  

...`;

添加功能

可能添加的示例:

  • 💰 价格显示
  • ⭐ 最喜欢的电台
  • 🔔 延迟警报
  • 📅 节省行程
  • 🎫 预订链接

______________________________________________________________________

📚 资源和文件

正式文件

社区

______________________________________________________________________

🐛 调试与故障排除

服务器无法启动

# Check that Node.js is installed
node --version  # Must be 18+

# Check that dependencies are installed
npm install
cd web && npm install && cd ..

# Full rebuild
npm run build

用户界面在ChatGPT中不显示

  1. 检查ngrok日志 -查看ChatGPT是否正在发出请求
  2. 检查服务器 - http://localhost:3000/health 必须回应
  3. 刷新连接器 在ChatGPT中(设置→ Apps → 刷新)
  4. 检查CSP -允许的域 src/http-server.ts

CORS错误

服务器允许开发中的所有源。在生产中,限制 src/http-server.ts:

res.setHeader('Access-Control-Allow-Origin', 'https://chatgpt.com');

日志

服务器日志显示在终端中。更多详情:

console.log('MCP Request:', jsonRpcRequest.method);

______________________________________________________________________

🚀 将此项目用作模板

这个项目是 完整模板 用于使用React界面创建自己的ChatGPT应用程序。

要创建自己的应用程序:

  1. 复制此项目
  2. 更换法国国营铁路公司API 使用API
  3. 修改工具src/tools/
  4. 自定义React UIweb/src/
  5. 部署!

可能的应用程序示例

  • 🎬 电影院 -使用影院地图搜索电影和放映时间
  • 🍽️ 餐厅 -带菜单和照片的预订
  • 🏨 酒店 -图库搜索和可用性
  • 📦 交付 -实时地图包裹跟踪
  • 📰 新闻 -集成阅读器的文章
  • 🎵 音乐 -ChatGPT中的音频播放器
  • 📊 分析 -图表和仪表板

可能性是无限的! 🚀

______________________________________________________________________

📝 许可证

麻省理工学院-免费用于您的个人或商业项目。

______________________________________________________________________

🙏 学分和归属

数据和许可证

运输数据来自Navitia API,该API汇总了:

  • SNCF 数据(TGV,Intercété,TER)
  • 区域交通数据
  • 理论和实时时间表

这些数据是由交通运营商作为开放数据倡议的一部分提供的。

______________________________________________________________________

📞 支持

如有任何疑问:

  • 📖 检查 Apps SDK文档
  • 💬 在GitHub上打开一个问题
  • 📧 联系团队

______________________________________________________________________

使用您的ChatGPT应用程序,祝您旅途愉快! 🚂✨

目录标签

目录标签

TypeScriptClaude位置天气火车搜索本地部署实时时刻表路线规划交互式地图法国交通

支持客户端

ClaudeCursor

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP