TMDB MCP服务器
电影数据库(TMDB)API的MCP服务器。它提供电影和电视搜索、流媒体可用性、演员和工作人员详细信息,以及为Codex和Claude Desktop等助理提供建议。
有关可重用MCP服务器和更高级别功能工作流之间的架构划分,请参阅 用户界面.md.
工具
电影探索
- 获取关注列表 --按心情、国家、语言、运行时间、评级和服务对周末入围名单进行排名
- 计划_聚会_聚会 --将电影之夜计划分组,包括主要选择、备份、通配符、适合派对的原因、提供商可用性,并避免标题过滤
- build_franchise_watch_order --特许经营/宇宙指南,包括发布顺序、建议顺序、总运行时间和供应商意识说明
- build_collection_gaplan --特许经营完成计划,包括关注/缺失的条目、剩余运行时间、提供商可用性和完成路径
- 推荐快速配置文件 --来自喜欢/不喜欢的标题的推荐,包括提供商知道的评分、比赛原因和注意事项
- search_movies --按标题/关键字搜索→ 标题、ID、评级、概述
- get_trending --十大热门电影(
timeWindow:“日”|“周”) - get_weekly_trepend_by_language --每周热门电影按原始语言分为英语、印地语和泰卢固语
- search_by_genre --电影类型名称,可选年份过滤器
- 高级搜索 --按流派、年份、最低评级、排序、语言过滤
- search_by_关键字 --按主题/关键字查找电影(例如“僵尸”、“抢劫”)
电影详细信息
- get_movie-details --完整细节:演员、工作人员、运行时间、流派、评论(由
movieId) - 比较电影 --对2-5个电影ID进行并排比较,包括评级、运行时间、演员、导演、提供商和最佳匹配注释
- get_recommendations --基于电影ID的前5个推荐
- get_similar_movies --通过TMDB的相似性算法播放相似电影
- get_watch_providers --按国家/地区划分的流媒体/租赁/购买可用性(默认值:IN)
- find_where towatch --搜索1-5个电影标题,并返回流媒体/租赁/购买可用性以及首选服务匹配
电视节目
- search_tv_shows --按标题搜索电视剧
- get_trending_tv --十大热门电视节目(
timeWindow:“日”|“周”)
人们
- 搜索_人 --按名字查找演员、导演、剧组→ ID+已知作品
- get_person_details --完整的传记+电影目录(电影+电视)
personId - build_person_watch_path --演员/导演观看路径,包括最佳评价、现在可用、最近和首发选择
资源
tmdb:///movie/--JSON格式的完整电影细节(标题、演员、导演、评论、海报URL)
快速开始
- 获取TMDB API密钥 themoviedb.org → 账户设置→ API
- 克隆、安装和构建:
git clone https://github.com/Laksh-star/mcp-server-tmdb.git
cd mcp-server-tmdb
npm install- 创建本地env文件并添加TMDB密钥:
cp .env.example .env- 安装本地Codex和Claude Desktop集成:
npm run install:local- 重新启动Codex或Claude Desktop(如果已打开)。
- 使用如下提示进行验证:
What movies are trending this week?在食品法典委员会,新的会议应该显示 TMDB 在插件列表中并公开 mcp__tmdb__ 命名空间。
工具表面冒烟
添加或合并工具后使用此冒烟测试。它验证预期的MCP工具合同,并调用主要的工作流程工具: compare_movies, find_where_to_watch, get_weekend_watchlist, plan_watch_party, build_franchise_watch_order, build_collection_gap_plan, recommend_from_taste_profile,以及 build_person_watch_path.
本地标准化MCP:
npm run build
set -a && source ./.env && set +a && npm run smoke:toolsCloudflare托管的MCP:
TMDB_MCP_ACCESS_TOKEN= node scripts/tool-surface-smoke.mjs --mcp-url https://tmdb-mcp..workers.dev/mcp该脚本将一个紧凑的验证工件写入:
examples/tool-surface-smoke.md为了避免工具膨胀,最好添加工作流工具,将多个TMDB调用组合到一个有用的用户决策中。仅当原始端点样式工具是可广泛重用的图元时,才保留它们。
每周趋势语言演示
此仓库包括一个调用MCP工具的小型可共享演示 get_weekly_trending_by_language,它获取实时TMDB每周热门电影,并按TMDB对当前首页进行分组 original_language.
在本地stdio MCP服务器上运行它:
npm run build
set -a && source ./.env && set +a && npm run demo:weekly-trending部署此版本的Worker后,对远程MCP端点运行相同的演示:
TMDB_MCP_ACCESS_TOKEN= node scripts/weekly-trending-languages.mjs --mcp-url https://tmdb-mcp..workers.dev/mcp如果部署是为了个人测试而故意不授权的,请省略 TMDB_MCP_ACCESS_TOKEN.
每周流媒体雷达
这个仓库还包括一个脚本优先的每周雷达。它将现有的MCP工具链接到一个Markdown工件中,该工件包含电影趋势、电视趋势、语言势头、动作就绪选择、家庭安全选择和口味分析探针。
本地标准化MCP:
npm run build
set -a && source ./.env && set +a && npm run demo:weekly-radar -- --country USCloudflare托管的MCP:
TMDB_MCP_ACCESS_TOKEN= node scripts/weekly-streaming-radar.mjs --mcp-url https://tmdb-mcp..workers.dev/mcp --country US脚本写道:
examples/weekly-streaming-radar.md发布日历观察列表
发布日历也是脚本优先。它为即将发布或最近发布的窗口扫描创建了一个Markdown工件,观察以后的候选对象、家庭安全基线和提供商探测。
本地标准化MCP:
npm run build
set -a && source ./.env && set +a && npm run demo:release-calendar -- --country US --days 90Cloudflare托管的MCP:
TMDB_MCP_ACCESS_TOKEN= node scripts/release-calendar-watchlist.mjs --mcp-url https://tmdb-mcp..workers.dev/mcp --country US --days 90脚本写道:
examples/release-calendar-watchlist.md提供商更改监视器
提供程序监视器首先是脚本,因为它需要持久状态。它召唤 find_where_to_watch,将当前提供程序列表与JSON快照进行比较,并编写Markdown增量报告,显示新的、已删除的、未更改的和缺少的提供程序可用性。
本地标准化MCP:
npm run build
set -a && source ./.env && set +a && npm run demo:provider-monitor -- --country US --titles "The Matrix,Inception" --services "Netflix,Prime Video"Cloudflare托管的MCP:
TMDB_MCP_ACCESS_TOKEN= node scripts/provider-change-monitor.mjs --mcp-url https://tmdb-mcp..workers.dev/mcp --country US --titles "The Matrix,Inception" --services "Netflix,Prime Video"脚本写道:
examples/provider-change-monitor.md
examples/provider-change-snapshot.json收藏缺口查找器
收集差距查找器脚本现在调用升级的MCP工具 build_collection_gap_plan 并编写一个可重复的Markdown完成报告,其中包含关注的条目、缺失的条目、剩余运行时间、提供程序可用性和最短的完成路径。
本地标准化MCP:
npm run build
set -a && source ./.env && set +a && npm run demo:collection-gaps -- --franchise "The Matrix" --watched "The Matrix" --country US --services "Netflix,Prime Video"Cloudflare托管的MCP:
TMDB_MCP_ACCESS_TOKEN= node scripts/collection-gap-finder.mjs --mcp-url https://tmdb-mcp..workers.dev/mcp --franchise "The Matrix" --watched "The Matrix" --country US --services "Netflix,Prime Video"脚本写道:
examples/collection-gap-finder.mdCloudflare Workers上的远程MCP
此仓库还可以作为Cloudflare Workers上的远程MCP服务器运行。远程服务器在以下位置公开了相同的TMDB工具 /mcp 通过流式HTTP,Claude、Cowork、Claude Desktop连接器和其他远程MCP客户端可以连接到公共URL。
现有的本地stdio服务器对于Codex和本地Claude Desktop的使用保持不变。Cloudflare入口点是 src/worker.ts.
Worker还提供浏览器演示 /: 周末值班礼宾。它支持个人选择和观看派对模式,然后使用TMDB发现、趋势、正在播放、学分、海报和观看提供商数据构建排名电影入围名单。浏览器应用程序还包括一个用于Cloudflare使用的帮助抽屉和一个工作流演示面板,其中包含用于脚本优先工件的命令,如每周流媒体雷达、提供商更改监视器和收集差距查找器。
浏览器演示还包括 MCP刀具表面 调用已部署的面板 /mcp 路由,验证预期的工具合同,并采样 compare_movies, find_where_to_watch, get_weekend_watchlist, plan_watch_party, build_franchise_watch_order, build_collection_gap_plan, recommend_from_taste_profile,以及 build_person_watch_path.
Weekend Watch Concierge Workflow Demos panel
Weekend Watch Concierge Watch Party mode
有关完整的浏览器应用程序、部署的Worker、访问令牌和MCP切换,请参阅 docs/weekend-watch-concierge.md.
部署
- 登录Cloudflare:
npx wrangler login- 将TMDB密钥存储为Worker密钥:
npx wrangler secret put TMDB_API_KEY- 在共享部署之前,将访问令牌存储为Worker密钥:
npx wrangler secret put ACCESS_TOKEN当 ACCESS_TOKEN 设置, POST /api/concierge 和 POST /mcp 要求:
Authorization: Bearer - 检查Worker捆绑包:
npm run worker:dry-run- 部署:
npm run worker:deployCloudflare将打印一个URL,如下所示:
https://tmdb-mcp..workers.dev在远程客户端中使用此MCP端点:
https://tmdb-mcp..workers.dev/mcp使用此浏览器演示URL:
https://tmdb-mcp..workers.dev/来自Claude/Cowork的连接
对于Claude定制连接器:
- 打开克劳德设置:
Customize->Connectors. - 点击
+->Add custom connector. - 使用已部署的Worker MCP URL:
https://tmdb-mcp..workers.dev/mcp- 在对话中启用连接器并询问TMDB问题,例如:
What movies are trending this week?对于仍需要本地命令的Claude Desktop版本或MCP客户端,请使用 mcp-remote 代理:
{
"mcpServers": {
"tmdb-remote": {
"command": "npx",
"args": [
"mcp-remote",
"https://tmdb-mcp..workers.dev/mcp"
]
}
}
}安全说明
如果 ACCESS_TOKEN 如果未配置,则Worker是无权限的,便于进行个人测试。任何拥有Worker URL的人都可以调用只读TMDB工具并使用您的TMDB API配额。保持 ACCESS_TOKEN 在您自己的帐户之外共享之前,请先配置或使用Cloudflare Access。
周末值班礼宾
运行离线礼宾测试:
npm test这将构建TypeScript项目,启动一个与TMDB兼容的小型本地夹具服务器,并验证 createWeekendConcierge 在尊重运行时过滤器的同时,首先对请求的流媒体服务匹配进行排名。它不需要TMDB API密钥。
在本地运行Worker:
npm run worker:dev这将从以下位置同步本地值 .env 进入一个未被追踪的领域 .dev.vars 文件,以便Wrangler可以公开 TMDB_API_KEY 在当地发展过程中,工人。
对于受保护的本地测试,请添加 ACCESS_TOKEN 到 .env浏览器应用程序有一个访问令牌字段,烟雾脚本可以读取 ACCESS_TOKEN 或 TMDB_MCP_ACCESS_TOKEN 来自shell环境。
打开:
http://127.0.0.1:8787/在本地工人运行后对礼宾API进行烟雾测试:
npm run smoke:concierge烟雾测试远程MCP端点,并呼叫面向客服的礼宾工具:
node scripts/remote-mcp-smoke.mjs http://127.0.0.1:8787/mcp --call-concierge对于受保护的部署:
TMDB_MCP_ACCESS_TOKEN= node scripts/remote-mcp-smoke.mjs https://tmdb-mcp..workers.dev/mcp --call-concierge或者测试已部署的Worker:
node scripts/concierge-smoke.mjs https://tmdb-mcp..workers.dev该应用程序使用:
POST /api/concierge排名电影精选POST /api/collection-gap-plan规划实验室收集缺口GET /health用于部署健康状况POST /mcp用于远程MCP客户端
代理人可以致电 get_weekend_watchlist 与:
mood:crowd,thriller,thoughtful,funny,family,或mindbendcountry:例如,手表提供商地区IN或USlanguage:例如,原始语言代码en,hi,ta,te,或anyruntime:最大分钟数,例如120,150,或anyminRating:最低TMDB额定值services:首选流媒体服务familySafe:设置为true当TMDB流派数据可用时,排除常见的成熟流派
代理人可以致电 plan_watch_party 当决定是针对一个群体时。它接受:
moods:从以下一到三个值crowd,thriller,thoughtful,funny,family,或mindbendgroupSize:观看人数country,language,runtime,minRating,以及services:与周末观察名单含义相同avoidTitles:该组已经看过或希望排除的标题familySafe:设置为true当TMDB流派数据可用时,排除常见的成熟流派
代理人可以致电 build_franchise_watch_order 收藏或宇宙指南。它接受:
query:特许经营或收藏名称,例如The Matrix,Dune,Batman,或Mission Impossiblecountry:例如,手表提供商地区IN或USmaxMovies:最多可包含2到20个收藏条目
代理人可以致电 build_collection_gap_plan 用于特许经营完成规划。它接受:
query:特许经营或收藏名称watchedTitles:观看的标题或TMDB电影IDcountry:例如,手表提供商地区IN或USservices:首选流媒体服务maxMovies:最多可包含2到20个收藏条目
代理人可以致电 recommend_from_taste_profile 用于个性化推荐。它接受:
likedTitles:用户喜欢的一到五部电影dislikedTitles:用户在风格上不喜欢或想要避免的可选电影country,services,language,runtime,以及minRating:筛选和立即观看偏好maxResults:建议返回的数量,从3个到10个
代理人可以致电 build_person_watch_path 演员、导演、作家或剧组人员。它接受:
name:例如,人名Keanu Reeves或Christopher Nolancountry:例如,手表提供商地区IN或USservices:首选流媒体服务maxTitles:要返回的监视路径条目数,从3到8
Cloudflare MCP演示工作流程
对于具体的端到端代理工作流程,请运行正在播放的后续演示。它使用MCP服务器作为远程客户端:
get_now_playing在选定地区发现当前的剧院get_movie_details对于所选标题get_watch_providers立即观看可用性get_recommendations,与get_similar_movies非常新的标题的后备get_watch_providers用于后续可用性检查
本地标准化MCP:
npm run build
set -a && source ./.env && set +a && npm run demo:now-playing -- --region USCloudflare托管的MCP:
TMDB_MCP_ACCESS_TOKEN= node scripts/now-playing-follow-on-demo.mjs --mcp-url https://tmdb-mcp..workers.dev/mcp --region US脚本在此处写入最终工件:
examples/now-playing-follow-on-demo.md什么 npm run install:local 做
安装程序使用repo拥有的启动器 plugins/tmdb/scripts/run-server.sh.
对于Codex it:
- 将启动器注册为MCP服务器
- 安装本地
TMDB插件负载,使其出现在插件UI中
对于Claude Desktop来说:
- 将同一启动器注册为本地MCP服务器
它更新:
~/.codex/config.toml~/.codex/.tmp/plugins/.agents/plugins/marketplace.json~/.codex/plugins/cache/openai-curated/tmdb/...~/Library/Application Support/Claude/claude_desktop_config.json
发射器显示 TMDB_API_KEY 从您的shell环境或repo .env 文件。
使用Claude Desktop
如果您更喜欢手动设置,请添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"tmdb-local": {
"command": "/full/path/to/mcp-server-tmdb/plugins/tmdb/scripts/run-server.sh",
"args": []
}
}
}编辑配置后重新启动Claude Desktop。
使用Codex
安装程序将这些块添加到 ~/.codex/config.toml:
[mcp_servers.tmdb_local]
command = "/full/path/to/mcp-server-tmdb/plugins/tmdb/scripts/run-server.sh"
[plugins."tmdb@openai-curated"]
enabled = true编辑配置后重新启动Codex。在一次新的食品法典委员会会议上, TMDB 应该出现在插件列表中并贡献 mcp__tmdb__ 命名空间。
验证
离线烟雾测试:
TMDB_API_KEY=dummy node plugins/tmdb/scripts/smoke-test.mjs在线烟雾测试:
set -a && source ./.env && set +a && node plugins/tmdb/scripts/smoke-test.mjs --online插件文档
有关插件打包、本地安装行为和Codex特定说明,请参阅 plugins/tmdb/README.md.
与BizClaw/NanoClaw一起使用
内置于代理容器中。刚刚设置 TMDB_API_KEY 在你的 .env file--不需要配置。
示例提示
"What's trending in movies this week?"
"Find me Thriller movies from 2023"
"Who is Christopher Nolan and what has he directed?"
"Where can I watch Inception in India?"
"Get details for movie ID 550 (Fight Club)"
"Find movies similar to Interstellar"
"What are the trending TV shows right now?"许可证
麻省理工学院
