JS

jfms7s/servarr-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

0 stars 0 forks 质量 79 趋势 20MIT

一个MCP服务器,向LLM客户端暴露Sonarr、Radarr、Prowlarr和Overseerr。将Claude或其他兼容MCP的LLM连接到你的媒体栈,让它搜索内容,管理你的......

概览

一个MCP服务器,将Sonarr、Radarr、Prowlarr和Overseerr暴露给LLM客户端。将Claude或其他兼容MCP的LLM连接到你的媒体栈,让它通过自然语言搜索内容、管理库、检查下载状态等功能。 该服务器连接到 Sonarr 和 Radarr 的 /api/v3 端点,Prowlarr 则通过 /api/v1 连接。(注:Sonarr 发布的文档中经常在 URL 中提及“v5”,但那是应用版本,不是 API 版本——使用 v3。) 该服务器允许任何连接的MCP客户端完全读写您的媒体栈,包括永久删除磁盘上的剧集、电影和文件。您连接的任何LLM都可能调用破坏性工具。在启用之前请先了解这一点,并为您的MCP客户端配置适当的安全措施。 克隆仓库,安装依赖,并构建: 服务器将从一个标准接口开始,期待MCP协议消息。

概述(AI 翻译)

一个MCP服务器,将Sonarr、Radarr、Prowlarr和Overseerr暴露给LLM客户端。将Claude或其他兼容MCP的LLM连接到你的媒体栈,让它通过自然语言搜索内容、管理库、检查下载状态等功能。

该服务器连接到 Sonarr 和 Radarr 的 /api/v3 端点,Prowlarr 在 /api/v1。(注:Sonarr 发布的文档中经常引用 URL 中的“v5”,但那是 application 版本,不是 API 版本——使用 v3。)

重要提示: 该服务器允许任何连接的MCP客户端完全读写您的媒体栈,包括永久删除磁盘上的系列、电影和文件。您连接的任何LLM都可能调用破坏性工具。启用前请理解这一点,并为MCP客户端配置适当的防护措施。

安装

先决条件: Node.js 20岁或更晚。

来自源头

克隆仓库,安装依赖,并构建:

然后运行服务器:

服务器将从一个标准接口启动,期待收到MCP协议消息。在你的MCP客户端配置中使用此命令(见下方Claude桌面/Claude代码设置部分)。

使用 Docker

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

servarr-mcp

An MCP server exposing Sonarr, Radarr, Prowlarr, and Overseerr to an LLM client. Connect Claude or another MCP-compatible LLM to your media stack and ask it to search for content, manage your library, check download status, and more — all via natural language.

This server reaches Sonarr and Radarr at their /api/v3 endpoints, and Prowlarr at /api/v1. (Note: Sonarr’s published documentation often references “v5” in the URL, but that is the application version, not the API version — use v3.)

Important: This server grants any connected MCP client full read/write access to your media stack, including the ability to permanently delete series, movies, and files on disk. Any LLM you connect can invoke destructive tools. Understand this before enabling it, and configure your MCP client with appropriate safeguards.

Install

Prerequisites: Node.js 22 or later.

From Source

Clone the repository, install dependencies, and build:

git clone https://github.com/jfms7s/servarr-mcp.git
cd servarr-mcp
npm ci
npm run build

Then run the server:

node dist/index.js

The server will start on a stdio interface, expecting MCP protocol messages. Use this command in your MCP client’s configuration (see the Claude Desktop / Claude Code Setup section below).

With Docker

Use the published container image (linux/amd64 and linux/arm64), pinned to a release tag (vX.Y.Z; see the latest release), or latest:

docker run --rm -p 3000:3000 \
  -e SERVARR_MCP_TOKEN=your-token-of-32-or-more-characters \
  -e SONARR_URL=http://sonarr:8989 \
  -e SONARR_API_KEY=your-sonarr-api-key \
  -e RADARR_URL=http://radarr:7878 \
  -e RADARR_API_KEY=your-radarr-api-key \
  -e PROWLARR_URL=http://prowlarr:9696 \
  -e PROWLARR_API_KEY=your-prowlarr-api-key \
  -e SEERR_URL=http://seerr:5055 \
  -e SEERR_API_KEY=your-seerr-api-key \
  ghcr.io/jfms7s/servarr-mcp:vX.Y.Z

Note: The image defaults to the HTTP transport (SERVARR_MCP_TRANSPORT=http), which requires SERVARR_MCP_TOKEN — without it the container exits at startup. The URLs must be reachable from inside the container: localhost there is the container itself, not your host. Use the arr containers’ names on a shared Docker network (as above), or their LAN addresses. For many variables, use --env-file:

docker run --rm -p 3000:3000 --env-file .env ghcr.io/jfms7s/servarr-mcp:latest

Where .env contains your configuration lines (one per line: VAR_NAME=value).

Building the Docker Image Locally

If you want to build the image locally:

docker build -t servarr-mcp .
docker run --rm -p 3000:3000 --env-file .env servarr-mcp

Configuration

The server reads configuration from environment variables. Each product is independently optional — you can configure only the ones you use. The server will fail to start only if no products are configured.

在 GitHub 查看完整 README

安装

docker run --rm -i --add-host=host.docker.internal:host-gateway --env SERVARR_MCP_TRANSPORT=stdio --env SONARR_URL=http://host.docker.internal:8989 --env SONARR_API_KEY=your-sonarr-api-key --env RADARR_URL=http://host.docker.internal:7878 --env RADARR_API_KEY=your-radarr-api-key --env PROWLARR_URL=http://host.docker.internal:9696 --env PROWLARR_API_KEY=your-prowlarr-api-key --env SEERR_URL=http://host.docker.internal:5055 --env SEERR_API_KEY=your-seerr-api-key ghcr.io/jfms7s/servarr-mcp:latest
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "servarr": { "command": "node", "args": ["/path/to/servarr-mcp/dist/index.js"], "env": { "SONARR_URL": "http://localhost:8989", "SONARR_API_KEY": "your-sonarr-api-key", "RADARR_URL": "http://localhost:7878", "RADARR_API_KEY": "your-radarr-api-key", "PROWLARR_URL": "http://localhost:9696", "PROWLARR_API_KEY": "your-prowlarr-api-key", "SEERR_URL": "http://localhost:5055", "SEERR_API_KEY": "your-seerr-api-key" } } } }