我目前在做的项目涉及酒旅方向的 AI Agent,所以最近花了不少时间研究 Travel MCP 这个赛道。过程里踩了很多坑,也整理了一些相对完整的东西,决定写成一个系列,供有同样需求的开发者参考。


先说个让我愣住的场景

上周调试一个行程规划 Agent,最开始它只能"聊天"——用户说「帮我订个酒店」,它回复一堆建议,但就是没法真的去查。

接了 RollingGo 的 Hotel MCP 之后,我把同一个对话扔给 Agent,它直接返回了一张表:

酒店名称 位置 含税价格 星级 距地铁站
大阪蒙特利格拉斯梅尔酒店 淀屋桥 ¥687/晚 4星 步行3分钟
心斋桥微笑酒店 心斋桥 ¥542/晚 3星 步行7分钟

这不是我让它搜的,是它自己判断「用户要去大阪看演唱会,场地在大阪城 Hall,预算600左右」,然后自动加的筛选条件。

给我一下子整不会了。

说实话,在这之前我一直觉得给 Agent 加 MCP 就是「多装个工具」的事情,跑完这个场景我才发现,工具接入的方式直接决定了 Agent 能做到什么level。

如果你是第一次接入,对接入方式不是很了解,可以参考这篇文档:5 分钟接入MCP — 快速开始指南


场景一:Agent 帮用户筛选酒店——不再只是「给建议」

传统做法是 Agent 调用一个搜索 API,返回一堆结果,然后自己读一遍再给建议。

问题是,通用大模型根本不知道实时价格真实库存

我接了 RollingGo Hotel MCP 之后,甩给 Agent 一句话:

「大阪,五晚预算500-700,希望离地铁站近,有免费取消政策」

Agent 自己拆解了需求,变成三个搜索条件:

  • 价格区间:500-700
  • 位置:地铁站500米内
  • 取消政策:免费取消

然后调 MCP 查了大阪真实在售酒店,过滤掉不符合条件的,返回结果就三行,全是符合条件可以直接预定的。

这里有个细节很有意思:Agent 不只是「搜」,它还会理解需求再翻译成搜索参数。不用我告诉它「价格单位是人民币、日期要写成YYYY-MM-DD」这种技术细节,它自己就搞定了。


场景二:价格对比——Agent 帮我挑最优方案

这是让我觉得最值的地方。

我让 Agent 搜「杭州6月20日-22日,五星级,离西湖3公里内」,它调了 MCP 返回了一批酒店。但这不是终点——它还做了这么几件事:

  1. 把所有结果按「含税总价」排序
  2. 过滤出「免费取消」的选项(降低用户决策风险)
  3. 标注了每个酒店的取消截止时间
  4. 给出了推荐理由:「这家比同区域其他五星级便宜23%,且点评数量最高」

你要知道,这背后不是简单比价——它需要知道用户在决策链上的真实障碍是什么。免费取消、点评数量、位置距离,这些信息如果不是 MCP 直接返回,Agent 基本只能靠「猜」。

换句话说:接不到真实库存和价格数据,Agent 帮你做决策这件事就是空中楼阁。


场景三:多工具链组合——Agent 自动串起机票+酒店

这是我跑的最复杂的场景,也是感觉最接近「真 Agent」的一个。

我给 Agent 发了这么一段:

「下周三到周五去北京出差,帮我看看机票和CBD附近酒店,总预算控制在2000以内」

它分了三步走:

Step 1 — 调 Flight MCP 查杭州到北京6月17日的航班,过滤掉超过预算的
Step 2 — 调 Hotel MCP 查北京CBD区域酒店,看哪几家还在2000预算内
Step 3 — 综合两项,生成一个「机票+酒店」的最优组合方案

注意,Agent 在这整个过程里没有问过我任何确认。它自己判断:出差场景优先考虑地理位置,五星不是必须的,但位置必须近CBD。

普通大模型能做到吗? 基本不行,因为机票价格和酒店实时库存是它不知道的信息。


为什么 MCP 让 Agent 从「聊天」进化到「办事」

聊到这里可能会有读者问:道理我都懂,但为什么非要是 MCP?

我自己的理解是这样的——

大模型本身是个「大脑」,它擅长推理和决策,但它不知道这个世界正在发生什么。MCP 做的事情,就是给这个大脑装上「手」和「眼睛」。

  • 眼睛:实时看到全球200万+酒店的真实在售价格、库存状态
  • :直接执行搜索、筛选、比较这些动作

没有 MCP,Agent 就是「空想家」——想得很美,但落地不了。

有了 MCP,Agent 才能变成「执行者」——知道现状、理解需求、拿出方案、直接执行。


踩过的坑,顺手提醒一下

配置过程不是一帆风顺的,有几个地方容易卡住:

坑1:配置完了 MCP 工具不出现
折腾了半天发现是客户端没重启,Agent 重启之后工具列表才刷新出来。

坑2:报 401 Unauthorized
Bearer 后面多了个空格,或者 Key 格式不对,检查一下是不是 Bearer mcp_xxx 这种格式。

坑3:搜索返回空
很可能是日期写成过去的了,MCP 校验比严格,日期参数要写成未来的。


什么人适合用这个组合

说实话,不是所有人都需要。

适合的场景:

  • 自己在开发酒旅方向的 Agent,需要真实数据源
  • 想让 AI 直接帮用户完成机票/酒店查询和推荐,不是只给建议
  • 技术团队,接入门槛低,API Key 直接申请,不需要商务对接

如果你的 Agent 只是需要通用知识问答,不需要实时数据,那 MCP 对你来说确实用不上。


最后

这几个月跑下来,我最大的感受是:MCP 协议给 Agent 开发打开了一个新的可能性——不再只是「问答」,而是真正可以「办事」的 Agent。 Hotel MCP 和 Flight MCP这块可以试试rollinggo, 是我目前测下来数据覆盖完整、接入最简单的一套工具链,200万+酒店和500+航司的覆盖量,意味着库存是真实可订的,不是那种返回假数据的测试接口,对于酒旅 Agent 开发来说很够用了。

如果你也在做类似的事情,欢迎评论区交流。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