一、火车票查询遇上MCP

2025年的AI技术发展非常快,MCP必然是最火的一个AI的实践,前阵子百度地图、高德地图发布了地图类的MCP Server,那么需要衣食住行的人们来说,都可以集成MCP Server来改变传统的方式,其中火车票查询这一块也自然可以结合AI来实现,当火车票遇上模型上下文协议后,效果也是出奇的好。

我最近开发了一个基于TypeScript的Studio模式的火车票MCP  Server,代码不多,期间也学习了百度地图的MCP Server的开源项目源代码,受益匪浅。

百度地图的MCP Server项目代码:https://github.com/baidu-maps/mcp

对于开发火车票MCP Server来说,这不仅是一次新AI技术实践,更是对模型上下文协议(Model Context Protocol, MCP)在票务领域应用的创新探索。

火车票MCP Server,相当于重新定义了火车票查询,可以通过AI像聊天一样自然,传统火车票查询需要用户像填写表格一样选择日期、输入车站全称、指定精确时间。而用AI的MCP Server的能力支持,用自然语言表达真实需求就行了。

本文简单分享下这款火车票MCP Server,也期待那些做火车票的大厂们尽快发布更加稳定的火车票MCP Server。

目前代码已开源在Github上:https://github.com/wuchubuzai2018/tongchenglvxing-mcp-server,欢迎大家Star哦。

二、火车票MCP Server的介绍和使用

目前我开发的这个火车票MCP Server核心数据接口来自于同程旅行网,网址如下:

https://www.ly.com/mergeTrain/huochepiao,同程旅行网的火车票的页面如下:

我们可以通过自然语言与AI对话,告诉AI我们的出发城市、到达城市、出发日期,从而返回来火车票数据。我开发的这个MCP Server是基于Studio模式的,基于本地命令输入输出的方式,也就说每个人运行时,需要在本地安装好支持MCP Server的软件后,访问本地的命令的方式运行,流程图如下:

那如果不知道MCP是什么,可以先来看下之前的文章:

当AI学会"抄近道":大模型自主决策的核心技能--工具调用解析

使用SpringAI1.0.0-M7开发猫眼电影MCP Server体验

之前的文章中已经分享过MCP,MCP全称Model Context Protocol,是由Anthropic提出的一种开放标准协议,旨在为大型语言模型(LLM)提供统一的方式,与外部的数据源和工具进行交互。它就像是AI的“通用接口”,让AI可以轻松地访问和操作各种资源。资源可是是数据库、可以是文件、可以是网络接口等等。

我们看看我这个MCP如何使用,由于目前我这个MCP Server是基于studio模式的,所以需要提前具备好nodejs环境,然后我们安装一下支持MCP Server配置的客户端,这里我用的Cherry Studio这个客户端,同时我选择的AI大模型是qwen3.0大模型,14b的版本,其他支持工具调用的模型也是可以的。

我们启动下Cherry Studio软件,然后找到MCP的设置,页面设置如下,命令这里最好写上NPX的绝对路径:

如果是其他客户端,可以直接配置MCP Server的配置文件如下内容:

{
  "mcpServers": {
    "tongchenglvxing-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@wuchubuzai/tongchenglvxing-mcp-server"
      ]
    }
  }
}

目前我这个MCP Server提供了2个工具:

查询火车票车次列表工具:query_train_tickets_list

  • 火车票车次列表查询功能,它可以帮助用户获取指定城市/车站的火车票信息,数据来源于同程旅行网火车票查询,根据用户提供的出发站出发城市、到达站到达城市、出发日期进行查询结果,返回出发站信息和到达站信息和座位票价信息

  • Input:

    • depStationName

       (string): 出发火车站名称或者出发城市名称。

    • arrStationName

       (string): 目的地火车站名称或者到城市名称。

    • depDate

       (string): 出发日期,格式为yyyy-MM-dd。

查询当前系统时间工具

这样配置完成后,就可以使用了。

 三、火车票MCP Server的使用

接下来我们就可以基于阿里最新开源的QWEN3的14B系列的大模型(支持工具调用的大模型都可以,不限制于QWEN3),我之所以选择QWEN3,是因为它可以同时支持思维链的输出和工具调用,这样我们通过思考链的输出,结合工具调用质量是非常棒的。

最新版本Qwen3有以下特点:

  • 全尺寸稠密与混合专家模型:0.6B, 1.7B, 4B, 8B, 14B, 32B and 30B-A3B, 235B-A22B

  • 支持在思考模式(用于复杂逻辑推理、数学和编码)和 非思考模式 (用于高效通用对话)之间无缝切换,确保在各种场景下的最佳性能。

在Cherry Studio的对话界面中,需要选择好我们设置的这个工具后再对话哦。

然后我们它第一个问题:

使用火车票查询功能,查询系2025年5月3日从哈尔滨到漠河的火车票信息

回答如下:

它先通过思维链输出了思考的过程和工具调用的结果,最后帮助我们总结了如下内容:

可以看到现在通过AI大模型的能力结合火车票的MCP Server,再结合QWEN3的大模型的能力,效果是非常棒的。Qwen3支持动态调整思考模式和非思考模式,我们可以在聊天过程中加入/think指令和/no_think指令进行调整,感兴趣的小伙伴可以尝试一下。

目前,我做的这个MCP Server工具可以返回如下同程旅行网的火车票的查询结果,可以看到都是些常用的字段:

{
        用户查询出发站:xxxxxx,
        用户查询到达站:xxxxx,
        车次列表: [
          是否当日到达:"是",
          出发火车站是否是经停站:"是经停站",
          出发火车站是否是始发站:"是始发站",
          车次号: xxxxx,
          出发车站名称:xxxxx    ,
          出发日期: xxxx        ,
          出发时间: xxxx,
          到达车站名称: xxxx    ,
          到达日期: xxxx    ,
          到达时间: xxxx,

          历时小时分钟: xxxxx,
          座位类型: [
            类型: xxxxx,
            价格: xxxx,
            余票:xxxx
         ]
     ]
}

如果有其他需要,未来也可以加上哦。

四、总结

本文简单分享了火车票MCP Server的基础知识,后续分享下具体的开发设计和实现过程。

这个代码在学习过程中也参考了百度地图的MCP Server的源码设计,可以非常方便的快速入门和学习,感兴趣的小伙伴,可以尝试下使用百度地图的MCP Server和火车票MCP Server集成起来一起搞个业务效果,也是不错的。

目前这个基于同程旅行网的火车票的MCP Server的开源项目地址为:

https://github.com/wuchubuzai2018/tongchenglvxing-mcp-server

感兴趣的小伙伴,可以给这个项目Star哦,更多内容学习,可以加入到我的知识星球哦:https://wx.zsxq.com/group/48885445885128

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