← 返回目录
L

LetsFG

官方
面向 AI 代理的机票与酒店搜索及预订服务
分类
其他 第 174 / 230
Stars
★ 2.2k 非常热门
传输方式
stdio(本地进程)
运行环境
Node.js
凭据
可选 API Key
许可证
其他 / 未声明
最近提交
工具数
5
46FMRS · D

LetsFG MCP 服务器为 AI 代理提供了机票与酒店的搜索、预订能力,机票通过一次性零金额验证即可免费使用,酒店预订则始终需要在档付款方式并收取 10% 预订费。主要风险集中在酒店流程对已保存信用卡的强制要求、预订费不可退、异步预订状态需要轮询,以及需要避免误用面向商业客户的付费 Developer API 注册流程。

最强项 · 文档质量 11/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
9/20
维护活跃度
9/20
文档质量
11/20
安装易用性
9/20
查看各项评分依据
可靠性 8/20
仓库仅提供 server.json 与 README,未见任何测试文件、CI 工作流或可复现的握手/工具列表证据,按静态校准规则可靠性不得超过12分。更严重的是清单(manifest)与README存在直接矛盾:npm/pypi包的环境变量说明称'Search runs locally, no key required'(搜索在本地运行,无需密钥),但README反复强调搜索实际运行在letsfg.co云端服务器上,且必须先完成`letsfg auth`获取90天Bearer令牌才能搜索。这种关于核心功能执行位置的自相矛盾意味着仅凭清单声明的表面配置(仅一个可选的LETSFG_API_KEY)无法保证开箱可用,真实运行路径依赖外部HTTP轮询(60-90秒)、Stripe设置会话等未在清单中声明的复杂依赖,失败模式和错误处理均缺乏可验证证据。
安全与权限 9/20
MCP清单本身声明的凭据面很克制(LETSFG_API_KEY标记为isSecret、isRequired=false,仅用于付费Developer API),这部分做法合理。但README描述的'推荐路径'(`letsfg auth`)要求为几乎所有操作(包括酒店'搜索')预先绑定支付方式(通过Stripe),这一真实的数据流/支付面完全未在server.json中披露,构成清单与实际行为之间的透明度缺口。此外,文档自曝了预订接口缺乏幂等保护的隐患('不要盲目重试book_hotel,会导致重复预订与重复扣费'),没有工具层面强制的二次确认或幂等键机制,只靠文档提醒使用者/代理自律。虽未触及'无确认默认执行不可逆支付'的红线(预订仍需显式调用并携带乘客/支付信息),但真实资金操作(机票全款、酒店10%不可退预订费)在缺乏协议层确认与去重保护的情况下,风险高于'主要风险已知但权限/确认/范围尚不完整'的中等水平。
维护活跃度 9/20
仓库层面许可证字段为NOASSERTION,而README徽章与正文均声称'MIT License'并附LICENSE链接,两者直接冲突,说明许可证文件可能缺失SPDX标识或未被GitHub正确识别,这是治理透明度上的明显瑕疵。除此之外,所提供材料中没有变更日志、安全响应渠道或依赖更新策略的证据;stars数与open issues数仅为发现信号,不作为维护活跃度加分依据。版本号采用按日期编排的格式(2026.4.9)显示出一定的活跃迭代意愿,但缺乏可核实的治理证据,总体只能评为'活跃但治理/版本控制存在缺口'的中等偏低水平。
文档质量 11/20
README篇幅详尽,涵盖安装、三种接入路径对比表、CLI命令表、定价、架构图、Python/JS示例代码,信息层次和示例数量在静态材料中属于较好水平。但文档存在实质性自相矛盾,直接触及'文档与能力矛盾'的扣分区间:(1) 清单描述'搜索在本地运行、无需密钥',与README反复声明搜索需服务器端Bearer令牌相矛盾;(2) 许可证声明(MIT)与仓库许可证字段(NOASSERTION)矛盾;(3) README开篇明确承认此前版本文档描述的'MPP在unlock时收费'从未真正上线,说明历史文档曾经与实际能力不符。这些矛盾直接削弱了文档作为'可核实证据'的可信度,故未能达到'可用但有隐藏假设'档位以上的分数。
安装易用性 9/20
按静态校准规则,在没有真实CI工作流与配套测试覆盖服务器关键路径的证据时,安装易用性不得超过15分。表面上MCP客户端配置极简(`npx -y letsfg-mcp`),但要让搜索与预订真正可用,还需在会话内额外执行`letsfg auth`完成基于Stripe的支付方式绑定流程,这一步骤及其产生的本地令牌文件(~/.letsfg/config.json)均未反映在server.json的environmentVariables中。更关键的是,manifest所声称的'搜索无需密钥、本地运行'与README描述的'搜索需云端令牌'相矛盾,导致用户仅依据清单配置很可能得到无法正常搜索的结果,安装路径的清晰度和可靠性因此打折扣。

