关于 Rate Ranger
Rate Ranger 会在酒店预订后监测房价,降价达到值得重新预订的程度时向旅客发送邮件。AI Agent 可提交预订并检查旅客是否已确认监测。
主要功能
- 01提交酒店预订
- 02监测预订后的房价
- 03降价时发送邮件提醒
- 04检查预订确认状态
适用场景
- 01监测已订酒店是否降价
- 02确认旅客已同意监测
MCP 相关
通过 MCP 连接器提供 `submit_hotel_booking` 和 `check_hotel_booking` 工具。旅客通过邮件确认后,才会开始监测预订。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://www.rateranger.io/api/mcpclaude mcp add --transport http io-rateranger-hotel-price-monitor https://www.rateranger.io/api/mcp{"mcpServers":{"io-rateranger-hotel-price-monitor":{"type":"http","url":"https://www.rateranger.io/api/mcp"}}}在 Cursor 中打开{"servers":{"io-rateranger-hotel-price-monitor":{"type":"http","url":"https://www.rateranger.io/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"io-rateranger-hotel-price-monitor":{"type":"http","url":"https://www.rateranger.io/api/mcp"}}}{"mcpServers":{"io-rateranger-hotel-price-monitor":{"serverUrl":"https://www.rateranger.io/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
2| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| agent | string | 否 | 你的可选名称,例如 my-assistant/1.0。仅用于调试日志。 |
| string | 是 | 旅行者本人的电子邮件地址。每次调用填写一个。确认邮件及之后的价格提醒都会发送到此地址,因此必须是他们实际会查收的地址。 | |
| bookings | array | 是 | 该旅行者的 1 至 10 个预订。 |
详细介绍
面向 AI Agent 的 Rate Ranger
Rate Ranger 会在用户已经预订酒店之后监测酒店的收费情况,并在房价降幅足以值得重新预订时向用户发送邮件。免费,无需账户或应用。
此仓库是以编程方式实现这一功能的公开规范:OpenAPI 规范、MCP 连接器清单和完整示例。
- MCP 连接器:
https://www.rateranger.io/api/mcp - HTTP API:
https://www.rateranger.io/api/agent/bookings - 指南: https://www.rateranger.io/for-agents/
- OpenAPI 3.1:
openapi.json
不要操作网页表单
rateranger.io 上的表单受 CAPTCHA 保护,不会向自动化浏览器发放令牌。助手会正确填写每个字段,却会在最后一步因无处可点而失败。请改用连接器或 API。
选项 1:MCP 连接器
将 https://www.rateranger.io/api/mcp 添加为自定义连接器。无需密钥、账户,除了 URL 外也无需任何设置。
它提供两个工具:
| 工具 | 功能 |
|---|---|
submit_hotel_booking | 为一位旅客登记一至十笔预订 |
check_hotel_booking | 读取预订信息,包括是否已确认 |
适用于 ChatGPT(Developer Mode)、Claude Code 和 Cursor。它不适用于 claude.ai 自定义连接器,因为后者要求使用 OAuth;在那里无法声明服务无需身份验证。
该服务支持协议修订版 2026-07-28、2025-11-25、2025-06-18 和 2025-03-26,因此当前的逐请求元数据格式和较旧的 initialize 握手均可使用。
选项 2:HTTP API
curl -X POST https://www.rateranger.io/api/agent/bookings \
-H 'Content-Type: application/json' \
-d '{
"email": "[email protected]",
"agent": "my-assistant/1.0",
"bookings": [{
"hotel_name": "Novotel Bali Ubud Resort",
"city": "Ubud",
"country": "ID",
"check_in_date": "2027-07-14",
"check_out_date": "2027-07-17",
"total_price": 742.50,
"currency": "USD"
}]
}'
返回 202 Accepted,并为每笔预订提供一个 read_token。
旅客必须确认。请告知他们。
提交成功并不代表已开始监测。 Rate Ranger 会向旅客发送一条链接。在他们点击链接之前,不会检查价格,也不会触发任何提醒。如果他们始终不点击,所有信息会在 7 天后删除。
因此,不要告诉用户正在追踪他们的预订。请让他们查看收件箱,然后使用 check_hotel_booking 或 GET /api/agent/bookings/{token} 亲自确认,再作出更明确的说明。请检查 booking.confirmed;在他们采取操作之前,该值为 false。
这就是无需密钥的原因。此端点会接受调用方提供的电子邮件地址,因此,如果仅提交就会启动服务,任何人都能擅自将任意地址添加到邮件列表中。确认步骤让开放 API 也能安全地保持开放。
country 为必填项,而且很重要
ISO 3166-1 alpha-2,例如 JP 或 ID。它决定哪些房价来源能够找到该酒店。没有此项的预订无法得到妥善监测,因此这里将其设为必填项,尽管网页表单将其视为可选项。
限制
| 每日上限 | |
|---|---|
| 匿名调用方,按 IP 计 | 50 笔预订 |
| 使用密钥 | 100 笔预订 |
| 同一电子邮件地址,同一调用方 | 3 笔预订 |
| 同一电子邮件地址,所有调用方 | 10 笔预订 |
如果需要更高限额,请发送邮件至 [email protected] 申请密钥。
价格可以包含小数。只有网页表单会将价格限制为整数。
错误
每个错误都包含一个用于分支处理的稳定 code,以及一条供阅读日志的人查看的 message。请根据 code 进行分支处理;错误措辞可能会改变。
| 代码 | 含义 |
|---|---|
invalid_email | 地址无效 |
disposable_email | 一次性邮箱服务商,无法接收提醒 |
invalid_token | 签名验证失败、令牌类型错误或令牌已过期 |
not_found | 令牌已验证,但未匹配到任何预订 |
rate_limited | 已达到每日限额 |
完整的请求和响应格式见 openapi.json。
支持
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。