返回市场
MCP服务器Airbnb

MCP服务器Airbnb

作者:openbnb-org337 星标更新:2025-07-18

项目介绍

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

一个全面的桌面扩展,用于搜索Airbnb房源,并具有高级筛选功能和详细的房源信息检索。作为模型上下文协议(MCP)服务器打包在桌面扩展(DXT)格式中,便于安装和与兼容的人工智能应用程序一起使用。

功能

🔍 高级搜索功能

  • 基于位置的搜索,支持城市、州和地区
  • 集成Google Maps Place ID,以实现精确的位置定位
  • 日期筛选,支持入住和退房日期
  • 客人配置,包括成人、儿童、婴儿和宠物
  • 价格范围筛选,具有最小和最大价格限制
  • 分页支持,用于浏览大量结果集

🏠 详细房源信息

  • 全面的房源详情,包括设施、政策和亮点
  • 位置信息,包括坐标和社区详情
  • 房屋规则和政策,以便做出明智的预订决策
  • 房源描述和关键特征
  • 直接链接到Airbnb房源页面,方便预订

🛡️ 安全与合规性

  • 遵守robots.txt,并提供可配置的测试覆盖选项
  • 请求超时管理,防止请求挂起
  • 增强的错误处理,带有详细的日志记录
  • 速率限制意识,尊重API使用
  • 安全配置,通过DXT用户设置进行

安装

对于Claude Desktop

此扩展程序打包为桌面扩展(DXT)文件。要安装:

  1. 从发布页面下载.dxt文件
  2. 打开兼容的人工智能应用程序(例如,Claude Desktop)
  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"
          ]
        }
      }
    }
    
  3. 重启。

配置

该扩展提供了以下用户可配置选项:

忽略robots.txt

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

工具

airbnb_search

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

参数:

  • location(必需):要搜索的位置(例如,“旧金山,CA”)
  • placeId(可选):Google Maps Place ID(覆盖位置)
  • 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+
  • 协议:通过stdio传输的模型上下文协议(MCP)
  • 格式:桌面扩展(DXT)v0.1
  • 依赖项:为了安全性和可靠性,最小外部依赖项

错误处理

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

安全措施

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

性能

  • 使用Cheerio高效解析HTML
  • 在适当情况下缓存请求
  • 最小内存占用
  • 快速启动和响应时间

兼容性

  • 平台:macOS,Windows,Linux
  • Node.js:18.0.0或更高版本
  • Claude Desktop: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, Inc.无关。它是一个独立工具,旨在帮助用户搜索和分析公开可用的Airbnb房源。