arr-mcp

arr-mcp

A unified MCP server for your self-hosted media stack (Radarr, Sonarr, Jellyfin, etc.). It correlates across services to answer questions no single service can, with safety features like untrusted-output fencing and safe-by-default deletions.

Category
Visit Server

README

arr-mcp

One MCP server for your whole self-hosted media stack — not one per service.

Ask questions no single service can answer. "Why isn't the film I requested on Tuesday showing up in Jellyfin?" spans Seerr, Radarr, Prowlarr, SABnzbd and Jellyfin. arr-mcp correlates them and gives you the causal chain.

  • A web config page that diagnoses connections instead of printing pass/fail, and shows live logs while you debug.
  • Tool output is treated as untrusted data, never instruction. Release names from public indexers are attacker-controllable and flow straight into model context; arr-mcp fences them.
  • Safe by default. Deletion is off until you deliberately enable it, and then still asks per call.

Status: 0.1 walking skeleton

Radarr and a single stack_health tool. Not yet useful — this is the foundation the rest lands on. See the roadmap.

Planned services

Radarr · Sonarr · Prowlarr · Bazarr · Jellyfin · Seerr · SABnzbd · Transmission

Quick start

Not yet — there is no published image until 0.1.0 ships. Once it does:

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

The bearer token for the MCP endpoint is generated on first run and printed to the container log. Until the config UI lands in 0.5, edit config/config.yaml by hand and restart the container to pick up changes.

Roadmap

Version Delivers
0.1 Walking skeleton: stateless MCP transport, bearer auth, Radarr, stack_health
0.2 The remaining seven service adapters and 11 read tools
0.3 Cross-service correlation: identity resolver, three-way library join, diagnose
0.4 Writes: permission tiers, dry_run, write audit, per-call confirmation
0.5 Web config page: dashboard, diagnosing connection tests, log streams
0.6 → 1.0 Metadata providers, MCP resources and prompts

Each version is a self-contained, shippable slice — the goal is that 0.3 already answers questions no individual service can, with 0.4–0.6 making it complete.

Requirements

  • A LAN-reachable install of at least one supported service
  • Docker, or Node 24+ to run from source
  • An MCP client speaking protocol revision 2026-07-28

Security

arr-mcp is not designed to be exposed to the internet. The /mcp endpoint requires a bearer token because "LAN-only" is a network assumption rather than a security control — the endpoint fronts up to eight API keys and, once enabled, file deletion, and a home network contains guest phones and IoT devices.

Thanks

arr-mcp is glue. The hard parts belong to other people.

The services it speaks to — none of this exists without them, and every one is free software maintained largely by volunteers:

Radarr · Sonarr · Prowlarr · Bazarr · Jellyfin · Seerr · SABnzbd · Transmission

The libraries it is built on:

MCP TypeScript SDK the protocol, and a stateless transport that made this simple
Hono the HTTP server
Zod config validation and tool input schemas
Pino logging
Vitest tests
better-sqlite3 the log ring buffer and write audit
yaml reading config.yaml
TypeScript the language

If you find arr-mcp useful, consider supporting the services above first.

Licence

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured