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.
npx -y @shaktech786/arr-suite-mcp-serverOverview
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
# Start with Docker Compose (recommended)
Run locally with Node (if the project is Node-based):
# install dependencies
# create .env from template and edit values
# run
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
SONARR_URL=
SONARR_API_KEY=your_sonarr_key
RADARR_URL=
RADARR_API_KEY=your_radarr_key
PROWLARR_URL=
PROWLARR_API_KEY=your_prowlarr_key
BAZARR_URL=
BAZARR_API_KEY=your_bazarr_key
OVERSEERR_URL=
OVERSEERR_API_KEY=your_overseerr_key
PLEX_TOKEN=your_plex_token
MCP_MODEL=local-llm-or-identifier
Key environment variables (summary):
| Variable | Purpose |
|---|---|
| PORT | Server listen port |
| *_URL | Base URL for each arr service |
| *_API_KEY / PLEX_TOKEN | Authentication tokens for service APIs |
| MCP_MODEL | Identifier 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
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.
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.
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.
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.
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
The server will parse the intent, select the appropriate tool(s), and execute the arr-suite API