电影数据库集成服务器

一个与The Movie Database (TMDB) API集成的服务器,提供电影、电视节目和人物信息的搜索与获取功能,适用于AI助手和内容发现应用。

  • by dervish666
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 dervish666/tmdb-mcp-server

使用说明

TMDB MCP 服务器

一个模型上下文协议(MCP)服务器,它提供与电影数据库(TMDB)API的集成,以便访问电影、电视节目和个人信息。此服务器允许人工智能助手搜索电影和电视节目,获取详细信息,发现热门内容,并探索演员和剧组人员的详情。

特点/特性

  • 电影搜索按标题、关键词或年份搜索电影
  • 电视节目搜索按剧名、关键词或首播年份搜索电视节目
  • 详细信息获取关于电影、电视节目和人物的全面详细信息
  • 热门内容发现热门电影和电视节目
  • 热门内容获取热门电影和电视节目(每日或每周)
  • 人员搜索搜索演员、导演及其他行业专业人士
  • 丰富的元数据获取评分、概述、演员表、剧组人员等更多信息

安装

  1. 克隆此存储库:

    git clone <repository-url>
    cd tmdb-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 设置环境变量:

    cp .env.example .env
    
  4. 编辑 .env 使用您的TMDB配置文件:

    PORT=12010
    TMDB_API_KEY=your-tmdb-api-key-here
    TMDB_BASE_URL=https://api.themoviedb.org/3
    
  5. 获取您的TMDB API密钥:

    • 访问 TMDB API
    • 如果您还没有账户,请创建一个
    • 请求API密钥
    • 将API密钥添加到您的 .env 文件

使用方法

发展

npm run dev

生产

npm run build
npm start

环境变量

  • PORTMCP服务器将监听的端口(默认:12010)
  • TMDB_API_KEY你的TMDB API密钥(必填)
  • TMDB_BASE_URLTMDB API的基础URL(默认:https://api.themoviedb.org/3)

可用工具

电影工具

  • 搜索电影按标题或关键词搜索电影
  • 获取电影详情获取特定电影的详细信息
  • 获取热门电影获取热门电影列表
  • 获取热门电影获取热门电影(每日或每周)

电视节目工具

  • 搜索电视剧按标题或关键词搜索电视节目
  • 获取电视节目详情获取特定电视节目的详细信息
  • 获取热门电视节目获取热门电视节目列表
  • 获取热门电视节目获取热门电视剧(每日或每周)

人员工具

  • 搜索人员按姓名搜索人物(演员、导演等)
  • 获取人员详细信息获取某人的详细信息

API终端节点

MCP 端点

主要的MCP端点可通过以下地址访问:

POST http://localhost:12011/mcp

健康检查

GET http://localhost:12010/health

与AI助手的集成

此服务器实现了模型上下文协议(MCP),并与兼容的AI助手集成。该服务器同时支持标准的MCP协议和旧版工具发现功能,以确保向后兼容性。

示例 MCP 请求

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "searchMovies",
    "arguments": {
      "query": "The Matrix",
      "year": 1999
    }
  },
  "id": 1
}

示例回复

{
  "jsonrpc": "2.0",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"page\": 1,\n  \"total_pages\": 1,\n  \"total_results\": 1,\n  \"results\": [\n    {\n      \"id\": 603,\n      \"title\": \"The Matrix\",\n      \"release_date\": \"1999-03-30\",\n      \"overview\": \"Set in the 22nd century...\",\n      \"vote_average\": 8.2,\n      \"vote_count\": 23000,\n      \"poster_path\": \"https://image.tmdb.org/t/p/w500/f89U3ADr1oiB1s9GkdPOEpXUk5H.jpg\",\n      \"backdrop_path\": \"https://image.tmdb.org/t/p/w1280/fNG7i7RqMErkcqhohV2a6cV1Ehy.jpg\",\n      \"genre_ids\": [28, 878],\n      \"popularity\": 85.965\n    }\n  ]\n}"
      }
    ]
  },
  "id": 1
}

Docker 支持

包含一个Dockerfile用于容器化部署:

docker build -t tmdb-mcp-server .
docker run -p 12010:12010 --env-file .env tmdb-mcp-server

错误处理

服务器包含全面的错误处理机制,针对:

  • 无效的TMDB API响应
  • 网络连接问题
  • 缺失或无效的参数
  • 限流(TMDB API限制)

速率限制

请留意TMDB API的速率限制:

  • 每10秒40个请求
  • 遵守API的服务条款

做出贡献

  1. 为仓库创建分支
  2. 创建一个特性分支
  3. 进行你的更改
  4. 如适用,请添加测试
  5. 提交一个拉取请求

许可证

此项目采用ISC许可证授权。

致谢