-
项目简介 Sonarr智能助手MCP服务器是一个Model Context Protocol (MCP) 服务器,旨在将您的Sonarr实例与AI助手连接起来。通过这个服务器,AI助手可以查询Sonarr中跟踪的电视节目、查看日历、搜索新节目、添加新剧集以及管理剧集的下载状态,从而实现更智能的媒体库管理。
-
主要功能点
- 列出剧集: 获取Sonarr中所有正在跟踪的电视节目列表。
- 查看日历: 了解即将播出或最近播出的剧集信息。
- 搜索剧集: 根据名称搜索新的电视节目。
- 添加剧集: 将新的电视节目添加到Sonarr,并可设置质量配置和存储路径。
- 获取监控剧集: 检索特定剧集所有被监控的剧集信息。
- 搜索监控剧集: 触发Sonarr主动搜索特定剧集的所有被监控的剧集。
- 搜索特定剧集: 搜索指定剧集某季某集的信息,并可选择触发下载搜索。
- 检查剧集下载状态: 检查特定剧集某季某集是否已下载。
- 获取剧集总数: 获取某个剧集(包括所有季)的总集数。
-
安装步骤
- 克隆仓库:
git clone https://github.com/dervish666/sonarr-mcp-server.git cd sonarr-mcp-server - 安装依赖:
npm install - 配置Sonarr信息:
- 复制示例配置文件:'cp .env.example .env'
- 编辑'.env'文件,填入您的Sonarr实例URL和API密钥。您可以从Sonarr的“设置”>“通用”>“安全”部分获取API密钥。
PORT=12009 # MCP服务器监听端口,可以根据需要更改 SONARR_URL=http://your-sonarr-host:8989 # 您的Sonarr实例完整URL,例如:http://192.168.1.100:8989 SONARR_API_KEY=your-sonarr-api-key-here # 您的Sonarr API密钥
- 启动服务器:
- 开发模式 (带热重载): 'npm run dev'
- 生产模式 (构建后运行): 'npm run build' 后跟 'npm start'
- Docker部署:
docker build -t sonarr-mcp-server . docker run -p 12009:12009 --env-file .env sonarr-mcp-server
- 克隆仓库:
-
服务器配置 (供MCP客户端连接使用) 以下是一个MCP客户端连接此Sonarr MCP服务器所需的JSON配置示例。MCP客户端(如Metamcp)通常通过命令行启动MCP服务器进程并与其通信。
{ "name": "Sonarr MCP Server", "serverInfo": { "command": "npm", "args": ["start"], "cwd": "/path/to/sonarr-mcp-server" }, "config": { "url": "http://localhost:12009/mcp" }, "description": "一个与Sonarr交互,管理电视节目库的MCP服务器。", "capabilities": { "tools": true } }配置参数注释:
- 'name': 服务器的显示名称。
- 'serverInfo': 描述如何启动MCP服务器进程。
- 'command': 启动服务器的可执行命令 (例如 'npm', 'node', 'python' 等)。
- 'args': 传递给 'command' 的参数列表 (例如 '["start"]' 或 '["run", "dev"]')。
- 'cwd': 服务器进程的工作目录,即 'sonarr-mcp-server' 仓库的根目录路径。请务必替换为您的实际路径。
- 'config': MCP客户端连接服务器所需的运行时配置。
- 'url': MCP服务器的JSON-RPC端点URL。这里是'http://localhost:12009/mcp',其中'12009'是'.env'文件中配置的'PORT','/mcp'是服务器的MCP通信路径。
- 'description': 服务器的简要描述。
- 'capabilities': 服务器支持的能力声明。'"tools": true' 表示服务器提供了工具功能。
-
基本使用方法 服务器启动并运行后,任何兼容MCP协议的AI助手或MCP客户端都可以通过向 'http://localhost:12009/mcp' 发送JSON-RPC请求来调用Sonarr功能。例如,一个请求列出所有剧集的JSON-RPC消息可能如下:
{ "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "listSeries", "arguments": {} }, "id": 1 }AI助手将接收到Sonarr返回的剧集列表作为响应。类似地,AI助手可以通过调用其他工具(如'lookupSeries'、'addSeries'等)来执行相应的Sonarr操作。
信息
分类
生产力应用