项目简介

TMDB MCP 服务器是一个将 Model Context Protocol (MCP) 与 The Movie Database (TMDB) API 相连接的后端服务。它允许人工智能助手通过标准化的 MCP 协议,轻松查询电影、电视节目和演职人员的详细信息。

主要功能点

  • 电影与电视节目搜索: 支持按标题、关键词或年份搜索电影和电视节目。
  • 详细信息查询: 获取电影、电视节目和人物的全面细节,包括评分、概述、演职员表、演职人员信息等。
  • 热门与流行内容: 发现当前全球或指定区域内流行、趋势变化的电影和电视节目。
  • 人物搜索: 搜索演员、导演等影视行业专业人士,并获取其详细资料。

安装步骤

  1. 克隆仓库
    git clone https://github.com/dervish666/tmdb-mcp-server
    cd tmdb-mcp-server
  2. 安装依赖
    npm install
  3. 配置环境变量
    • 复制 '.env.example' 文件为 '.env':'cp .env.example .env'
    • 编辑 '.env' 文件,填入你的 TMDB API Key。 获取 TMDB API Key 的步骤:
      1. 访问 TMDB API 页面
      2. 注册或登录 TMDB 账号。
      3. 申请一个 API Key。
      4. 将获取到的 API Key 添加到 '.env' 文件中的 'TMDB_API_KEY' 变量。
    • '.env' 文件示例:
      PORT=12010
      TMDB_API_KEY=your-tmdb-api-key-here
      TMDB_BASE_URL=https://api.themoviedb.org/3

服务器配置 (供MCP客户端使用)

MCP 客户端需要知道如何启动并连接到 TMDB MCP 服务器。根据您选择的传输协议,配置信息会有所不同。在运行服务器之前,请确保您已经执行了 'npm run build' 命令来编译 TypeScript 源文件。

  1. Stdio 传输协议 (通过标准输入/输出通信,通常用于本地直接集成):
    {
      "server": {
        "name": "TMDB Stdio Server",
        "command": "node",
        "args": ["dist/mcp-server.js"]
      },
      "description": "启动一个通过标准输入/输出(Stdio)与客户端通信的TMDB MCP服务器实例。",
      "notes": "此配置要求您已运行 'npm run build' 命令以编译 'src/mcp-server.ts' 文件到 'dist/mcp-server.js'。"
    }
  2. HTTP 传输协议 (通过 HTTP 请求通信,适用于网络访问或独立部署):
    {
      "server": {
        "name": "TMDB HTTP Server",
        "command": "npm",
        "args": ["start"]
      },
      "config": {
        "url": "http://localhost:12010/mcp"
      },
      "description": "启动一个监听HTTP端口12010的TMDB MCP服务器实例,并通过 '/mcp' 路径处理请求。",
      "notes": "此配置要求您已运行 'npm run build' 命令以编译 'src/server.ts' 文件,并通过 'npm start' 命令运行服务器。"
    }

基本使用方法

  1. 启动服务器:根据您选择的运行模式,在项目根目录执行以下命令:
    • 开发模式 (HTTP 服务器)
      npm run dev
    • 生产模式 (HTTP 服务器)
      npm run build
      npm start
    • 生产模式 (Stdio 服务器)
      npm run build
      node dist/mcp-server.js
  2. 与 AI 助手集成:将上述的MCP服务器配置信息添加到您的AI助手或MCP客户端的配置中。AI助手将通过这些信息连接到TMDB MCP服务器,并发现可用的工具。
  3. 调用工具:一旦集成成功,AI助手即可通过自然语言指令调用服务器提供的工具,例如:
    • “帮我搜索1999年上映的电影《黑客帝国》。” (内部调用 'searchMovies' 工具)
    • “告诉我《阿凡达》这部电影的详细信息。” (内部调用 'getMovieDetails' 工具)
    • “今天有哪些热门的电视剧?” (内部调用 'getTrendingTVShows' 工具)

信息

分类

网页与API