Tripadvisor MCP服务器
A. 模型上下文协议 (MCP)服务器,用于Tripadvisor Content API。
这通过标准化的MCP界面提供了对Tripadvisor位置数据、评论和照片的访问,允许AI助手搜索旅行目的地和体验。
特性
- \[x\] 在Tripadvisor上搜索地点(酒店、餐厅、景点)
- \[x\] 获取有关特定位置的详细信息
- \[x\] 检索地点的评论和照片
- \[x\] 根据坐标搜索附近的位置
- \[x\] API密钥验证
- \[x\] Docker容器化支持
- \[x\] 为AI助手提供交互式工具
工具列表是可配置的,因此您可以选择要向MCP客户端提供哪些工具。
用法
- 从获取Tripadvisor Content API密钥 Tripadvisor开发者门户.
- 通过
.env文件或系统环境变量:
# Required: Tripadvisor Content API configuration
TRIPADVISOR_API_KEY=your_api_key_here- 将服务器配置添加到客户端配置文件中。例如,对于Claude Desktop:
{
"mcpServers": {
"tripadvisor": {
"command": "uv",
"args": [
"--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 | 检索 | 获取某个位置的照片 |
许可证
麻省理工学院
______________________________________________________________________

