Arr Mcp

One MCP server for the whole media stack: Radarr, Sonarr, Prowlarr, Bazarr, Jellyfin, Seerr

LLM Mart 3 views 7 listing impressions
Transport
Not stated
Package
—
Registry id
io.github.bardesss/arr-mcp

No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.

mcp

Radarr · Sonarr · Whisparr · Prowlarr · Bazarr · Jellyfin · Plex · Seerr · SABnzbd · Transmission · qBittorrent · Profilarr

Release CI Image Platforms Licence

The arr-mcp dashboard: every configured service tested live, with status, latency and version

Everyone else ships one MCP server per service. This is one for the stack.

That difference is the whole point, because the interesting questions live between services:

"Why isn't the film I requested on Tuesday showing up in Jellyfin?"

No single service can answer that. It spans Seerr, Radarr, Prowlarr, SABnzbd and Jellyfin — five APIs, five sets of ids, five half-answers. arr-mcp correlates them and hands back the causal chain:

diagnose { query: "Blade" }

No file on disk yet. Trigger a search in Radarr or Sonarr — nothing is downloading and no indexer reported a failure.

One call. One answer. It even answers with a service down, and tells you which part it could not check rather than guessing across the hole.

Why people run it

🔍 diagnose answers what no single service can Walks the whole chain — requested, managed, monitored, downloaded, indexed, imported, scanned — and names the first thing that explains the absence.
🧮 Quality profiles that cannot do what they say A minimum score nothing can reach, a language preferred but never required, a format scored where its wider twin sits at zero. The arithmetic ones are proved rather than guessed, and every fix names a change to make in Profilarr, which owns them.
🛡️ Indexer text is data, never instruction Release names from public indexers are attacker-controllable and flow straight into model context. arr-mcp fences every one of them.
✋ Writes are opt-in, previewed, recorded Off until you turn them on, per service. Every write shows you exactly what it would do and waits for confirmation — and lands in an audit trail either way.
🖥️ A config page that diagnoses Add services from a browser, see what is broken and what to do about it, read the logs and the write audit. No YAML required.
📚 Thirty-eight tools, one vocabulary Every list pages the same way and answers readably whether or not your client reads structuredContent, every error names the config key that would fix it, every write takes ids rather than titles.

Nothing else in this space does the last five at all.

Quick start — about two minutes

Also in the repo as docker-compose.example.yml. On Unraid, use unraid/arr-mcp.xml instead — a Community Applications template with the appdata path and 99:100 ownership already set. It is not listed in CA yet, so for now drop it into /boot/config/plugins/dockerMan/templates-user/ and pick it from the template list under Add Container. Steps 1 to 3 below are the same once it starts.

services:
  arr-mcp:
    image: ghcr.io/bardesss/arr-mcp:latest
    container_name: arr-mcp
    ports:
      - 6060:6060
    volumes:
      - ./config:/config
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
    restart: unless-stopped

From the project's README.

Related servers

Read-only discovery for NeuralNg Angular components, APIs, packages, icons and theme recipes.

14 views

MCP server for Geargrafx PC Engine / TurboGrafx-16 emulator

14 views

Plant phenotyping via PlantCV — returns traits plus the segmentation overlay they came from

12 views

Umami v3 MCP for Cloud or self-hosted analytics, with read-only, privacy-conscious defaults.

12 views