一个用于Tripadvisor内容API的模型上下文协议(MCP)服务器。
此服务通过标准化的MCP接口提供访问Tripadvisor位置数据、评论和照片的功能,允许AI助手搜索旅行目的地和体验。
在Tripadvisor上搜索地点(酒店、餐厅、景点)
获取特定地点的详细信息
检索地点的评论和照片
根据坐标搜索附近的地点
API密钥认证
Docker容器支持
提供交互式工具给AI助手
工具列表是可配置的,因此您可以选择要向MCP客户端提供的工具。
.env文件或系统环境变量进行配置:# 必需:Tripadvisor内容API配置
TRIPADVISOR_API_KEY=your_api_key_here
{
"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 build -t tripadvisor-mcp-server .
您可以使用多种方式通过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并传递环境变量:
{
"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