MCP server giving any MCP-capable agent a clean, intelligent, unified interface to Sonarr, Radarr, Lidarr, Prowlarr, and Jellyfin.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"arr-stack-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# arr-stack-mcp A Model Context Protocol server that exposes Sonarr, Radarr, Lidarr, and Jellyfin to any MCP client (Claude Desktop, Claude Code, n8n, ibis-bot, custom agents) through a hand-curated tool layer written for LLM consumption. [](https://opensource.org/licenses/MIT) [](https://www.python.org/downloads/release/python-3120/) ## What this gives an agent 28 curated tools split across four services: | Service | Tools | Highlights | |---|---|---| | Sonarr | 8 | series search, TVDB lookup, queue, calendar, missing episodes, add/delete | | Radarr | 8 | movie search, TMDB lookup, queue, calendar, missing, add/delete | | Lidarr | 7 | artist + album search, MusicBrainz lookup, queue, add/delete | | Jellyfin | 5 | library search, recent additions, now-playing sessions, library scan | Every tool: - Has a description written for an agent's decision-making, not for human docs. - Pins its input and output with Pydantic v2, so the MCP catalogue carries strict JSON Schema. - Returns a compact, self-describing envelope (`ok`, `query`, `count`, `total`, `items`). - Translates upstream HTTP errors into structured `ToolError` envelopes with self-suggesting hints. - Destructive operations require a two-call confirm-token flow. ## Quickstart ### uvx (one-shot) ``` uvx arr-stack-mcp serve --transport stdio ``` ### Docker ``` docker run --rm -i \ -e SONARR_URL=http://host.docker.internal:8989 \ -e SONARR_API_KEY=$SONARR_API_KEY \ -e RADARR_URL=http://host.docker.internal:7878 \ -e RADARR_API_KEY=$RADARR_API_KEY \ -e LIDARR_URL=http://host.docker.internal:8686 \ -e LIDARR_API_KEY=$LIDARR_API_KEY \ -e JELLYFIN_URL=http://host.docker.internal:8096 \ -e JELLYFIN_API_KEY=$JELLYFIN_API_KEY \ ghcr.io/new-usemame/arr-stack-mcp:0.1.0 ``` ### Local development (uv) ``` git clone https://github.com/new-usemame/arr-stack-mcp c…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.