README
🚀 旅评网 MCP 服务器
本服务器是一个用于旅评网(Tripadvisor)内容 API 的 模型上下文协议 (MCP) 服务器。它借助标准化的 MCP 接口,为人工智能助手提供对旅评网位置数据、评论和照片的访问能力,助力其搜索旅行目的地与体验。
✨ 主要特性
- [x] 可搜索旅评网上的位置(酒店、餐厅、景点)
- [x] 能获取特定位置的详细信息
- [x] 可查看位置的评论和照片
- [x] 支持根据坐标搜索附近的地点
- [x] 具备 API Key 认证功能
- [x] 提供 Docker 容器化支持
- [x] 为 AI 助手提供交互式工具
工具列表支持配置,您可按需选择对 MCP 客户端开放的工具。
📦 安装指南
从旅评网获取 API 密钥
从 旅评网开发者平台 获取您的旅评网内容 API 密钥。
配置环境变量
配置环境变量以设置旅评网内容 API,可通过 .env 文件或系统环境变量进行配置:
# 必填:旅评网内容 API 配置
TRIPADVISOR_API_KEY=your_api_key_here
服务器配置
将服务器配置添加到您的客户端配置文件中。例如,在Claude Desktop中:
{
"mcpServers": {
"tripadvisor": {
"command": "uv",
"args": [
"--directory",
"<旅评网-mcp 目录的完整路径>",
"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 build -t tripadvisor-mcp-server .
直接运行 Docker 容器
- 方式一:直接运行
docker run --rm -it -p 3001:3000 --name tripadvisor-mcp tripadvisor-mcp-server
- 方式二:使用配置文件
如果您有一个名为
config.json的配置文件,可以挂载到容器中:
docker run --rm -it -p 3001:3000 --name tripadvisor-mcp -v $(pwd)/config.json:/app/config.json tripadvisor-mcp-server
使用 docker-compose 运行
创建一个 docker-compose.yml 文件,内容如下:
version: '3'
services:
tripadvisor-mcp:
image: tripadvisor-mcp-server
restart: always
ports:
- "3001:3000"
environment:
- TRIPADVISOR_API_KEY=your_api_key_here
然后运行:
docker-compose up --build
在 Claude Desktop 中使用容器化服务器
在配置文件中添加以下内容,以在 Claude Desktop 中使用 Docker 镜像:
{
"mcpServers": {
"tripadvisor": {
"containerName": "tripadvisor-mcp",
"image": "tripadvisor-mcp-server:latest"
}
}
}
克隆项目
使用以下命令克隆该项目到本地:
git clone https://github.com/your-username/tripadvisor-mcp.git
cd tripadvisor-mcp
安装依赖
进入项目的根目录,运行以下命令安装依赖项:
npm install
💻 使用示例
基础用法
以下是使用该服务器进行开发的基本步骤:
- 克隆项目到本地。
- 安装依赖。
- 配置环境变量。
- 运行服务器。
🔧 技术细节
项目结构
以下是项目的文件目录结构:
tripadvisor-mcp/
├── src/ # 源代码目录
│ ├── services/ # API服务模块
│ └── config.js # 配置文件
├── Dockerfile # Docker镜像构建文件
├── package.json # 项目依赖和脚本配置
└── docker-compose.yml # Docker Compose配置文件
测试
运行测试套件
在项目的根目录中,运行以下命令以执行所有测试:
npm test
查看测试结果
您可以在控制台查看测试的详细输出,并检查是否有任何失败或错误信息。
工具列表
| 属性 | 详情 |
|------|------|
| search_locations | 搜索工具,可根据文本、类别和其他过滤条件搜索位置 |
| search_nearby_locations | 搜索工具,可根据坐标查找附近的地点 |
| get_location_details | 数据获取工具,可获取特定位置的详细信息 |
| get_location_reviews | 数据获取工具,可查看某个位置的评论 |
| get_location_photos | 数据获取工具,可获取某个位置的照片 |
📄 许可证
本项目使用 MIT 许可证。
Scan to contact