基于 TMDb API 的美国电视剧推荐 MCP 服务器,提供按类型、相似电视剧和电视剧详情的推荐功能。
该项目是一个基于 MCP(模型上下文协议)的服务器,专门设计用于提供全面的美国电视剧推荐和信息查询服务。该服务器通过标准输入输出(STDio)与支持 MCP 的客户端通信,并通过调用 TMDb(The Movie Database)API 获取数据。服务涵盖各种功能,如电视剧发现、详情查询、观看渠道、演员信息、用户评论等,为用户提供一站式的电视剧探索体验。
大规模语言模型(LLMs)在理解和生成文本方面表现出色,但在提供实时、个性化的美国电视剧推荐方面存在局限性,例如知识截止和缺乏对用户偏好的理解。用户希望通过自然语言交互获得更准确和及时的推荐,但现有的 LLMs 无法完全满足这一需求。本项目旨在通过 Model Context Protocol(MCP)Server 扩展 LLM 的能力,解决这一痛点,并抓住机会提供更加智能化的影视发现体验。
愿景: 使用户能够通过与 LLM 的自然对话无缝地发现、了解并获取个性化、实时且可解释的美国电视剧推荐,将 LLM 转变为强大的个人娱乐顾问。
主要目标用户是熟悉并使用支持 MCP 的 LLM 客户端(如 Claude Desktop)的个人用户。他们是美国电视剧的粉丝,愿意使用 AI 来获取信息,并希望以一种更自然和互动的方式发现符合自己口味的新剧集。
此 MCP 服务器采用模块化设计,重点分离明确。服务器初始化 MCP 框架,注册各种推荐工具,并使用 TMDb 客户端与 TMDb API 进行交互。配置设置(特别是 TMDb API 密钥)通过环境变量进行管理。
flowchart TD
A["MCP客户端<br>(LLM工具)"] -- "MCP请求<br>(stdio)" --> B
subgraph "服务器架构"
B["MCP核心<br>(stdio)"] --> C["工具路由器"]
C --> D["工具实现层"]
D --> E["TMDb服务客户端"]
D --> F["工具辅助功能<br>(如类型映射)"]
E -- "HTTP请求" --> G["TMDb API"]
D --> H["日志系统"]
E --> H
end
G -- "HTTP响应" --> E
B -- "发送响应" --> A
以下是该项目的完整功能列表和开发状态(基于目录中的 .ai 用户故事):
Epic 1: 核心推荐工具 MVP (Core Recommendation Tools MVP)
story-1-1-setup-integration.md)story-1-2-recommend-genre.md) - 工具:get_recommendations_by_genrestory-1-3-recommend-similar.md) - 工具:get_similar_showsstory-1-4-show-details.md) - 工具:get_show_detailsEpic 2: 增强与扩展
story-2-1-keyword-discovery.md)story-2-2-early-works.md)story-2-3-episode-details.md)story-2-4-provider-aggregation.md)story-2-5-actor-info.md) - 工具:get_actor_details_and_credits, find_shows_by_actor, get_recommendations_by_actorstory-2-6-advanced-discovery.md) - 工具:discover_showsstory-2-7-popular-trending.md) - 工具:get_popular_shows, get_trending_showsstory-2-8-reviews-ratings.md) - 工具:get_show_reviewsstory-2-9-trailers.md) - 工具:get_show_videosstory-2-10-watch-providers.md) - 工具:get_watch_providersEpic 3: 个性化与集成
story-3-1-watch-progress.md)Epic 4: 可视化与探索
story-4-1-franchise-visualization.md)使用 NPX 可以快速运行服务器而无需安装:
# 设置 TMDb API 密钥(必须)
export TMDB_API_KEY=your_api_key_here
# 运行服务器
npx tv-recommender-mcp-server
从 NPM 安装
npm install -g tv-recommender-mcp-server
配置环境变量
export TMDB_API_KEY=your_api_key_here
运行服务器
tv-recommender-mcp-server
或者,您可以克隆仓库:
克隆仓库
git clone <仓库地址>
cd tv-recommender-mcp-server
安装依赖
npm install
配置环境变量
.env-example 为 .env.env 文件中填写 API 密钥字段 TMDB_API_KEY构建并运行项目
npm run build
npm start
要在 Smithery 平台上使用此 MCP 服务器,请按照以下步骤操作:
要在 Cursor 中使用此 MCP 服务器,请按照以下步骤操作:
在项目的根目录下创建(或编辑).cursor/mcp.json 文件
在文件中配置服务器信息,如下所示(使用 npx):
{
"mcpServers": {
"TVRecommender": {
"command": "npx",
"args": [
"tv-recommender-mcp-server"
]
}
}
}
使用环境变量传递 TMDb API 密钥:
{
"mcpServers": {
"TVRecommender": {
"command": "env",
"args": [
"TMDB_API_KEY=your_api_key_here",
"npx",
"tv-recommender-mcp-server"
]
}
}
}
保存文件后,Cursor 将自动检测并加载此 MCP 服务器
现在,您可以通过以下方式在 Cursor 中使用此工具:
/ 并选择 TVRecommender 工具要调试或查看日志:
Cmd+Option+I 查看控制台输出"DEBUG=mcp:*,npx tv-recommender-mcp-server"这里有几个实际的使用场景示例,展示如何结合多个工具以获得更好的体验:
发现新电视剧:
get_popular_shows 或 get_trending_shows 获取当前热门电视剧get_show_details 查看详情get_show_videos 观看预告片get_watch_providers 查找观看渠道基于喜爱的演员探索:
get_actor_details_and_credits 查看喜爱演员的所有作品get_recommendations_by_actor 获取与演员相关的推荐get_show_reviews 查看其他观众的评论精确筛选电视剧:
discover_shows 结合多种条件(如类型、年代、评分、关键词等)精准搜索符合个人喜好的电视剧相似内容探索:
get_similar_shows 查找具有相似风格的其他电视剧get_recommendations_by_genre 探索更多同类型的高质量内容以上功能可以自然地结合在 AI 对话中,例如,您可以对 AI 说:“推荐一些类似于《怪奇物语》的科幻剧,并告诉我在哪里观看”,MCP 工具将自动配合 AI 提供所需的信息。
此 MCP 服务器提供了以下工具:
有关工具使用的详细文档和系统架构,请访问我们的 DeepWiki 文档。这包括:
这里是每个工具的使用示例:
/TVRecommender get_watch_providers --show_title="怪奇物语" --country_code="US"
/TVRecommender discover_shows --with_genres=["科幻", "惊悚"] --vote_average_gte=8.0 --first_air_date_year=2022
/TVRecommender get_actor_details_and_credits --actor_name="布莱恩·科兰斯顿"
/TVRecommender get_popular_shows
/TVRecommender get_trending_shows --time_window="day"
/TVRecommender get_show_videos --show_title="权力的游戏"
/TVRecommender get_show_reviews --show_title="绝命毒师" --page=1
.env 文件必须包含在 .gitignore 中。如果您希望参与开发,可以使用以下命令启动开发模式:
npm run dev
此项目配置了 GitHub Actions 工作流,可以自动发布到 NPM:
package.json 中的版本号NPM_TOKEN 您的 NPM 访问令牌您也可以手动触发发布工作流。
欢迎提交 Issue 和 Pull Requests 以帮助改进此项目。
MIT © 2023-present