项目简介
Sonarr MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端应用,旨在通过标准化的方式,允许大型语言模型 (LLM) 或其他支持 MCP 协议的客户端访问和控制 Sonarr 媒体服务器。它将 Sonarr 的功能封装为易于理解和调用的工具与资源。
主要功能点
该服务器提供了以下核心功能:
- 资源访问: 允许客户端读取 Sonarr 中的特定数据,如:
- 'episode': 根据 ID 获取剧集详细信息。
- 'quality-definition': 列出 Sonarr 中配置的画质定义。
- 'quality-profiles': 列出 Sonarr 中配置的画质配置。
- 'series': 根据 ID 获取剧集详细信息。
- 工具调用: 允许客户端执行 Sonarr 中的操作,如:
- 'add-series': 向 Sonarr 添加新的剧集。
- 'find-episodes': 根据条件(如剧集 ID、季号)查找 Sonarr 中的剧集。
- 'get-logs': 获取 Sonarr 的分页日志信息。
- 'list-recent-downloads': 列出 Sonarr 近期的下载记录。
- 'list-upcoming-episodes': 列出 Sonarr 近期即将播出的剧集。
- 'search-series': 根据关键词搜索 Sonarr 支持的剧集。
安装步骤
- 安装 Node.js: 确保你的系统已安装 Node.js (版本 >= 18)。可以从 Node.js 官网 下载安装。
- 使用 npx 运行: 该服务器发布为 npm 包。最简单的运行方式是使用 npx 直接执行:
或者你可以选择全局安装后运行:npx -y sonarr-mcpnpm install -g sonarr-mcp sonarr-mcp
服务器配置
MCP 服务器通常由 MCP 客户端负责启动和管理。客户端需要知道如何启动该服务器进程。这通常通过客户端的配置文件(通常是 JSON 格式)来定义。以下是一个示例配置片段的说明,你需要将 Sonarr 的访问信息(URL 和 API 密钥)作为环境变量提供给启动的进程。
这是一个配置示例的说明,你需要根据你的 MCP 客户端文档进行实际配置:
{ "mcpServers": { "sonarr": { // 服务器在客户端中的唯一标识符 "command": "npx", // 启动服务器进程的命令 "args": ["-y", "sonarr-mcp"], // 传递给命令的参数 "env": { // 设置服务器进程所需的环境变量 "SONARR_URL": "http://localhost:8989", // 你的 Sonarr 实例的 URL "SONARR_API_KEY": "<your-sonarr-api-key>" // 你的 Sonarr API 密钥 } } } }
请注意:
- 'SONARR_URL' 环境变量必须设置为你的 Sonarr 实例的完整 URL (包括端口)。
- 'SONARR_API_KEY' 环境变量必须设置为你的 Sonarr API 密钥。你可以在 Sonarr Web UI 的 'Settings' > 'API' 页面找到你的 API 密钥。
基本使用方法
该 MCP 服务器设计为由支持 MCP 协议的客户端使用。一旦服务器按上述配置启动并通过 Stdio 传输连接到客户端,客户端将能够:
- 发现能力: 客户端会自动发现该服务器提供的所有工具(如 'search-series', 'add-series')和资源(如 'episode', 'series')。
- 调用工具: 客户端可以根据服务器提供的工具定义(包括名称、描述和参数 schema)调用特定的 Sonarr 操作。例如,客户端可以调用 'search-series' 工具来搜索剧集,或调用 'add-series' 工具来添加剧集。
- 读取资源: 客户端可以通过资源 URI 访问 Sonarr 的数据。例如,客户端可以使用 'sonarr://series/{id}' URI 模式来获取特定 ID 的剧集详情。
具体的交互方式和数据格式遵循 MCP 协议规范,并由客户端库负责处理。用户通常通过客户端的应用界面与服务器的功能进行互动。
信息
分类
网页与API