用途
wizzy-mcp-tmdb 是一个 MCP(Model Context Protocol)服务器,使用 JavaScript 实现,用于从 The Movie Database(TMDB)搜索和检索电影、电视剧和人物信息。它使 AI 客户端能够通过标准化协议访问 TMDB 数据,适合需要让 AI 助手查询影视资料、获取详情或了解热门内容的场景。
主要能力
该服务器提供三类工具:
- Search Movies(search_tmdb 工具):对电影、电视剧和人物执行多类型搜索。
- Get Details(get_tmdb_details 工具):获取特定条目的详细信息。
- Trending Content(trending_all 工具):检索所有媒体类型的热门内容。
使用方式
环境要求
- Node.js 18 或更高版本(全局 fetch 支持所需)。
- 来自管理员的 TMDB API 密钥(Bearer token),用于 TNL TMDB 代理(production-api.tnl.one)。
安装与配置
- 克隆仓库并进入项目目录。
- 安装依赖:
npm install
- 将 TMDB API 密钥设为环境变量:
- Windows PowerShell:
$env:TMDB_AUTH_TOKEN="YOUR_TNL_PROXY_BEARER_TOKEN"
- macOS/Linux:
export TMDB_AUTH_TOKEN="YOUR_TNL_PROXY_BEARER_TOKEN"
启动 MCP 服务器
服务器通过 stdio 通信,应在支持 MCP 的客户端(例如 IDE 或聊天客户端)中配置,命令为 node mcp-tmdb-server.js,并设置 TMDB_AUTH_TOKEN 环境变量。
MCP 集成示例
将本 MCP 服务器集成到你的 MCP 客户端(如 IDE 或兼容的聊天客户端)时,可按以下步骤操作:
- 如有需要,安装 npm 包:
npm install -g wizzy-mcp-tmdb
- 在 MCP 客户端中创建或更新
mcp.json文件,使用以下配置:
{
"mcpServers": {
"tmdb": {
"command": "npx",
"args": ["wizzy-mcp-tmdb"],
"env": {
"TMDB_AUTH_TOKEN": "YOUR_TNL_PROXY_BEARER_TOKEN"
},
"alwaysAllow": [
"get_watch_providers",
"discover_tv",
"discover_by_provider"
]
}
}
}
注意:TMDB_AUTH_TOKEN 目前可以设置为随机值,因为 TMDB API 调用是免费的,并非强制要求认证。
测试策略
项目使用 Jest 进行综合测试,包括:
- 单元测试:验证各个处理函数、输入验证和响应格式化(见 tests/unit/handlers.test.js)。
- 集成测试:测试 API 交互、模拟响应、错误处理和网络故障(见 tests/integration/api.test.js)。
- 协议测试:确保 MCP 协议合规性,包括工具列举和调用(见 tests/protocol/mcp.test.js)。
运行测试套件:
运行 watch 模式: (资料中未提供具体测试命令,暂未提供。)
项目结构
(资料中未提供详细项目结构,暂未提供。)
贡献指南
欢迎贡献!请遵循以下指南:
- Fork 仓库。
- 创建功能分支。
- 进行修改并添加测试。
- 确保所有测试通过。
- 提交 pull request。
许可证
本项目基于 MIT 许可证。详见 LICENSE 文件。
致谢
- 感谢 The Movie Database(TMDB)提供 API。
- 使用 Model Context Protocol SDK 构建。
支持
如有问题或需要支持,请在 GitHub 上提交 issue。