关于 Tripadvisor MCP Server
Tripadvisor MCP Server 是面向 Tripadvisor Content API 的 MCP 服务,提供地点数据、评论和照片的标准化访问。它适合需要让 AI 助手搜索旅行目的地和体验的开发者。
主要功能
- 01搜索酒店、餐厅和景点等地点
- 02获取指定地点的详细信息
- 03检索地点的评论和照片
- 04按坐标查找附近地点
- 05通过 API Key 进行认证
- 06支持 Docker 容器化部署
适用场景
- 01让 AI 助手推荐附近的餐厅或景点
- 02为旅行规划类应用提供地点评论与照片
- 03在容器环境中部署旅行数据查询服务
MCP 相关
该项目作为 MCP 服务运行,向 MCP 客户端暴露搜索、详情、评论和照片等工具。用户可在客户端配置中选择需要启用的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Tripadvisor MCP 服务
一个用于 Tripadvisor Content API 的 Model Context Protocol(MCP)服务。
该服务通过标准化的 MCP 接口提供对 Tripadvisor 地点数据、点评和照片的访问,让 AI 助手能够搜索旅行目的地和体验。
功能
-
在 Tripadvisor 上搜索地点(酒店、餐厅、景点)
-
获取特定地点的详细信息
-
获取地点的点评和照片
-
根据坐标搜索附近地点
-
API 密钥身份验证
-
支持 Docker 容器化
-
为 AI 助手提供交互式工具
工具列表可配置,因此你可以选择要向 MCP 客户端提供哪些工具。
用法
-
从 Tripadvisor Developer Portal 获取 Tripadvisor Content API 密钥。
-
通过
.env文件或系统环境变量配置 Tripadvisor Content API 的环境变量:
# Required: Tripadvisor Content API configuration
TRIPADVISOR_API_KEY=your_api_key_here
- 将服务配置添加到客户端配置文件中。以下以 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:
{
"mcpServers": {
"tripadvisor": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "TRIPADVISOR_API_KEY",
"tripadvisor-mcp-server"
],
"env": {
"TRIPADVISOR_API_KEY": "your_api_key_here"
}
}
}
}
此配置通过仅指定变量名的 -e 标志,将环境变量从 Claude Desktop 传递到 Docker 容器,并在 env 对象中提供实际值。
开发
欢迎贡献!如果你有任何建议或改进意见,请提交 issue 或 pull request。
本项目使用 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 | 获取 | 获取地点的照片 |
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。