MCP Connector Featured

Unify and Automate Your Media Stack with Natural Language

Control your entire arr media stack - Sonarr, Radarr, Prowlarr, Bazarr, Overseerr, and Plex - through natural language via one MCP server.

Works with sonarrradarrprowlarrbazarroverseerr

90
Spark score
out of 100
Status Verified Official
Updated 9 months ago
Version 1.0.0
Models
universal

Add to Favorites

Why it matters

Intelligently control your entire arr suite media automation stack (Sonarr, Radarr, Prowlarr, etc.) using natural language. This MCP server provides AI assistants with a unified interface for managing and querying your media.

Outcomes

What it gets done

01

Execute arr operations via natural language commands

02

Search, add, and manage TV series and movies

03

Query and manage indexers and Plex libraries

04

Monitor system status and manage queues

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-arr-suite | bash

Capabilities

Tools your agent gets

arr_execute

Executes any arr operation using natural language

arr_explain_intent

Understands how your request will be interpreted

arr_list_services

Shows configured services

arr_get_system_status

Gets health status of all services

sonarr_search_series

Search TV series

sonarr_add_series

Adds a new series

sonarr_get_series

Gets all or specific series

radarr_search_movie

Search movies

+7 tools

Overview

Arr Suite MCP Server

An MCP server that unifies Sonarr, Radarr, Prowlarr, Bazarr, Overseerr, and Plex behind one natural-language interface, using an intent router to send each request to the right service automatically. Reach for this when you already run part of the arr media automation stack and want to manage shows, movies, indexers, subtitles, requests, and Plex through one conversational assistant.

What it does

The Arr Suite MCP Server gives AI assistants like Claude a unified, natural-language interface to a home media automation stack: Sonarr (TV series), Radarr (movies), Prowlarr (indexer management and search), Bazarr (subtitles), Overseerr (media requests and discovery), and Plex (media server management and playback). Jackett support is listed as coming soon.

An intent router analyzes natural language requests and automatically determines which service and action to invoke, so a request like "add Breaking Bad to my collection" is routed to Sonarr without the user specifying the service. Alongside the intelligent arr_execute tool, the server exposes 15-20+ dedicated tools per service for precise control (series/movie search and add, indexer sync, subtitle download, request approval, library scanning, and more), plus utilities for backing up and restoring each service's underlying database.

pip install arr-suite-mcp

When to use - and when NOT to

Use this when you run a self-hosted arr media automation stack and want to manage it conversationally - adding shows or movies, checking indexer health, downloading subtitles, approving Overseerr requests, or controlling Plex playback and library scans - instead of switching between five separate web UIs.

Do NOT use this if you don't already run these arr services; the MCP server is purely an integration layer and has nothing to manage without Sonarr/Radarr/Prowlarr/Bazarr/Overseerr/Plex already deployed and reachable. It also requires collecting an API key from each service's web UI before it can connect.

Capabilities

  • Intelligent routing: arr_execute interprets natural language and routes to the right service; arr_explain_intent shows how a query will be interpreted
  • Sonarr: series add/update/delete/search, episode management, quality profiles, queue, history, calendar, commands (refresh, rescan, rename, backup)
  • Radarr: movie add/update/delete/search, collections, quality profiles, queue, history, calendar, import lists, notifications
  • Prowlarr: indexer add/update/delete/test, cross-indexer search, app sync to Sonarr/Radarr, statistics, download clients
  • Bazarr: subtitle search and download for series and movies, languages, providers, wanted subtitles, blacklist
  • Overseerr: request creation/approval/decline, media search and discovery, trending content, user and settings management
  • Plex: search, list libraries, recently added, currently playing sessions, library scanning, mark as watched
  • System tools: arr_list_services and arr_get_system_status for health across all configured services
  • Database utilities: backup/restore each arr service's database, execute raw SQL queries against it

How to install

pip install arr-suite-mcp

Configure each service via environment variables ({SERVICE}_HOST, {SERVICE}_PORT, {SERVICE}_API_KEY, e.g. SONARR_HOST, SONARR_PORT, SONARR_API_KEY), found in each service's web UI under Settings > General > Security/API Key. Then run:

arr-suite-mcp

Add to Claude Desktop's config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "arr-suite": {
      "command": "arr-suite-mcp",
      "env": {
        "SONARR_HOST": "localhost",
        "SONARR_PORT": "8989",
        "SONARR_API_KEY": "your_api_key"
      }
    }
  }
}

Who it's for

Self-hosted media automation users who already run Sonarr, Radarr, Prowlarr, Bazarr, Overseerr, or Plex and want to manage their entire stack through one conversational assistant instead of juggling multiple web dashboards.

Source README

Arr Suite MCP Server

A comprehensive Model Context Protocol (MCP) server that provides AI assistants with intelligent access to your entire arr suite media automation stack.

License: MIT
Python 3.10+

Overview

