关于 serpapi-hotels
SerpAPI Hotels 是一个通过 SerpAPI 搜索 Google 酒店信息的 MCP 服务,可查询指定地区和日期的酒店价格、评分与评论。适合需要进行酒店比价或住宿调研的用户。
主要功能
- 01按价格、评分、星级和设施筛选酒店
- 02获取酒店详情与多个预订来源的价格
- 03查看含分项评分的住客评论
- 04按最低价、最高评分或评论数排序
- 05支持度假租赁搜索
适用场景
- 01比较指定日期内某城市酒店的价格
- 02查看某家酒店的住客评价与分项评分
- 03筛选含免费取消政策的酒店
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端提供 search_hotels、get_hotel_details 和 get_hotel_reviews 三个工具,需配置 SerpAPI API 密钥使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| gl | string | 否 | 用于本地化的国家/地区代码(例如,“us”) |
| hl | string | 否 | 语言代码(例如,“en”) |
| query | string | 是 | 酒店搜索查询(例如,“Hotels in New York”、“Beach resorts in Cancun”) |
| adults | number | 否 | 成人住客人数(默认值:2) |
| rating | number | 否 | 最低评分:7 = 3.5 以上,8 = 4.0 以上,9 = 4.5 以上 |
| sort_by | number | 否 | 排序:3 = 价格最低,8 = 评分最高,13 = 评论数最多 |
| children | number | 否 | 儿童人数(默认值:0) |
| currency | string | 否 | 货币代码(默认:USD) |
| max_price | number | 否 | 每晚最高价格 |
| min_price | number | 否 | 每晚最低价格 |
| hotel_class | string | 否 | 星级筛选,使用逗号分隔(例如,“4,5”) |
| check_in_date | string | 是 | YYYY-MM-DD 格式的入住日期 |
| children_ages | string | 否 | 儿童年龄,使用逗号分隔,范围为 1–17(例如,“5,8,12”) |
| eco_certified | boolean | 否 | 筛选获得生态认证的酒店 |
| check_out_date | string | 是 | YYYY-MM-DD 格式的退房日期 |
| special_offers | boolean | 否 | 筛选特别优惠 |
| next_page_token | string | 否 | 下一页的分页令牌 |
| vacation_rentals | boolean | 否 | 搜索度假租赁房源,而非酒店 |
| free_cancellation | boolean | 否 | 筛选可免费取消的选项 |
详细介绍
SerpAPI Hotels MCP 服务
一个通过 SerpAPI API 搜索 Google Hotels 的 MCP 服务。按日期范围搜索任意地区的酒店,并获取价格、评分、评价和预订信息。
工具
| 工具 | 描述 |
|---|---|
search_hotels | 使用价格、评分、星级、设施等筛选条件搜索酒店 |
get_hotel_details | 获取特定酒店的详细信息,包括评价分类统计以及来自多个来源的预订价格 |
get_hotel_reviews | 获取住客的单条评价,包括完整文本、评分、细分评分和酒店管理方回复 |
快速开始
Claude Desktop
将以下内容添加到 Claude Desktop 配置文件中:
{
"mcpServers": {
"serpapi-hotels": {
"command": "npx",
"args": ["-y", "serpapi-hotels-mcp-server"],
"env": {
"SERPAPI_API_KEY": "your_api_key_here"
}
}
}
}
手动设置
# Clone and install
cd experimental/serpapi-hotels
npm run install-all
# Set your API key
export SERPAPI_API_KEY=your_api_key_here
# Build and run
npm run build
cd local && npm start
配置
| 变量 | 必填 | 描述 |
|---|---|---|
SERPAPI_API_KEY | 是 | 你的 SerpAPI API 密钥(在此获取) |
使用示例
搜索酒店
Search for hotels in New York for March 1-5, 2026, sorted by lowest price
search_hotels 工具将使用以下参数调用:
query:“纽约的酒店”check_in_date:“2026-03-01”check_out_date:“2026-03-05”sort_by:3
获取酒店详情
找到酒店后,使用其 property_token 调用 get_hotel_details,即可获取:
- 来自多个预订来源的价格(Booking.com、Hotels.com、Expedia 等)
- 按类别划分的评价统计(清洁度、位置、服务)
- 完整的设施列表
- 入住/退房时间
- 附近地点及行程时间
查看酒店评价
找到酒店后,使用其 property_token 调用 get_hotel_reviews,即可获取:
- 来自 Google 和第三方来源(TripAdvisor 等)的完整评价文本
- 评价者评分及细分评分(客房、服务、位置)
- 酒店管理方回复
- 按最有帮助、最新、评分最高/最低排序
- 按类别筛选(来自
get_hotel_details的评价分类统计)
可用筛选条件
| 筛选条件 | 值 |
|---|---|
sort_by | 3 = 价格最低,8 = 评分最高,13 = 评价最多 |
rating | 7 = 3.5+,8 = 4.0+,9 = 4.5+ |
hotel_class | “2”、“3”、“4”、“5”(星级,逗号分隔) |
min_price / max_price | 每晚价格范围 |
free_cancellation | true/false |
special_offers | true/false |
eco_certified | true/false |
vacation_rentals | true = 改为搜索度假租赁住宿 |
开发
npm run install-all # Install all dependencies
npm run build # Build the project
npm run dev # Development mode
npm test # Run functional tests
npm run test:integration # Run integration tests
npm run test:manual # Run manual tests (requires API key)
项目结构
serpapi-hotels/
├── local/ # Stdio transport entry point
│ └── src/
│ ├── index.ts # Main entry point
│ └── index.integration-with-mock.ts # Mock entry for integration tests
├── shared/ # Core business logic
│ └── src/
│ ├── server.ts # MCP server factory
│ ├── tools.ts # Tool registration
│ ├── resources.ts # Resource handlers
│ ├── types.ts # TypeScript types
│ ├── logging.ts # Logging utilities
│ ├── tools/ # Individual tool implementations
│ │ ├── search-hotels.ts
│ │ ├── get-hotel-details.ts
│ │ └── get-hotel-reviews.ts
│ └── serpapi-client/ # SerpAPI client
│ ├── serpapi-client.integration-mock.ts
│ └── lib/
│ ├── parse-property.ts
│ ├── search-hotels.ts
│ ├── get-hotel-details.ts
│ └── get-hotel-reviews.ts
└── tests/
├── functional/ # Unit tests with mocks
├── integration/ # Full MCP protocol tests
├── manual/ # Real API tests
└── mocks/ # Mock implementations
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。