Token导航 LogoToken导航TokenDH.com
Chattender Fahrplan MCP logo
运维云端未说明官方级别未说明来源级核验

Chattender Fahrplan MCP

MCP Server

一个与Spring AI/MCP兼容的服务器,为语言模型提供瑞士铁路时刻表信息,支持自带LLM场景的交互。

工具数

6

提示词数

0

GitHub Stars

8

资源数

0
JavaClaude云端部署Claude

安装说明

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

作者 / 组织

thpeng

提供方

thpeng

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

🚆 聊天时刻表 – 瑞士时刻表MCP服务器

A. Spring AI/MCP兼容服务器 这提供了 SBB时刻表信息 语言模型。\ 启用 *带上你自己的法学硕士* 与SBB时间表交互的场景。\ 这是一个 实验研究项目 随着 无担保 关于准确性、完整性或运行时行为。

灵感来自SBB 1996年的“Sprechender Fahrplan”

______________________________________________________________________

概述

该存储库使用五个LLM工具扩展了与MCP兼容的Spring Boot服务器,用于瑞士铁路行程规划。

这些工具允许大型语言模型直接查询SBB Journey API,根据用户意图和时间上下文选择正确的函数。

工具

  • 下一个旅程 –返回两个车站之间下一个可用连接的自然语言描述(用于“现在”、“下一班火车”、“很快”)。
  • 计划行程 –返回特定ISO日期时间(用于“今天14:35”、“明天07:10”)后的下一个可用连接。
  • list旅程 –以JSON格式返回今天即将到来的几个连接(用于“显示选项”)。
  • 列表和计划行程 –以JSON格式返回从给定日期时间开始的多个连接(用于“16:00后显示列车”)。
  • 原始 –从SBB Journey Service返回未处理的JSON响应(用于调试或分析)。\

*注意:由于JSON有效载荷较大,这种方法通常会淹没上下文窗口有限的较小语言模型。*

附加辅助工具 数据 以ISO格式提供今天的日期以进行日期解析。

______________________________________________________________________

存储库中的组件

  • 基础设施 –基础设施和安全组件
  • 旅行服务 –与SBB旅行服务集成
  • 映射 –从旅程服务数据映射到LLM可消化的数据类型
  • 时间表工具 –公开MCP工具
  • 最小Jinja模板 –用于LM Studio与Apertus的集成
  • MCP代码段示例 –显示如何将本地MCP服务器与LM Studio连接

______________________________________________________________________

与LLM集成

MCP服务器可以连接到各种LLM运行时和前端。\ 以下是测试集成的概述:

接口LLM供应商LLM型号MCP运行时文本语音输入语音输出
LM工作室谷歌Gemma-3 270米本地
LM工作室谷歌Gemma-3 1b本地
LM工作室谷歌Gemma-3 4b本地
LM工作室瑞士AIApertus 8B本地
LM工作室阿里云Qwen3 8B本地
LM工作室OpenAIOSS GPT 20B本地
Le Chat西北风AI西北风123BGCP
克劳德人类学克劳德十四行诗4.5GCP
ChatGPTOpenAIGPT-5GCP

传说:

✅ = 验证工作 ❌ = 不支持/不起作用

结果

以下用例和好处已经过测试:

  • 与起点和终点的下一个连接
  • 计划连接
  • 多项选择
  • (多次)中途停留的旅程
  • 行程规划
  • 多语言支持

以下是与各种MCP主机和型号集成的运行原型的一些截图

![](results/claude_eng.png)

与Claude web集成,显示请求和响应

![](results/gemma3-4b.png)

与LMStudio和谷歌的gemma3-4b集成。这是可以与MCP服务器成功集成的最小模型。

![](results/chatgpt_ger.png)

与ChatGPT集成。出于安全原因,需要开发人员模式。

![](results/lechat_details.png)

非常好的语音转文本模型(瑞士电台名称很重要!)。

挑战

必须克服以下挑战:

  • 保持指令的令牌大小尽可能小,以便将其与较小的模型集成
  • 创建数据格式和结构,使令牌大小有限的较小模型能够与mcp服务器协同工作,同时仍能从较大的云模型中受益
  • 防止服务器响应语言引起的语言切换
  • 日期和时间计算:测试的MCP主机/LLM在日期/时间方面没有相同的行为。有时日期是存在的,确切的时间几乎从来没有。
  • 安全/隔离

______________________________________________________________________

运行时

MCP服务器运行在:

  • 本地 需要Java 21;定义

- JOURNEY_SERVICE_BASE - MCP_API_KEY - JOURNEY_SERVICE_CLIENT_ID - JOURNEY_SERVICE_CLIENT_SECRET

  • 谷歌云平台 –可在Cloud Run上部署(请参阅 cloudbuild.yamlproject.toml);配置为苏黎世。\

定义与上述相同的环境变量。\ 云部署需要与公开可用的模型(例如Mistral)进行交互。

______________________________________________________________________

局限性

  • Apertus模型 集成失败的主要原因是缺少工具支持。
  • 旅程服务集成 目前无法处理所有边缘情况。缺乏情况,选择第一站比赛,如果火车晚点,沟通不畅。
  • 双子座 不支持,因为MCP功能仅在cli/sdk中可用。
  • 认证 没有完成干净的OAuth集成。仅限MCP规范不支持的API-keys

______________________________________________________________________

未来工作

CAS论文阶段的GCP部署已经退役。开发继续进行类似的整合。 这次不是使用SBB API,而是使用来自https://opentransportdata.swiss/. 这https://github.com/thpeng/unendliche-reise-mcp专注于更好的用户体验(如启发)和改进的安全性 与配套材料一起显示的漏洞https://github.com/thpeng/lokis-mcp.

致谢

  • 瑞士AI –对于Apertus模型(由于缺少MCP/工具支持以及声称“Totemügerli”是瓦莱州的一个高峰,因此有点令人失望;)
  • DSO-KIS –提供旅行服务通道
  • @blancsw –Jinja模板基础(见 拥抱脸讨论)
  • ChatGPT –用于氛围编码会议

______________________________________________________________________

目录标签

目录标签

JavaClaude云端部署铁路时刻表本地部署语言模型集成MCP服务器SpringBoot瑞士铁路

支持客户端

Claude

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP