用途
Booking.com MCP 服务器是一个托管的 Model Context Protocol(MCP)服务器,让 AI 客户端(如 Claude、Cursor、Windsurf 等)能够以工具调用的方式访问 Booking.com 的公开住宿数据。它提供两个只读工具:按目的地和日期搜索住宿,以及读取单个房源的完整详情。所有数据以结构化 JSON 返回,无需用户自行托管服务器。
该服务器读取的是 Booking.com 上未登录访客可见的公开房源页面。它不提供预订、支付、合作伙伴佣金或账户数据功能。
主要能力
服务器暴露两个工具:
-
搜索住宿(hasdata_booking_search_getBookingSearchResults):按目的地和日期返回一页住宿结果。支持丰富的筛选条件,包括距离、餐食、无障碍设施、床型偏好和出行人群等。返回 searchInformation、results 数组以及分页信息(page、totalResults、totalPages)。每个结果包含 hotelId、title、url、提供的房型和床型、location 对象、policies 对象、price 对象、星级评分、reviews 对象(含 score、count 和文本标签)以及 photo。
-
房源详情(hasdata_booking_place_getBookingPlaceDetails):根据房源 URL 和入住窗口返回单个房源的完整信息。返回按区块组织的数据,包括 overview(id、title、propertyType、结构化地址、描述、亮点、最受欢迎设施和照片)、bookingDetails(价格对应的窗口和货币)、rooms 数组(可用套房及其名称、床型、设施和定价变体)、facilities 列表、houseRules、ratings 数组(分类评分)、reviews 以及 questionsAndAnswers。
服务器还暴露 16 个资源,每个对应一个参数,其可接受值是固定列表。读取资源不消耗积分,且无需 API 密钥即可获取列表。
使用方式
使用需要一个 MCP 客户端和一个 HasData API 密钥(可在 HasData 仪表板免费创建,无需信用卡)。这是一个远程服务器,最简单的接入方式是使用 URL 和 x-api-key 请求头,无需运行容器。
服务器 URL 对所有客户端相同:https://mcp.hasdata.com/mcp?apis=booking
支持 OAuth 的客户端可以将该 URL 添加为连接器并登录,无需在配置文件中放置密钥。在 Claude 中:设置 → 连接器 → 添加自定义连接器 → 粘贴上述 URL 并登录。
对于配置文件方式,Claude Desktop 仅加载本地(stdio)服务器,因此需要通过 stdio 启动器访问远程服务器。@hasdata/booking-mcp 包(npm)就是该启动器,它从环境变量读取密钥。也可使用 PyPI 包 hasdata-booking-mcp,通过 uvx 运行而无需手动安装。
Cursor 使用 ~/.cursor/mcp.json(所有项目)或 .cursor/mcp.json(单个项目)。Windsurf 使用 ~/.codeium/windsurf/mcp_config.json,字段名为 serverUrl 而非 url。VS Code 使用工作区中的 .vscode/mcp.json。
使用方式是输入提示词而非代码,代理会自动选择工具。每个成功的调用消耗 10 积分。示例提示词包括:搜索巴黎 9 月 15 日至 18 日两名成人的酒店并给出评分最高的十家;获取顶部结果的完整详情;查找巴黎市中心附近可免费取消的四星级酒店;比较巴黎和罗马同日期的最便宜住宿。
注意:房源详情工具需要与搜索相同的日期和客人数,因为可用性、房型和价格都取决于入住窗口。
适用场景
- 让 AI 代理搜索和比较不同目的地的住宿价格与评分
- 获取单个房源的完整设施、房型、政策和分类评分
- 将 Booking.com 数据与其他 HasData API(如 Airbnb)结合使用,通过 apis 参数传入列表,例如 ?apis=booking,airbnb
- 低频率的自动化代理,可长期使用免费层
限制
- 仅读取公开数据,不提供预订、支付、合作伙伴佣金或账户数据
- 房源详情工具必须传入与搜索相同的日期和客人数
- 每个成功的工具调用消耗 10 积分,与响应大小无关
- 免费层每月 1,000 积分(约 100 次调用),并发限制为 1 个请求;付费计划从每月 59 美元(200,000 积分,约 20,000 次调用)起,并发随计划提高
- 非 200 响应不计费,但成功但无结果的调用仍计费
- 错误处理:MCP 层通常返回 200 并将失败信息放在结果中(isError 为 true);密钥错误表现为工具输出而非连接失败;缺少密钥会导致连接本身 401 失败;参数不符合 schema 会在抓取前被拒绝;无可用性的搜索返回空 results 数组而非错误;失效的房源 URL 返回 400
- 该服务器与 Booking.com 无关联,未获其认可或赞助
- 平台条款可能限制自动访问,用户需自行负责合规;若收集的数据包含个人信息,需确保符合 GDPR、CCPA 等法规
定价与免费层
免费层每月 1,000 积分,无需信用卡,约合 100 次 Booking.com 调用,随计费周期续期。付费计划起价每月 59 美元,包含 200,000 积分(约 20,000 次调用),单价随用量下降。当前价格请参见定价页面。
其他信息
该仓库为远程服务器的配置和文档,无构建步骤,无需容器化。测试套件断言工具契约,包括 ?apis=booking 返回恰好两个工具、每个工具仍声明必需参数、名称未变以及密钥被接受。最后一项检查会真实调用工具并消耗 10 积分。测试在每次推送和每周定时在 CI 中运行。许可证为 MIT。