项目简介

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 支持的剧集。

安装步骤

  1. 安装 Node.js: 确保你的系统已安装 Node.js (版本 >= 18)。可以从 Node.js 官网 下载安装。
  2. 使用 npx 运行: 该服务器发布为 npm 包。最简单的运行方式是使用 npx 直接执行:
    npx -y sonarr-mcp
    或者你可以选择全局安装后运行:
    npm 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 传输连接到客户端,客户端将能够:

  1. 发现能力: 客户端会自动发现该服务器提供的所有工具(如 'search-series', 'add-series')和资源(如 'episode', 'series')。
  2. 调用工具: 客户端可以根据服务器提供的工具定义(包括名称、描述和参数 schema)调用特定的 Sonarr 操作。例如,客户端可以调用 'search-series' 工具来搜索剧集,或调用 'add-series' 工具来添加剧集。
  3. 读取资源: 客户端可以通过资源 URI 访问 Sonarr 的数据。例如,客户端可以使用 'sonarr://series/{id}' URI 模式来获取特定 ID 的剧集详情。

具体的交互方式和数据格式遵循 MCP 协议规范,并由客户端库负责处理。用户通常通过客户端的应用界面与服务器的功能进行互动。

信息

分类

网页与API