The Arr Suite MCP Server is a powerful integration that connects AI assistants like Claude to your media automation infrastructure. It uses intelligent natural language processing to automatically route requests to the appropriate service, making media management feel natural and intuitive.

Supported Services

  • Sonarr - TV Series management
  • Radarr - Movie management
  • Prowlarr - Indexer management and search
  • Bazarr - Subtitle management
  • Overseerr - Media request and discovery
  • Plex - Media Server management and playback
  • Jackett - Alternative indexer proxy (coming soon)

Key Features

  • 🧠 Intelligent Intent Recognition: Uses natural language understanding to automatically determine which service to use
  • 🎯 Unified Interface: Single API for all arr services
  • 🔌 Easy Integration: Simple environment variable configuration
  • 🛡️ Type-Safe: Built with Pydantic for robust validation
  • ⚡ Async-First: Built on httpx for high-performance async operations
  • 📝 Comprehensive: Full API coverage for all supported services
  • 🎨 Natural Language: Talk to your media server like a human

Installation

From PyPI (recommended)

pip install arr-suite-mcp

From Source

git clone https://github.com/shaktech786/arr-suite-mcp-server.git
cd arr-suite-mcp-server
pip install -e .

Quick Start

1. Configure Environment

Create a .env file:

# Sonarr Configuration
SONARR_HOST=localhost
SONARR_PORT=8989
SONARR_API_KEY=your_sonarr_api_key

# Radarr Configuration
RADARR_HOST=localhost
RADARR_PORT=7878
RADARR_API_KEY=your_radarr_api_key

# Prowlarr Configuration
PROWLARR_HOST=localhost
PROWLARR_PORT=9696
PROWLARR_API_KEY=your_prowlarr_api_key

# Bazarr Configuration
BAZARR_HOST=localhost
BAZARR_PORT=6767
BAZARR_API_KEY=your_bazarr_api_key

# Overseerr Configuration
OVERSEERR_HOST=localhost
OVERSEERR_PORT=5055
OVERSEERR_API_KEY=your_overseerr_api_key

2. Run the Server

arr-suite-mcp

3. Configure Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "arr-suite": {
      "command": "arr-suite-mcp",
      "env": {
        "SONARR_HOST": "localhost",
        "SONARR_PORT": "8989",
        "SONARR_API_KEY": "your_api_key"
      }
    }
  }
}

Usage Examples

The beauty of this MCP server is its natural language understanding. Here are some examples:

TV Shows (Sonarr)

"Add Breaking Bad to my collection"
"Search for The Mandalorian"
"List all my TV shows"
"Get episodes for Game of Thrones season 8"
"Monitor The Office for new episodes"

Movies (Radarr)

"Add The Matrix to my movies"
"Search for Inception"
"Show all my 4K movies"
"Get details for The Godfather"
"Find movies from 2023"

Indexers (Prowlarr)

"Search for Dune across all indexers"
"List all my indexers"
"Test all indexers"
"Sync indexers to Radarr and Sonarr"
"Show indexer statistics"

Subtitles (Bazarr)

"Download English subtitles for Dune"
"Search for Spanish subtitles for episode 3"
"Show movies missing subtitles"
"Get subtitle providers"

Requests (Overseerr)

"Request Avatar 2"
"Show pending requests"
"Approve request 123"
"Search for trending movies"
"Discover new TV shows"

Plex Media Server

"Search Plex for Breaking Bad"
"Show my Plex libraries"
"What's recently added to Plex?"
"Show what's playing on Plex"
"Get On Deck items"
"Scan my Movies library"
"Mark The Matrix as watched"

Advanced Operations

"Backup all Sonarr databases"
"Update quality profile in Radarr"
"Configure download client in Prowlarr"
"Get system status for all services"

MCP Tools

The server provides both high-level intelligent tools and service-specific tools:

Intelligent Tools

  • arr_execute - Execute any arr operation using natural language
  • arr_explain_intent - Understand how your query will be interpreted
  • arr_list_services - Show configured services
  • arr_get_system_status - Get health status of all services

Service-Specific Tools

Each service has dedicated tools for precise control:

Sonarr Tools
  • sonarr_search_series - Search for TV series
  • sonarr_add_series - Add a new series
  • sonarr_get_series - Get all or specific series
  • And 20+ more operations
Radarr Tools
  • radarr_search_movie - Search for movies
  • radarr_add_movie - Add a new movie
  • radarr_get_movies - Get all or specific movies
  • And 20+ more operations
Prowlarr Tools
  • prowlarr_search - Search across indexers
  • prowlarr_get_indexers - List all indexers
  • prowlarr_sync_apps - Sync to applications
  • And 15+ more operations
Plex Tools
  • plex_search - Search Plex media
  • plex_get_libraries - List all libraries
  • plex_get_recently_added - Recently added content
  • plex_get_sessions - Currently playing
  • plex_scan_library - Scan library for new content
  • plex_mark_watched - Mark as watched
  • And more...

Configuration

Environment Variables