静态评测 · 未实际运行收录于 2026-08-06

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络修改第三方账户数据

适合谁

  • 希望在对话中直接搜索、比较并预订机票和酒店的个人或开发者
  • 愿意接受一次性、零金额信用卡验证以换取免费机票搜索与预订的代理场景
  • 需要免费取消、延后付款酒店选项的旅行预订流程

不适合谁

  • 需要大批量、高频次调用并希望采用预付额度计费的商业级集成(应使用单独的付费 Developer API)
  • 不愿意在账户中保存任何付款方式的用户(酒店功能强制要求已保存的卡)
  • 需要保证型价格(非免费取消/延后付款)酒店房源的场景,因为该服务器只出售可安全延后结算的费率

所需权限

  • 网络访问 letsfg.co 云端搜索与预订服务
  • 通过 letsfg auth 在账户上保存一份信用卡/付款方式(零金额 Stripe 设置,用于生成 90 天 Bearer 令牌)
  • 酒店功能要求每次调用(含搜索)都有已保存的有效付款方式
  • 可选的 LETSFG_API_KEY 环境变量(密钥类型),仅在使用付费 Developer API 时需要

风险与副作用

  • 酒店搜索和预订都强制要求已保存有效信用卡,这一点与常规免费搜索工具不同,需要用户或代理提前理解并同意
  • 酒店预订收取房价 10% 的不可退还预订费,即使后续取消该费用也不会退还
  • 酒店预订是异步的,返回的是 booking_job_id 而非确认结果;重复调用 book_hotel 可能导致重复预订并重复扣除预订费
  • README 特别警告不要误调用 letsfg register / letsfg setup-payment,这会创建另一套付费商业账户,代理应严格区分免费的 letsfg auth 流程与付费 Developer API 流程
  • 仓库许可证字段为 NOASSERTION,与 README 中声称的 MIT 开源许可存在不一致,实际授权状态不完全明确

安装接入

准备工作

运行环境:Node.js

LETSFG_API_KEY 可选密钥 LetsFG API 密钥,仅在解锁/预订时需要(搜索无需密钥);从 letsfg.co 账户获取,为机密值。
  1. 在 MCP 客户端配置中添加:{"mcpServers":{"letsfg":{"command":"npx","args":["-y","letsfg-mcp"]}}}。
  2. 首次在 MCP 会话中运行 letsfg auth 完成一次性、零金额的信用卡设置(不产生实际扣款),获取 90 天有效的 Bearer 令牌,令牌保存在本地配置中。
  3. 之后即可直接调用搜索与预订工具,机票搜索和预订免费(不收 LetsFG 手续费);如需使用酒店功能,请确保账户已保存有效付款方式,因为每次酒店搜索和预订调用都要求有卡在档。
  4. 如需改用付费的 Developer API(面向高交易量商业场景),可设置 LETSFG_API_KEY 环境变量,但 README 明确说明大多数代理不需要该产品,且不要调用 letsfg register 或 letsfg setup-payment。
