返回市场
麦克佩-电影数据库

麦克佩-电影数据库

作者:leonardogilrodriguez3 星标更新:2025-06-23

项目介绍

MCP TMDB

该项目是Model Context Protocol (MCP)的一个实现,提供了与The Movie Database (TMDB)交互的工具。

关于TMDB

<img src=https://www.themoviedb.org/assets/2/v4/logos/v2/blue_short-8e7b30f73a4020692ccca9c88bafe5dcb6f8a62a4c6bc55cd9ba82bb2cd95f6c.svg alt="TMDB logo" width="100%"></img>

The Movie Database (TMDB)是一个流行的、用户可编辑的电影和电视节目数据库。它提供了一个全面的API,允许开发者访问电影和电视节目的数据,包括:

  • 电影和电视节目信息
  • 演员和剧组人员详情
  • 图像和海报
  • 评分和评论
  • 相似内容推荐
  • 以及更多

API概述

TMDB API是免费使用的,但需要一个API密钥。您可以通过以下步骤获取您的API密钥:

  1. TMDB创建一个账户
  2. 前往您的账户设置
  3. 选择“API”部分
  4. 请求一个API密钥

速率限制

API具有以下速率限制:

  • 每10秒40次请求
  • 每天1000次请求

有关API的更多信息,请访问TMDB API文档

预备条件

  • Node.js(推荐版本:18或更高)
  • pnpm(版本10.7.0或更高)

安装

  1. 克隆仓库:
git clone https://github.com/leonardogilrodriguez/mcp-tmdb.git
cd mcp-tmdb
  1. 安装依赖项:
pnpm install
  1. 在项目根目录中创建一个.env文件,并添加您的TMDB API密钥:
TMDB_API_KEY=your_api_key_here

可用工具

1. two_actors_on_screen

搜索两个演员共同出现在屏幕上的电影。

参数:

  • actor1:第一个演员的名字
  • actor2:第二个演员的名字
  • language:(可选)结果语言(默认:"en")

2. two_people

搜索两个在任何角色上合作的人的电影。

参数:

  • person1:第一个人的名字
  • job1:第一个人的工作。可能值:cast, crew
  • person2:第二个人的名字
  • job2:第二个人的工作。可能值:cast, crew
  • language:(可选)结果语言(默认:"en")

3. two_movies

搜索在两部电影中以任何角色工作的人。

参数:

  • movie1:第一部电影的名字
  • year1:(可选)第一部电影的年份
  • movie2:第二部电影的名字
  • year2:(可选)第二部电影的年份
  • language:(可选)结果语言(默认:"en")

4. filmography_actor_genre

搜索某人在特定类型中的演员作品。

参数:

  • person:演员的名字
  • genre:(可选)类型名称
  • language:(可选)结果语言(默认:"en")

5. filmography_crew_genre

搜索某人在特定类型中的剧组成员作品。

参数:

  • person:某人的名字
  • job:(可选)工作名称
  • genre:(可选)类型名称
  • language:(可选)结果语言(默认:"en")

6. jobs_list

提供可用于filmography_crew_genre工具的工作列表。

使用方法

要运行MCP服务器:

pnpm inspector

要在调试模式下运行:

pnpm dev:debug

项目结构

mcp-tmdb/
├── API/              # API函数和实用程序
├── interfaces/       # 类型和接口定义
├── tools/           # 工具实现
├── main.ts          # 主入口点
├── package.json     # 项目配置
└── .env            # 环境变量(创建)

主要依赖项

  • @modelcontextprotocol/sdk: ^1.12.1
  • dotenv: ^16.5.0
  • zod: ^3.25.55

MCP配置

Claude Desktop

要在Claude Desktop中配置此MCP:

  1. 打开Claude Desktop
  2. 转到设置 > MCP配置
  3. 添加一个新的MCP,使用以下设置:
    "tmdb": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "tsx",
      "args": [
        "complete_path_to_mcp-tmdb\\main.ts"
      ],
      "env": {
        "TMDB_API_KEY": "your_api_key_here"
      }
    }

