26-07-04 15:10 微博认证:知群 CEO 微博新知博主

查一趟火车票,有时候比坐车还累。

你先得想清楚出发是北京南还是北京西,到的那个城市又冒出来好几个站;再挑日期,筛掉普速只看高铁,一趟趟翻余票;碰上没有直达的,还得自己琢磨从哪儿中转、两程怎么接得上。这套活儿说复杂也不复杂,就是烦、就是费神。尤其到了春运,或者临时要出差那几天,车次多、票又紧,翻起来更让人头大。

最近看到一个开源项目,干脆把这套烦事交给了 AI。你直接一句话问它「后天北京到上海还有高铁票吗」,它就把符合的车次、发车到站时间、还剩多少票、多少钱,一条条列出来给你看。

它叫12306-mcp。名字里的 mcp 是 Model Context Protocol(模型上下文协议),就是给 AI 大模型接外部工具用的一种标准接口。你可以把它想成给 AI 装了个「标准插头」——插上对应的插件,AI 就多长出一只手,能伸到外面去干原本干不了的活。这类插件现在越来越多,有的让 AI 去查地图、查天气,有的让它连上数据库;而这一个,是让 AI 那只手能伸进12306里查票。买火车票是全国人都摊得上的事,把插头插在这儿,用得上的人就多。

我看下来,真正干活的主要是三件事。

第一件,也是最常用的,查余票。你把出发地、目的地、哪天告诉它,它返回的是实打实的车次:几点开、几点到、跑多久,商务座还剩几张、一等座几张、二等座几张,各自多少钱,清清楚楚排成一屏。你要是只想坐高铁,跟它说一声,它就把普速车都筛掉。各席别的余票和票价一次摆齐,二等座没了、一等座还剩三两张的时候,是加点钱走还是换一趟,你当场就能拿主意。

第二件,中转换乘。有些线路没有直达,比如深圳到拉萨,硬要一趟车坐到底不现实。你可以让它查中转方案,还能指定「我想在西安中转」,它就把第一程、第二程给你拼出来,哪趟接哪趟、各自什么时间,一起摆在你面前。自己在12306上拼过中转的人,大概都体会过那个来回折腾吧(我是宁可绕点远也不太爱拼的那种)。

第三件,查经停站。你想知道某趟车中途停哪些站,它能给你列出来,每个站几点到、几点开、停几分钟。这个对要在中途站上下车的人挺有用,能提前看清楚自己那站它到底停不停、停的时间够不够你从容上车。

这跟我自己打开 App 查有多大区别?区别在于,查这个动作交给了 AI,它能把好几步串起来、还能顺着往下聊。你问「后天北京到上海的高铁」,AI 其实要办好几件事才查得成:先知道今天几号,才能算出后天是哪天;「北京」「上海」在系统里是一串车站代码,它得先翻译过去;然后才真正发起查询。这些琐碎的中间步骤,它自己就接上了,你只管说人话。

聊的过程里还能改主意。它给完一屏,你嫌那趟太早,说一句「有没有下午发的」,它就再查一遍;想只看卧铺、只挑某个价位,接着提就行。这种一句句往下抠的顺手劲儿,比自己在筛选框里反复点要舒服。

再往大里用,你可以一次让它比。比如「下周三到周五,北京到上海,哪天下午的高铁票最松」,它就能一趟趟查完再给你挑;或者你正让它帮你安排一趟出行,顺带就把票看了。查票不再是单独去跑一个软件,而是揉进了你跟 AI 的一次对话里。

很多人一听「给 AI 接上12306」,多半以为是拿来抢票的。

它只管查票,不管买票。

这个项目就是个「查票服务器」,干的是把票务信息捞出来给你看;真到了下单那一步,你还是得回12306官方的 App 或网站自己买。它不抢票、也不代买,别指望它替你跟别人拼手速。作者自己也说,这项目主要是拿来学习的。

还有个底子上的依赖:它的数据是直接问12306官方接口拿的,不是二手信息,实时不实时、准不准,都以接口当时返回的为准;但也意味着,万一哪天12306那边接口调整了,它可能得跟着修。开源项目最近还有人维护,这点倒不太用担心。

想用的话,门槛主要看你熟不熟命令行。

如果电脑上有 Node 环境,基本一条命令就能把它跑起来(npx -y 12306-mcp);然后在你用的、支持 MCP 的 AI 客户端里,像 Claude 的桌面端,或者 Cline 这一类,配置里加一小段挂上去就行。嫌麻烦,它也支持 Docker。平时装过这类命令行小工具的人,几分钟能搞定。至于完全没碰过命令行的朋友,说实话这一步的门槛我拿不准,可能得先跨过「配环境」那道坎。

这个项目开源免费,用的是很宽松的 MIT 协议,star 已经攒到近千颗,最近也都还在更新,不是那种放着没人管的老坑。

一个能查全国火车票的服务,被人接到了 AI 上,还大大方方开源出来。挺好的一件事。

它在 GitHub 上叫12306-mcp,开源的,作者是 Joooook。

#马力的AI知识分享#
#马力的AI开源项目分享#

发布于 北京