The server uses environment variables with prefixes for each service:

# Format: {SERVICE}_{SETTING}
SONARR_HOST=localhost
SONARR_PORT=8989
SONARR_API_KEY=abc123
SONARR_SSL=false

# Global Settings
REQUEST_TIMEOUT=30
MAX_RETRIES=3
LOG_LEVEL=INFO

Finding API Keys

Sonarr/Radarr
  1. Open the web UI
  2. Settings → General
  3. Security section → API Key
Prowlarr
  1. Open the web UI
  2. Settings → General
  3. Security section → API Key
Bazarr
  1. Open the web UI
  2. Settings → General
  3. Security section → API Key
Overseerr
  1. Open the web UI
  2. Settings → General
  3. API Key section

Architecture

┌─────────────────────────────────────────┐
│         AI Assistant (Claude)           │
└────────────────┬────────────────────────┘
                 │ MCP Protocol
┌────────────────▼────────────────────────┐
│         Arr Suite MCP Server            │
│  ┌─────────────────────────────────┐   │
│  │    Intent Router (NLP)          │   │
│  │  - Analyzes natural language    │   │
│  │  - Determines service & action  │   │
│  └─────────────┬───────────────────┘   │
│                │                        │
│  ┌─────────────▼───────────────────┐   │
│  │      Service Clients            │   │
│  │  ┌──────────┐  ┌──────────┐    │   │
│  │  │ Sonarr   │  │ Radarr   │    │   │
│  │  ├──────────┤  ├──────────┤    │   │
│  │  │ Prowlarr │  │ Bazarr   │    │   │
│  │  ├──────────┤  ├──────────┤    │   │
│  │  │Overseerr │  │  More... │    │   │
│  │  └──────────┘  └──────────┘    │   │
│  └─────────────────────────────────┘   │
└────────────────┬────────────────────────┘
                 │ HTTP/REST APIs
┌────────────────▼────────────────────────┐
│        Your Arr Stack Services          │
│   Sonarr│Radarr│Prowlarr│Bazarr│etc.   │
└─────────────────────────────────────────┘

Database Management

The server includes utilities for managing arr suite databases:

from arr_suite_mcp.utils.db_manager import ArrDatabaseManager

# Backup all databases
manager = ArrDatabaseManager(config_path="/path/to/arr/configs")
await manager.backup_all()

# Restore a database
await manager.restore("sonarr", "/path/to/backup.db")

# Execute SQL query
result = await manager.execute_query("sonarr", "SELECT * FROM Series")

Development

Running Tests

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run with coverage
pytest --cov=arr_suite_mcp --cov-report=html

Code Quality

# Format code
black arr_suite_mcp

# Lint
ruff check arr_suite_mcp

# Type check
mypy arr_suite_mcp

API Coverage

Sonarr

✅ Series Management (add, update, delete, search)
✅ Episode Management
✅ Quality Profiles
✅ Root Folders
✅ Tags
✅ Queue Management
✅ History
✅ Calendar
✅ Commands (refresh, rescan, rename, backup)
✅ Configuration

Radarr

✅ Movie Management (add, update, delete, search)
✅ Collections
✅ Quality Profiles
✅ Root Folders
✅ Tags
✅ Queue Management
✅ History
✅ Calendar
✅ Commands (refresh, rescan, rename, backup)
✅ Configuration
✅ Import Lists
✅ Notifications

Prowlarr

✅ Indexer Management (add, update, delete, test)
✅ Search across Indexers
✅ Application Management (Sonarr, Radarr connections)
✅ Tags
✅ History
✅ Statistics
✅ Download Clients
✅ Notifications
✅ Configuration
✅ Sync Operations

Bazarr

✅ Series Subtitle Management
✅ Movie Subtitle Management
✅ Subtitle Search
✅ Subtitle Download
✅ History
✅ Languages
✅ Providers
✅ System Status
✅ Settings
✅ Wanted Subtitles
✅ Blacklist

Overseerr

✅ Request Management (create, approve, decline)
✅ Media Search
✅ Discovery (movies, TV)
✅ Trending Content
✅ User Management
✅ Settings (Plex, Radarr, Sonarr)
✅ System Status
✅ Issues

Troubleshooting

Connection Issues

# Test connectivity
curl http://localhost:8989/api/v3/system/status?apikey=YOUR_API_KEY

# Check logs
arr-suite-mcp --log-level DEBUG

Common Issues

  1. API Key Invalid: Double-check your API keys in the web UI
  2. Connection Refused: Ensure services are running and accessible
  3. SSL Errors: Set {SERVICE}_SSL=false for local deployments

Roadmap

  • Jackett full integration
  • Lidarr support (music)
  • Readarr support (books)
  • Whisparr support (adult content)
  • Advanced filtering and sorting
  • Batch operations
  • Custom scripts integration
  • WebSocket support for real-time updates
  • Metrics and monitoring
  • Multi-instance support

Made with ❤️ for the media automation community

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.