电影元数据MCP服务器
 ](https://nodejs.org/) ](https://www.docker.com/)
一种模型上下文协议(MCP)服务器,提供从TMDB(电影数据库)和OMDB(开放电影数据库)API获取和分析电影元数据的工具。
特性
此MCP服务器为电影和电视节目数据提供了八个强大的工具:
电影工具
- get_movie_by_imdb -通过OMDB API使用IMDB ID获取电影数据(主要)
- search_movies -按标题搜索电影,可选择年份过滤
- get_movie-details -使用TMDB ID获取全面的电影信息
- get_popular_movies -发现当前热门电影
- 分析视频性能 -分析电影性能指标(投资回报率、收视率、受欢迎程度)
电视节目工具
- search_tv_shows -按名称搜索电视节目,并可选择年份过滤
- get_tv_show_details -使用TMDB ID获取全面的电视节目信息
- get_tv_剧集_详细信息 -获取特定剧集信息(名称、播出日期、概述)
先决条件
- Node.js 18或更高版本
- OMDB API密钥(免费https://www.omdbapi.com/apikey.aspx)-主要提供者
- TMDB API密钥(免费https://www.themoviedb.org/settings/api)-二级提供者
安装
- 克隆此存储库:
git clone https://github.com/stevenaubertin/movie-metadata-mcp.git
cd movie-metadata-mcp- 安装依赖项:
npm install- 构建项目:
npm run build配置
API密钥
服务器支持两个API提供程序,并使用配置的一个或两个提供程序:
- OMDB_API_键 (主要)-从获取您的免费API密钥 OMDB
- 使能够: get_movie_by_imdb
- TMDB_API_键 (二级)-从获取您的免费API密钥 TMDB
- 使能够: search_movies, get_movie_details, get_popular_movies, analyze_movie_performance, search_tv_shows, get_tv_show_details, get_tv_episode_details
备注:建议至少使用一个API密钥,但服务器将在两者都不存在的情况下成功启动(显示警告)。只有配置的提供程序的工具可用。
Claude桌面配置
将此服务器添加到您的Claude Desktop配置文件中:
视窗: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"movie-metadata": {
"command": "node",
"args": ["C:\\Users\\x0r\\repo\\movie-metadata-mcp\\dist\\index.js"],
"env": {
"TMDB_API_KEY": "your_tmdb_api_key_here",
"OMDB_API_KEY": "your_omdb_api_key_here"
}
}
}
}重要:替换中的路径 args 与您的建筑绝对路径 index.js 文件并添加实际的API密钥。
用法示例
一旦配置了Claude Desktop,您可以要求Claude使用这些工具:
搜索电影
"Search for movies with 'Inception' in the title"
"Find movies named 'The Matrix' released in 1999"获取电影详细信息
"Get detailed information about the movie with TMDB ID 27205"
"What are the production companies for movie ID 550?"分析电影性能
"Analyze the financial performance of The Shawshank Redemption (movie ID 278)"
"Show me the ROI and ratings for movie ID 155"获取热门电影
"What are the popular movies right now?"
"Show me page 2 of popular movies"通过IMDB ID获取电影
"Get information about movie with IMDB ID tt0111161"
"Look up tt0468569 on IMDB"搜索电视节目
"Search for TV shows with 'Breaking Bad' in the title"
"Find TV shows named 'The Office' that started in 2005"获取电视节目详细信息
"Get detailed information about the TV show with TMDB ID 1396"
"How many seasons does TV show ID 1668 have?"获取电视剧集详细信息
"Get details for Breaking Bad season 5 episode 14"
"What is the name of episode 1 of season 1 for TV show ID 1396?"可用工具
get_movie_by_imdb(主OMDB)
- 参数:
- imdb_id (必填):IMDB ID(例如,“tt0111161”)
- 退货:来自OMDB的电影信息,包括来自多个来源的评级
搜索电影(TMDB)
- 参数:
- query (必填):要搜索的电影标题 - year (可选):发布年份过滤器
- 退货:具有ID、标题、评级和概述的匹配电影列表
get_movie_details(TMDB)
- 参数:
- movie_id (必填):TMDB电影ID
- 退货:全面的电影数据,包括预算、收入、类型、运行时间、制作公司
get_popular_movies(TMDB)
- 参数:
- page (可选):分页页码(默认值:1)
- 退货:当前热门电影列表
分析视频性能(TMDB)
- 参数:
- movie_id (必填):TMDB电影ID
- 退货:财务分析(投资回报率、利润)、观众接受度指标、制作信息
search_tv_shows(TMDB)
- 参数:
- query (必填):要搜索的电视节目名称 - year (可选):第一空气年过滤器
- 退货:包含ID、名称、收视率和概述的匹配电视节目列表
get_tv_show_details(TMDB)
- 参数:
- tv_id (必填):TMDB电视节目ID
- 退货:全面的电视节目数据,包括季数/集数、类型、播出日期、状态
获取_事件_细节(TMDB)
- 参数:
- tv_id (必填):TMDB电视节目ID - season_number (必填):季节编号 - episode_number (必填):剧集编号
- 退货:剧集详细信息,包括名称、播出日期、概述、运行时间和收视率
Docker部署
Docker提供了运行此MCP服务器的最简单方法,无需安装Node.js或在本地管理依赖关系。
先决条件
- Docker已安装()
- 来自TMDB和/或OMDB的API密钥
Docker快速入门
步骤1:获取API密钥
步骤2:克隆并导航到存储库
git clone https://github.com/stevenaubertin/movie-metadata-mcp.git
cd movie-metadata-mcp步骤3:设置环境变量
复制示例环境文件并添加API密钥:
# Copy the example file
cp .env.example .env
# Edit .env and replace with your actual API keys
# TMDB_API_KEY=your_actual_tmdb_key_here
# OMDB_API_KEY=your_actual_omdb_key_here步骤4:构建Docker镜像
docker build -t movie-metadata-mcp .这将创建一个包含MCP服务器和所有依赖项的轻量级Docker映像(约50MB)。
步骤5:测试服务器
以交互方式运行容器以验证其是否正常工作:
docker run -i --rm \
-e TMDB_API_KEY=your_tmdb_api_key \
-e OMDB_API_KEY=your_omdb_api_key \
movie-metadata-mcp您应该看到输出显示:
- 在stdio上运行的服务器
- 提供程序状态(TMDB和OMDB已配置)
- 可用工具列表
按 Ctrl+C 停止。
使用Docker Compose(推荐)
Docker Compose简化了使用环境变量运行容器的过程 .env 文件。
第一步:确保 .env 文件已配置 (见上文快速入门)
步骤2:启动服务
docker-compose up -d步骤3:检查日志以验证其是否正在运行
docker-compose logs -f您应该看到服务器启动消息和提供程序状态。
步骤4:需要时停止服务
docker-compose down与Claude Desktop(Docker)集成
要将Docker化的MCP服务器与Claude Desktop一起使用,您需要配置Claude来运行Docker容器。
步骤1:找到您的Claude Desktop配置文件
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
步骤2:首先构建Docker镜像
docker build -t movie-metadata-mcp .步骤3:添加服务器配置
编辑您的 claude_desktop_config.json 并添加:
{
"mcpServers": {
"movie-metadata": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "TMDB_API_KEY=your_actual_tmdb_api_key_here",
"-e", "OMDB_API_KEY=your_actual_omdb_api_key_here",
"movie-metadata-mcp"
]
}
}
}重要:
- 替换
your_actual_tmdb_api_key_here和your_actual_omdb_api_key_here使用真正的API密钥 - 这
--rm标志确保容器在使用后被清理干净 - 这
-i标志使stdin保持打开状态以进行MCP通信
步骤4:重新启动克劳德桌面
关闭并重新打开Claude Desktop以加载新配置。
步骤5:验证服务器是否可用
在Claude Desktop中,您应该能够让Claude使用电影元数据工具,例如:
- “搜索有关太空探索的电影”
- “获取电影ID 550(搏击俱乐部)的详细信息”
- “现在流行的电影是什么?”
Docker提示
服务器启动时查看可用工具:
服务器日志显示配置了哪些提供程序以及哪些工具可用:
Movie Metadata MCP Server running on stdio
──────────────────────────────────────────────────
Provider Status:
OMDB: ✓ Configured
TMDB: ✓ Configured
Available Tools: 5
- get_movie_by_imdb
- search_movies
- get_movie_details
- get_popular_movies
- analyze_movie_performance
──────────────────────────────────────────────────仅使用一个API提供程序运行:
您可以只使用OMDB或TMDB运行:
# Only OMDB - Primary provider (1 tool available)
docker run -i --rm \
-e OMDB_API_KEY=your_omdb_api_key \
movie-metadata-mcp
# Only TMDB - Secondary provider (4 tools available)
docker run -i --rm \
-e TMDB_API_KEY=your_tmdb_api_key \
movie-metadata-mcp代码更改后重建:
如果修改源代码,请重建映像:
docker build -t movie-metadata-mcp .删除旧图像:
清理旧图像以节省空间:
docker image prune -f发展
# Install dependencies
npm install
# Build the project
npm run build
# Watch mode for development
npm run dev
# Run directly
npm start故障弱化
MCP服务器设计用于部分配置:
- 两个API都已配置:全部8个工具可用
- 仅配置OMDB (主要):1个可用工具(get_movie_by_imdb)
- 仅配置TMDB (次要):7个可用工具(搜索电影/电视节目、细节、流行、分析、剧集)
- 未配置API:服务器启动时出现警告,0个工具可用
服务器将启动时的提供程序状态记录到stderr,显示配置了哪些API以及哪些工具可用。OMDB首先被列为主要提供商。
API费率限制
- TMDB:免费层每10秒允许40个请求
- OMDB:免费层每天允许1000个请求
许可证
麻省理工学院
仓库
GitHub:
贡献
欢迎投稿!请随时提交问题或拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
作者
史蒂文·奥伯丁
- github: @史蒂文森
