使用说明(Markdown 格式)
-
项目简介
- 本仓库实现了一个基于 MCP(Model Context Protocol)的服务器端,专门把 Overseerr 的媒体检索、请求、管理等能力暴露给 LLM 客户端。通过定义和暴露工具(Tools),LLM 可执行诸如搜索、请求、获取详情等操作,并且服务器内部具备缓存、重试、数据整合等机制,提升性能与稳定性。
-
主要功能点
- 实现 MCP 服务器核心功能:提供工具集(search_media、request_media、manage_media_requests、get_media_details)以供客户端通过 JSON-RPC 调用。
- Overseerr 集成:通过 Overseerr 的 API 实现媒体搜索、请求创建、请求管理、媒体详情查询等能力。
- 数据处理与丰富:支持结果的精简格式(compact/standard/full),并能在需要时附加额外的详细字段(包括剧集分季信息)。
- 缓存与重试:内置缓存机制以及对外部 API 的重试逻辑,提升响应速度与稳定性。
- 多传输协议支持:可通过 STDIO(标准输入输出)或 SSE/HTTP 传输与 MCP 客户端通信,方便在不同场景使用。
- 安全性与校验:对 Overseerr 的 URL、API key 进行格式校验,提供错误信息,增强使用时的自助排错能力。
-
安装步骤(简化版)
- 确认环境:Node.js 18 及以上。
- 获取代码:将仓库克隆到本地或服务器。
- 安装依赖并构建:
- 安装依赖并构建:安装依赖后执行构建,生成可执行入口。
- 构建完成后,会生成可以直接运行的入口文件(如 build/index.js)。
- 配置 Overseerr 连接信息:
- 需要 Overseerr 的实例地址和 API Key,用于访问 Overseerr API。
- 启动方式(两种模式任选其一):
- STDIO 模式(默认):
- 运行入口:node build/index.js
- 通过标准输入输出与 MCP 客户端通信,默认端口未暴露,适合在本地开发或与进程间通信搭配使用。
- HTTP/SSE 模式(对外暴露 MCP 端点):
- 设置环境变量 HTTP_MODE=true,并可通过 PORT 指定端口(默认 8085)。
- 启动后,通过 HTTP/MCP 通道可随时建立连接,常用于远程客户端接入。
- STDIO 模式(默认):
- 配置 MCP 客户端(以下信息用于客户端配置,不需要服务端改动):
- MCP 客户端需要知道服务器的启动命令和参数,以便与 MCP 服务器建立连接。
- 客户端配置示例(以 JSON 表示,供客户端使用;请在实际使用时按下述字段逐项填写): { "serverName": "overseerr", "command": "node", "args": ["build/index.js"], "env": { "OVERSEERR_URL": "https://overseerr.example.com", "OVERSEERR_API_KEY": "your-api-key-here" } // 如使用 Docker 部署,请相应调整为 Docker 启动命令及环境变量 }
-
基本使用方法
- 启动服务后,LLM 通过 MCP 客户端与 MCP 服务器建立连接,调用以下工具进行交互:
- search_media:用于在 Overseerr 中执行单次、批量或去重搜索,支持返回摘要、详细信息等字段。
- request_media:根据需要发起媒体请求,可单项或批量请求,支持 4K、季数、服务器与根目录等选项,以及干运行模式。
- manage_media_requests:对请求进行查看、列出、批准、拒绝或删除等管理操作。
- get_media_details:获取媒体的详细信息,支持多条目批量查询与按 level(基本/标准/完整)及字段筛选输出。
- 常用流程示例(简述)
-
- 通过 search_media 的 dedupeMode,传入一组标题,服务器会批量判断在 Overseerr 的可用性与状态,返回可操作结果及附加字段。
-
- 通过 request_media 提交所需的媒体请求,可以选择自动确认的场景,并根据需要传入季数或 all。
-
- 通过 get_media_details 获取媒体的详细信息,以便在对话中给出更丰富的上下文。
-
- 通过 SSE/HTTP 传输,LLM 客户端可以持续接收来自 MCP 的响应、通知及更新。
- 启动服务后,LLM 通过 MCP 客户端与 MCP 服务器建立连接,调用以下工具进行交互:
-
重要配置与运行提示
- Overseerr URL 与 API Key 需通过环境变量传入,且必须有效,否则会无法访问 Overseerr API。
- 本实现包含缓存、重试和错误处理逻辑,遇到网络错误或 5xx 时会自动重试,提升鲁棒性。
- 通过设置 HTTP_MODE 与 PORT,可以将 MCP 服务器暴露为可远程访问的 HTTP/ SSE 服务。
信息
分类
AI与计算