返回市场
TripAdvisor-MCP

TripAdvisor-MCP

作者:pab1it048 星标更新:2025-04-14

项目介绍

Tripadvisor MCP Server

一个用于Tripadvisor内容API的模型上下文协议(MCP)服务器。

此服务通过标准化的MCP接口提供访问Tripadvisor位置数据、评论和照片的功能,允许AI助手搜索旅行目的地和体验。

功能

  • 在Tripadvisor上搜索地点(酒店、餐厅、景点)

  • 获取特定地点的详细信息

  • 检索地点的评论和照片

  • 根据坐标搜索附近的地点

  • API密钥认证

  • Docker容器支持

  • 提供交互式工具给AI助手

工具列表是可配置的,因此您可以选择要向MCP客户端提供的工具。

使用方法

  1. Tripadvisor开发者门户获取您的Tripadvisor内容API密钥。
  2. 配置您的Tripadvisor内容API环境变量,可以通过.env文件或系统环境变量进行配置:
# 必需:Tripadvisor内容API配置
TRIPADVISOR_API_KEY=your_api_key_here
  1. 将服务器配置添加到您的客户端配置文件中。例如,对于Claude Desktop:
{
  "mcpServers": {
    "tripadvisor": {
      "command": "uv",
      "args": [
        "--directory",
        "<full path to tripadvisor-mcp directory>",
        "run",
        "src/tripadvisor_mcp/main.py"
      ],
      "env": {
        "TRIPADVISOR_API_KEY": "your_api_key_here"
      }
    }
  }
}

注意:如果在Claude Desktop中看到Error: spawn uv ENOENT错误,您可能需要指定uv的完整路径或在配置中设置环境变量NO_UV=1

Docker使用方法

该项目包括Docker支持,以实现轻松部署和隔离。

构建Docker镜像

使用以下命令构建Docker镜像:

docker build -t tripadvisor-mcp-server .

使用Docker运行

您可以使用多种方式通过Docker运行服务器:

直接使用docker run

docker run -it --rm \
  -e TRIPADVISOR_API_KEY=your_api_key_here \
  tripadvisor-mcp-server

使用docker-compose

创建一个包含您的Tripadvisor API密钥的.env文件,然后运行:

docker-compose up

在Claude Desktop中使用Docker

要在Claude Desktop中使用容器化服务器,请更新配置以使用Docker并传递环境变量:

{
  "m_服务器": {
    "tripadvisor": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e", "TRIPADVISOR_API_KEY",
        "tripadvisor-mcp-server"
      ],
      "env": {
        "TRIPADVISOR_API_KEY": "your_api_key_here"
      }
    }
  }
}

此配置通过使用-e标志仅传递变量名,并在env对象中提供实际值,将环境变量从Claude Desktop传递到Docker容器。

开发

欢迎贡献!如果您有任何建议或改进,请打开一个问题或提交一个拉取请求。

该项目使用uv来管理依赖项。根据您的平台安装uv

curl -LsSf https://astral.sh/uv/install.sh | sh

然后,您可以创建一个虚拟环境并安装依赖项:

uv venv
source .venv/bin/activate  # 在Unix/macOS上
.venv\Scripts\activate     # 在Windows上
uv pip install -e .

项目结构

项目已组织成一个src目录结构:

tripadvisor-mcp/
├── src/
│   └── tripadvisor_mcp/
│       ├── __init__.py      # 包初始化
│       ├── server.py        # MCP服务器实现
│       ├── main.py          # 主应用程序逻辑
├── Dockerfile               # Docker配置
├── docker-compose.yml       # Docker Compose配置
├── .dockerignore            # Docker忽略文件
├── pyproject.toml           # 项目配置
└── README.md                # 此文件

测试

项目包含一个测试套件,确保功能并帮助防止回归。

使用pytest运行测试:

# 安装开发依赖项
uv pip install -e ".[dev]"

# 运行测试
pytest

# 带覆盖率报告运行
pytest --cov=src --cov-report=term-missing

工具

工具类别描述
search_locations搜索通过查询文本、类别和其他过滤器搜索地点
search_nearby_locations搜索查找特定坐标附近的地点
get_location_details获取获取地点的详细信息
get_location_reviews获取检索地点的评论
get_location_photos获取获取地点的照片

许可证

MIT