claude_desktop_config.json
{"mcpServers":{"letsfg":{"command":"npx","args":["-y","letsfg-mcp"]}}}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "letsfg": {
      "command": "npx",
      "args": [
        "-y",
        "letsfg-mcp"
      ]
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add letsfg -- npx -y letsfg-mcp

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

在 MCP 客户端工具列表中确认出现 letsfg 服务器的五个工具:resolve_hotel_city、search_hotels、book_hotel、get_hotel_booking、cancel_hotel_booking;然后运行 resolve_hotel_city 查询一个城市名,能返回城市 ID 即说明连接正常。

常见排障

  1. 若搜索或预订失败,确认已在 MCP 会话中成功运行过 letsfg auth 并生成了有效的 90 天 Bearer 令牌
  2. 若酒店调用被拒绝,检查账户是否已保存有效付款方式,因为搜索和预订均需要在档信用卡
  3. 预订酒店后应轮询 get_hotel_booking 直至状态变为 succeeded 或 failed,不要假设 book_hotel 调用后立即完成
  4. 如果只做机票搜索与预订,不需要设置 LETSFG_API_KEY;该变量仅用于付费 Developer API
  5. 如遇到意外产生的商业账户或计费信息,检查是否误调用了 letsfg register 或 letsfg setup-payment 命令

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 把“Warsaw”解析成 LetsFG 的酒店城市 ID
  • 搜索华沙 2026-11-10 入住、2026-11-12 退房、2 位成人的酒店
  • 帮我在 Hotel Gromada Warszawa Centrum 预订刚才搜到的第一个可免费取消的报价,住客 Jan Kowalski,邮箱 [email protected]
  • 查询刚才那个酒店预订的状态,然后如果在酒店截止日期前就取消它

工具能力 5

resolve_hotel_city 只读
将城市名称解析为搜索酒店所需的城市 ID 和名称。
search_hotels 只读
按城市、入住/离店日期和入住人数搜索可预订的酒店房价(仅限免费取消、延后付款的费率)。
book_hotel 破坏性
为指定的酒店房价发起异步预订;返回 booking_job_id,需轮询查询最终结果,而非直接返回预订确认。
get_hotel_booking 只读
根据 booking_job_id 轮询酒店预订任务状态,直至返回 succeeded 或 failed。
cancel_hotel_booking 破坏性
取消已创建的酒店预订;取消费用取决于是否已过 balance_due_by 日期及酒店自身的取消阶梯政策。

使用场景

让 AI 代理跨数百家航空公司和 OTA 比价并搜索机票
为代理生成的行程预订真实航空公司 PNR 或获取直接预订链接
搜索指定城市中提供免费取消、延后付款条款的酒店房源
预订酒店房间并通过 pay_link 让客人直接向酒店支付余款
轮询查询酒店预订任务的最终状态

支持客户端

Claude Desktop
Cursor
Windsurf

依据项目文档列出,未经本站实测。

详细介绍

LetsFG 是官方 MCP 服务器,让 AI 代理能够搜索数百家航空公司和主要订票网站的机票,并预订带有免费取消和延后付款条款的酒店房源。搜索在 LetsFG 的云端服务器上运行;机票预订通过一次性、零金额的信用卡设置(letsfg auth)完成,之后 90 天内搜索和预订均免费,不收取 LetsFG 手续费。酒店预订需在每次调用(包括搜索)时都提供已保存的付款方式,预订时收取房价 10% 的不可退还预订费,剩余余额通过返回的 pay_link 直接付给酒店。该仓库还包含一个独立的付费 Developer API(预付额度、直接航司预订链接),但 README 明确提示代理不要调用该产品的注册/设置付款命令,因为那属于另一套面向高交易量商业集成的计费账户。

同类可选方案

BioMCP 75 · B

统一的命令行语法,接入约30个可信生物医学数据源。

★ 672 · 工具数 11 与当前对比 →

源版本 cfe6a3fe9431 数据同步于 2026-11-04 查看 FMRS 评分方法