JS

jfms7s/servarr-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

0 stars 0 forks Качество 79 Тренд 20MIT

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...

Обзор

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.) 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. Clone the repository, install dependencies, and build: The server will start on a stdio interface, expecting MCP protocol messages.

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 20 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 such as v0.1.2, or latest:

docker run --rm -p 3000:3000 \
  -e SERVARR_MCP_TOKEN=a-long-random-secret \
  -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 OVERSEERR_URL=http://overseerr:5055 \
  -e OVERSEERR_API_KEY=your-overseerr-api-key \
  ghcr.io/jfms7s/servarr-mcp:v0.1.2

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.

| Variable | Example | Required | Purpose |

Открыть полный README на GitHub

Установка

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 OVERSEERR_URL=http://host.docker.internal:5055 --env OVERSEERR_API_KEY=your-overseerr-api-key ghcr.io/jfms7s/servarr-mcp:latest
Новичок в MCP? Начните с руководства на 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", "OVERSEERR_URL": "http://localhost:5055", "OVERSEERR_API_KEY": "your-overseerr-api-key" } } } }