工具输出示例

1. two_actors_on_screen

当搜索Cary Grant和Katharine Hepburn共同出演的电影时的示例输出:

[
    {
        "id": 31866,
        "title": "Sylvia Scarlett",
        "year": 1935,
        "media_type": "movie"
    },
    {
        "id": 900,
        "title": "Bringing Up Baby",
        "year": 1938,
        "media_type": "movie"
    },
    {
        "id": 16274,
        "title": "Holiday",
        "year": 1938,
        "media_type": "movie"
    },
    {
        "id": 981,
        "title": "The Philadelphia Story",
        "year": 1940,
        "media_type": "movie"
    }
]

2. two_people

当搜索Christopher Nolan和Hans Zimmer的合作时的示例输出:

[	
    {
        "id": 272,
        "title": "Batman Begins",
        "year": 2005,
        "media_type": "movie"
    },
    {
        "id": 155,
        "title": "The Dark Knight",
        "year": 2008,
        "media_type": "movie"
    },
    {
        "id": 27205,
        "title": "Inception",
        "year": 2010,
        "media_type": "movie"
    }
 	...
]

3. two_movies

当搜索在两部电影中工作的人:泰坦尼克号和指环王:王者归来时的示例输出:

[{
        "id": 1369,
        "name": "Bernard Hill",
        "known_for_department": "Acting"
    },
    {
        "id": 1327030,
        "name": "Lora Hirschberg",
        "job": "Sound Re-Recording Mixer",
        "known_for_department": "Sound"
    },
    {
        "id": 900,
        "name": "Christopher Boyes",
        "job": "Sound Re-Recording Mixer",
        "known_for_department": "Sound"
    },
    {
        "id": 1378696,
        "name": "Ethan Van der Ryn",
        "job": "Sound Effects Editor",
        "known_for_department": "Sound"
    },
    {
        "id": 1425978,
        "name": "Gary Summers",
        "job": "Sound Re-Recording Mixer",
        "known_for_department": "Sound"
    }
]

4. filmography_actor_genre

当搜索Tom Hanks的恐怖电影时的示例输出:

[{
        "title": "He Knows You're Alone",
        "character": "Elliot",
        "media_type": "movie",
        "year": 1980
    },
    {
        "title": "The 'Burbs",
        "character": "Ray Peterson",
        "media_type": "movie",
        "year": 1989
    },
    {
        "title": "Vault of Horror I",
        "character": "Baxter",
        "media_type": "movie",
        "year": 1994
    }
]

4. filmography_crew_genre

当搜索Steven Spielberg作为导演的喜剧电影时的示例输出:

[{
        "title": "The Sugarland Express",
        "media_type": "movie",
        "year": 1974,
        "jobs": [
            "Director"
        ]
    },
    {
        "title": "1941",
        "media_type": "movie",
        "year": 1979,
        "jobs": [
            "Director"
        ]
    },
    {
        "title": "Amazing Stories",
        "media_type": "tv",
        "year": 1985,
        "jobs": [
            "Director"
        ]
    },
    {
        "title": "Hook",
        "media_type": "movie",
        "year": 1991,
        "jobs": [
            "Director"
        ]
    },
    {
        "title": "The Terminal",
        "media_type": "movie",
        "year": 2004,
        "jobs": [
            "Director"
        ]
    }
]

5. jobs_list

可用工作的示例输出:

{
  "jobs": [
    "Director",
    "Producer",
    "Screenplay",
    "Director of Photography",
    "Editor",
    "Production Design",
    "Art Direction",
    "Set Decoration",
    "Costume Design",
    "Makeup",
    "Sound",
    "Visual Effects",
    "Original Music Composer"
  ]
}

演示

two_actors_on_screen

Two Actors on screen

two_movies

Two Actors on screen

许可证

MIT