Tripadvisor内容API服务器

提供Tripadvisor位置数据、评论和照片的标准化访问接口,支持AI助手搜索旅行目的地和体验。

  • by pab1it0
  • Python
  • 本地部署
  • 64 星标
  • 更新于
在 GitHub 查看 pab1it0/tripadvisor-mcp

使用说明

Tripadvisor MCP服务器

A. 模型上下文协议 (MCP)服务器,用于Tripadvisor Content API。

这通过标准化的MCP界面提供了对Tripadvisor位置数据、评论和照片的访问,允许AI助手搜索旅行目的地和体验。

特性

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

  • [x] 获取有关特定位置的详细信息

  • [x] 检索地点的评论和照片

  • [x] 根据坐标搜索附近的位置

  • [x] API密钥验证

  • [x] Docker容器化支持

  • [x] 为AI助手提供交互式工具

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

用法

  1. 从获取Tripadvisor Content API密钥 Tripadvisor开发者门户.

  2. 通过 .env 文件或系统环境变量:

# Required: Tripadvisor Content API configuration
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"
      }
    }
  }
}

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

Docker使用

该项目包括Docker支持,便于部署和隔离。

构建Docker镜像

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

docker build -t tripadvisor-mcp-server .

使用Docker运行

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

直接使用docker运行:

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

使用docker编写:

创建一个 .env 使用Tripadvisor API密钥文件,然后运行:

docker-compose up

在Claude Desktop中运行Docker

要将容器化服务器与Claude Desktop一起使用,请更新配置以使用Docker和环境变量:

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

此配置通过使用以下命令将环境变量从Claude Desktop传递到Docker容器 -e 仅使用变量名标记,并在 env 对象。

发展

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

此项目使用 uv 管理依赖关系。安装 uv 按照您平台的说明进行操作:

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

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

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

项目结构

该项目由 src 目录结构:

tripadvisor-mcp/
├── src/
│   └── tripadvisor_mcp/
│       ├── __init__.py      # Package initialization
│       ├── server.py        # MCP server implementation
│       ├── main.py          # Main application logic
├── Dockerfile               # Docker configuration
├── docker-compose.yml       # Docker Compose configuration
├── .dockerignore            # Docker ignore file
├── pyproject.toml           # Project configuration
└── README.md                # This file

测试

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

使用pytest运行测试:

# Install development dependencies
uv pip install -e ".[dev]"

# Run the tests
pytest

# Run with coverage report
pytest --cov=src --cov-report=term-missing

工具

工具 类别 描述
search_locations 搜索 按查询文本、类别和其他筛选器搜索位置
search_nearby_locations 搜索 查找特定坐标附近的位置
get_location_details 检索 获取有关位置的详细信息
get_location_reviews 检索 检索某个地点的评论
get_location_photos 检索 获取某个位置的照片

许可证

麻省理工学院