Airbnb Mcp

Airbnb Mcp

🚀 Airbnb搜索与房源 - 桌面扩展 (DXT)

这是一款全面的桌面扩展程序,具备高级筛选功能,可用于搜索Airbnb房源,并能检索详细的房源信息。它以桌面扩展(DXT)格式封装为模型上下文协议(MCP)服务器,便于与兼容的人工智能应用程序配合安装和使用。

✨ 主要特性

🔍 高级搜索功能

  • 基于位置的搜索:支持按城市、州和地区进行搜索
  • 集成Google Maps Place ID:实现精确的位置定位
  • 日期筛选:支持设置入住和退房日期
  • 宾客配置:可设置成人、儿童、婴儿和宠物的数量
  • 价格范围筛选:可设置最低和最高价格限制
  • 分页支持:便于浏览大量搜索结果

🏠 详细的房源信息

  • 全面的房源详情:包括便利设施、政策和亮点
  • 位置信息:包含坐标和周边社区详情
  • 房屋规则和政策:帮助用户做出明智的预订决策
  • 房源描述和关键特征
  • 直达Airbnb房源的链接:方便用户直接预订

🛡️ 安全与合规

  • 遵守Robots.txt规则:可配置覆盖设置以便进行测试
  • 请求超时管理:防止请求挂起
  • 增强的错误处理:提供详细的日志记录
  • 具备速率限制意识:合理使用API
  • 通过DXT用户设置实现安全配置

📦 安装指南

针对Claude桌面版

此扩展程序以桌面扩展(DXT)文件的形式提供。安装步骤如下:

  1. 从发布页面下载 .dxt 文件。
  2. 打开兼容的人工智能应用程序(例如Claude桌面版)。
  3. 通过应用程序的扩展管理器安装该扩展。
  4. 根据需要配置扩展设置。

针对Cursor等应用

在开始之前,请确保你的桌面已安装 Node.js,以便使用 npx

  1. 进入:Cursor设置 > 工具与集成 > 新建MCP服务器。
  2. 将以下内容添加到你的 mcp.json 文件中:
{
"mcpServers": {
"airbnb": {
"command": "npx",
"args": [
"-y",
"@openbnb/mcp-server-airbnb"
]
}
}
}

若要在所有请求中忽略Robots.txt规则,请使用以下带有 --ignore-robots-txt 参数的版本:

{
"mcpServers": {
"airbnb": {
"command": "npx",
"args": [
"-y",
"@openbnb/mcp-server-airbnb",
"--ignore-robots-txt"
]
}
}
}
  1. 重启应用程序。

📚 详细文档

配置选项

该扩展程序提供以下可由用户配置的选项:

忽略Robots.txt规则

  • 类型:布尔值(复选框)
  • 默认值false
  • 描述:在向Airbnb发送请求时绕过Robots.txt规则限制
  • 建议:除非用于测试目的,否则建议保持禁用状态

工具说明

airbnb_search

使用全面的筛选选项搜索Airbnb房源。

参数

  • location(必需):搜索的地点(例如,“加利福尼亚州旧金山”)
  • placeId(可选):Google Maps Place ID(会覆盖 location 参数)
  • checkin(可选):入住日期,格式为YYYY - MM - DD
  • checkout(可选):退房日期,格式为YYYY - MM - DD
  • adults(可选):成人数量(默认值:1)
  • children(可选):儿童数量(默认值:0)
  • infants(可选):婴儿数量(默认值:0)
  • pets(可选):宠物数量(默认值:0)
  • minPrice(可选):每晚的最低价格
  • maxPrice(可选):每晚的最高价格
  • cursor(可选):用于浏览搜索结果的分页游标
  • ignoreRobotsText(可选):在本次请求中覆盖Robots.txt规则

返回值

  • 包含房源详情、价格和直达链接的搜索结果
  • 用于浏览更多结果的分页信息
  • 参考用的搜索URL

airbnb_listing_details

获取特定Airbnb房源的详细信息。

参数

  • id(必需):Airbnb房源ID
  • checkin(可选):入住日期,格式为YYYY - MM - DD
  • checkout(可选):退房日期,格式为YYYY - MM - DD
  • adults(可选):成人数量(默认值:1)
  • children(可选):儿童数量(默认值:0)
  • infants(可选):婴儿数量(默认值:0)
  • pets(可选):宠物数量(默认值:0)
  • ignoreRobotsText(可选):在本次请求中覆盖Robots.txt规则

返回值

  • 详细的房源信息,包括:
    • 包含坐标的位置详情
    • 便利设施和设备
    • 房屋规则和政策
    • 房源亮点和描述
    • 房源的直达链接

🔧 技术细节

架构

  • 运行时环境:Node.js 18+
  • 协议:通过标准输入输出传输的模型上下文协议(MCP)
  • 格式:桌面扩展(DXT)v0.1
  • 依赖项:为确保安全性和可靠性,外部依赖项极少

错误处理

  • 带有时间戳的全面错误日志记录
  • 当Airbnb页面结构发生变化时能进行优雅降级处理
  • 网络请求的超时保护
  • 详细的错误消息,便于故障排除

安全措施

  • 默认遵守Robots.txt规则
  • 请求超时限制
  • 输入验证和清理
  • 安全的环境变量处理
  • 不存储敏感数据

性能

  • 使用Cheerio进行高效的HTML解析
  • 在适当的情况下进行请求缓存
  • 内存占用极小
  • 启动和响应速度快

兼容性

  • 平台:macOS、Windows、Linux
  • Node.js:18.0.0或更高版本
  • Claude桌面版:0.10.0或更高版本
  • 其他MCP客户端:与任何支持MCP的应用程序兼容

📚 详细文档

开发相关

从源代码构建

# 安装依赖项
npm install

# 构建项目
npm run build

# 在开发过程中监听文件变化
npm run watch

测试

可以通过直接运行MCP服务器来测试该扩展程序:

# 运行时遵守Robots.txt规则(默认)
node dist/index.js

# 运行时忽略Robots.txt规则(用于测试)
node dist/index.js --ignore-robots-txt

法律和道德考量

  • 遵守Airbnb服务条款:本扩展程序仅用于合法的研究和预订辅助
  • 遵守Robots.txt规则:扩展程序默认遵守Robots.txt规则
  • 速率限制:注意请求频率,避免对Airbnb服务器造成过大压力
  • 数据使用:仅为合法目的提取公开可用的信息

支持

  • 问题反馈:在 GitHub Issues 上报告错误和提出功能请求
  • 文档:仓库中提供了更多详细文档
  • 社区:加入关于MCP和DXT开发的讨论

📄 许可证

本项目采用MIT许可证,详情请参阅 LICENSE 文件。

贡献

欢迎贡献代码!请阅读贡献指南,并提交拉取请求以进行改进。


⚠️ 重要提示

本扩展程序与Airbnb公司没有关联,它是一个独立的工具,旨在帮助用户搜索和分析公开可用的Airbnb房源。

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-23 12:57

相似服务问题