AR

Arr Suite MCP Server with NLP Media Automation

Manage Plex and the complete arr suite with an NLP-powered MCP server for automated Sonarr, Radarr, Prowlarr, Bazarr and Overseerr workflows.

Quick Install
npx -y @shaktech786/arr-suite-mcp-server

Overview

Arr Suite MCP Server with NLP Media Automation is a lightweight Model Context Protocol (MCP) server that connects natural language intents to the “arr” ecosystem used for automated media management. It provides a bridge between an LLM-driven UI or assistant and services like Sonarr, Radarr, Prowlarr, Bazarr, Overseerr and Plex so you can manage searches, adds, indexers, subtitles and approvals with plain language commands.

The server exposes an MCP-compatible endpoint and a set of tools that encapsulate each arr-suite API. Developers can integrate an LLM (locally hosted or cloud) and map intents to concrete API calls, enabling workflows such as “Find the 4K version of Blade Runner and add it to Radarr”, or “Enable Spanish subtitles for this series in Bazarr”. This is useful for hobbyist home-theater admins, automation enthusiasts, and anyone who wants to orchestrate media management through conversational or programmatic NLP.

Features

  • Natural language -> arr-suite automation (Sonarr, Radarr, Bazarr, Prowlarr, Overseerr, Plex)
  • MCP-compatible server for integrating with LLM-based agents
  • Tool wrappers for common arr-suite actions (search, add, monitor, indexer management)
  • Environment-driven configuration; works with Docker or local Node runtime
  • Request/response logging and optional dry-run/simulate mode
  • Extensible: add custom tools or integrate extra endpoints

Installation / Configuration

Quick start (clone and run with Docker):

# Clone the repo
git clone https://github.com/shaktech786/arr-suite-mcp-server.git
cd arr-suite-mcp-server

# Start with Docker Compose (recommended)
docker-compose up -d --build

Run locally with Node (if the project is Node-based):

# install dependencies
npm install

# create .env from template and edit values
cp .env.example .env

# run
npm start

Example docker-compose.yml (minimal):

version: "3.8"
services:
  arr-mcp:
    image: yourname/arr-suite-mcp-server:latest
    build: .
    ports:
      - "3000:3000"
    env_file:
      - .env
    restart: unless-stopped

Environment variable examples (.env):

PORT=3000
NODE_ENV=production

# arr suite endpoints & API keys
SONARR_URL=http://sonarr.local:8989
SONARR_API_KEY=your_sonarr_key

RADARR_URL=http://radarr.local:7878
RADARR_API_KEY=your_radarr_key

PROWLARR_URL=http://prowlarr.local:9696
PROWLARR_API_KEY=your_prowlarr_key

BAZARR_URL=http://bazarr.local:6767
BAZARR_API_KEY=your_bazarr_key

OVERSEERR_URL=http://overseerr.local:5055
OVERSEERR_API_KEY=your_overseerr_key

PLEX_TOKEN=your_plex_token
MCP_MODEL=local-llm-or-identifier

Key environment variables (summary):

VariablePurpose
PORTServer listen port
*_URLBase URL for each arr service
*_API_KEY / PLEX_TOKENAuthentication tokens for service APIs
MCP_MODELIdentifier for the LLM model or adapter to use

Available Tools / Resources

The server provides a set of tool bindings that map high-level NLP intents to arr-suite API operations. Typical tools exposed:

  • SonarrTool: search series, add series, set monitoring/profile
  • RadarrTool: search movie, add movie, set quality/profile
  • ProwlarrTool: manage indexers, search indexers
  • BazarrTool: configure subtitle languages, trigger subtitle searches
  • OverseerrTool: create requests, approve/decline requests
  • PlexTool: library refreshes, metadata syncs, search

Resources:

  • GitHub repository: https://github.com/shaktech786/arr-suite-mcp-server
  • API docs: refer to each arr component’s official API for detailed behavior (Sonarr, Radarr, etc.)

Use Cases

  1. Add a movie by natural language

    • User: “Add the 4K release of ‘Dune’ (2021) to my Radarr library and monitor it.”
    • Flow: LLM generates an MCP intent → RadarrTool searches for the title/edition → selects best release/profile → Radarr API add call → server returns action status.
  2. Request and approve a TV series via Overseerr

    • User: “Someone requested ‘Severance’ — approve and set high-quality monitoring.”
    • Flow: OverseerrTool posts approval, SonarrTool sets series monitoring and quality profile.
  3. Configure subtitle behavior

    • User: “Enable Spanish and Portuguese subtitles for all new episodes of ‘Money Heist’.”
    • Flow: BazarrTool updates subtitle languages and triggers a scan for the series.
  4. Indexer and search automation

    • User: “Add a reliable 4K indexer and prioritize it for movie searches.”
    • Flow: ProwlarrTool adds/manages indexer settings and updates Radarr/Prowlarr sync.
  5. Routine maintenance

    • Scheduled automation uses the MCP server to refresh Plex libraries, remove stale items in Sonarr/Radarr, or run a health check across all services and report results.

Example MCP request (generic JSON POST to the server’s MCP endpoint):

POST /mcp
Content-Type: application/json

{
  "input": "Add the 4K version of 'Blade Runner 2049' to Radarr and monitor releases",
  "context": { "user": "home-admin", "preferred_quality": "4K" }
}

The server will parse the intent, select the appropriate tool(s), and execute the arr-suite API

Tags:media