Skip to main content
Glama
ismael9291

mcp-arr-suite

by ismael9291

mcp-arr-suite

MCP server for the *arr media management suite — Sonarr, Radarr, Lidarr, Prowlarr, and SABnzbd.

Exposes your media services as MCP tools consumable by Claude or any MCP-capable client. 215 tools across 7 modules.

Requirements

  • Node.js >= 18

  • At least one service running and accessible

Related MCP server: Sonarr & Radarr MCP Server

Install

Via npm (recommended):

npm install -g mcp-arr-suite

From source:

git clone https://github.com/ismael9291/mcp-arr-suite.git
cd mcp-arr-suite
npm install && npm run build

Configuration

All configuration is via environment variables. Set at least one service pair:

Variable

Description

SONARR_URL

Sonarr base URL (e.g. http://localhost:8989)

SONARR_API_KEY

Sonarr API key

RADARR_URL

Radarr base URL (e.g. http://localhost:7878)

RADARR_API_KEY

Radarr API key

LIDARR_URL

Lidarr base URL (e.g. http://localhost:8686)

LIDARR_API_KEY

Lidarr API key

PROWLARR_URL

Prowlarr base URL (e.g. http://localhost:9696)

PROWLARR_API_KEY

Prowlarr API key

SABNZBD_URL

SABnzbd base URL (e.g. http://localhost:8080)

SABNZBD_API_KEY

SABnzbd API key (from sabnzbd.ini, field api_key)

Tools are only registered for services that are configured.

MCP Client Setup

Example Claude Desktop / Claude Code config (npm install):

{
  "mcpServers": {
    "mcp-arr-suite": {
      "command": "mcp-arr-suite",
      "env": {
        "SONARR_URL": "http://localhost:8989",
        "SONARR_API_KEY": "...",
        "RADARR_URL": "http://localhost:7878",
        "RADARR_API_KEY": "...",
        "PROWLARR_URL": "http://localhost:9696",
        "PROWLARR_API_KEY": "...",
        "SABNZBD_URL": "http://localhost:8080",
        "SABNZBD_API_KEY": "..."
      }
    }
  }
}

If running from source, replace "command": "mcp-arr-suite" with:

"command": "node",
"args": ["/path/to/mcp-arr-suite/dist/index.js"],

Tools

Cross-service (always available)

Tool

Description

arr_status

Connection status and version for all configured services

arr_search_all

Search across all configured media services simultaneously

Sonarr — 54 tools

Category

Tools

Library

sonarr_get_series, sonarr_search, sonarr_add_series, sonarr_delete_series, sonarr_update_series, sonarr_bulk_update_series, sonarr_bulk_delete_series

Episodes

sonarr_get_episodes, sonarr_get_episode_files, sonarr_delete_episode_file, sonarr_delete_episode_files_bulk, sonarr_monitor_episodes, sonarr_season_pass

Search & import

sonarr_search_missing, sonarr_search_episode, sonarr_search_releases, sonarr_grab_release, sonarr_get_manual_import, sonarr_process_manual_import

Queue

sonarr_get_queue, sonarr_remove_from_queue, sonarr_get_wanted_missing, sonarr_get_wanted_cutoff

History & blocklist

sonarr_get_history, sonarr_get_blocklist, sonarr_delete_from_blocklist

Quality & formats

sonarr_get_quality_profiles, sonarr_get_quality_profile, sonarr_update_quality_profile, sonarr_update_quality_definition, sonarr_list_custom_formats, sonarr_get_custom_format, sonarr_create_custom_format, sonarr_update_custom_format, sonarr_delete_custom_format

Config

sonarr_get_import_lists, sonarr_update_import_list, sonarr_get_import_exclusions, sonarr_delete_import_exclusion, sonarr_get_tags, sonarr_create_tag, sonarr_delete_tag

System

sonarr_get_health, sonarr_get_disk_space, sonarr_get_root_folders, sonarr_get_download_clients, sonarr_get_naming, sonarr_get_system_tasks, sonarr_get_logs, sonarr_get_notifications, sonarr_get_calendar, sonarr_get_command_status

Commands

sonarr_refresh_series, sonarr_trigger_backup, sonarr_trigger_rss_sync, sonarr_trigger_refresh_monitored_downloads, sonarr_trigger_cutoff_unmet_search, sonarr_trigger_rescan_series, sonarr_trigger_rename_series, sonarr_trigger_downloaded_scan

Overview

sonarr_review_setup

Radarr — 50 tools

Category

Tools

Library

radarr_get_movies, radarr_search, radarr_add_movie, radarr_delete_movie, radarr_update_movie, radarr_bulk_update_movies, radarr_bulk_delete_movies

Files

radarr_get_movie_files, radarr_delete_movie_file

Search & import

radarr_search_movie, radarr_search_releases, radarr_grab_release, radarr_get_manual_import, radarr_process_manual_import

Queue

radarr_get_queue, radarr_remove_from_queue, radarr_get_wanted_missing, radarr_get_wanted_cutoff

History & blocklist

radarr_get_history, radarr_get_blocklist, radarr_delete_from_blocklist

Quality & formats

radarr_get_quality_profiles, radarr_get_quality_profile, radarr_update_quality_profile, radarr_update_quality_definition, radarr_list_custom_formats, radarr_get_custom_format, radarr_create_custom_format, radarr_update_custom_format, radarr_delete_custom_format

Config

radarr_get_import_lists, radarr_update_import_list, radarr_get_import_exclusions, radarr_delete_import_exclusion, radarr_get_tags, radarr_create_tag, radarr_delete_tag

System

radarr_get_health, radarr_get_disk_space, radarr_get_root_folders, radarr_get_download_clients, radarr_get_naming, radarr_get_system_tasks, radarr_get_logs, radarr_get_notifications, radarr_get_calendar, radarr_get_command_status

Commands

radarr_refresh_movie, radarr_trigger_backup, radarr_trigger_rss_sync, radarr_trigger_refresh_monitored_downloads, radarr_trigger_cutoff_unmet_search, radarr_trigger_rescan_movies, radarr_trigger_rename_movies, radarr_trigger_missing_search, radarr_trigger_downloaded_scan

Overview

radarr_review_setup

Lidarr — 49 tools

Category

Tools

Library

lidarr_get_artists, lidarr_search, lidarr_add_artist, lidarr_delete_artist, lidarr_update_artist

Albums & files

lidarr_get_albums, lidarr_get_album_by_id, lidarr_monitor_albums, lidarr_get_track_files, lidarr_delete_track_file

Search

lidarr_search_album, lidarr_search_missing

Queue

lidarr_get_queue, lidarr_remove_from_queue, lidarr_get_wanted_missing, lidarr_get_wanted_cutoff

History & blocklist

lidarr_get_history, lidarr_get_blocklist, lidarr_delete_from_blocklist

Quality & formats

lidarr_get_quality_profiles, lidarr_get_quality_profile, lidarr_update_quality_profile, lidarr_update_quality_definition, lidarr_list_custom_formats, lidarr_get_custom_format, lidarr_create_custom_format, lidarr_update_custom_format, lidarr_delete_custom_format

Config

lidarr_get_metadata_profiles, lidarr_get_import_lists, lidarr_update_import_list, lidarr_get_import_exclusions, lidarr_delete_import_exclusion, lidarr_get_tags, lidarr_create_tag, lidarr_delete_tag

System

lidarr_get_health, lidarr_get_disk_space, lidarr_get_root_folders, lidarr_get_download_clients, lidarr_get_naming, lidarr_get_system_tasks, lidarr_get_logs, lidarr_get_notifications, lidarr_get_calendar, lidarr_get_command_status

Commands

lidarr_refresh_artist, lidarr_trigger_backup, lidarr_trigger_rss_sync, lidarr_trigger_refresh_monitored_downloads, lidarr_trigger_cutoff_unmet_search, lidarr_trigger_rescan_artists, lidarr_trigger_rename_artists, lidarr_trigger_refresh_all_artists, lidarr_trigger_downloaded_scan

Overview

lidarr_review_setup

Prowlarr — 24 tools

Category

Tools

Indexers

prowlarr_get_indexers, prowlarr_get_indexer, prowlarr_update_indexer, prowlarr_test_indexer, prowlarr_test_indexers, prowlarr_search

Applications

prowlarr_get_apps, prowlarr_update_app

Stats & history

prowlarr_get_stats, prowlarr_get_history

Config

prowlarr_get_tags, prowlarr_create_tag, prowlarr_delete_tag, prowlarr_get_download_clients, prowlarr_get_notifications, prowlarr_test_notification

System

prowlarr_get_status, prowlarr_get_health, prowlarr_get_logs, prowlarr_get_system_tasks, prowlarr_get_command_status

Commands

prowlarr_trigger_backup, prowlarr_trigger_rss_sync, prowlarr_sync_apps

SABnzbd — 29 tools

Category

Tools

Queue

sabnzbd_get_queue, sabnzbd_pause, sabnzbd_resume, sabnzbd_set_priority, sabnzbd_set_speed_limit, sabnzbd_change_cat, sabnzbd_change_opts

History

sabnzbd_get_history, sabnzbd_retry, sabnzbd_retry_all, sabnzbd_mark_completed, sabnzbd_purge_failed

Delete

sabnzbd_delete, sabnzbd_delete_orphans

Post-processing

sabnzbd_pause_pp, sabnzbd_resume_pp, sabnzbd_add_orphans

Add NZBs

sabnzbd_add_url

Config

sabnzbd_get_cats, sabnzbd_get_scripts, sabnzbd_get_paths

System

sabnzbd_get_status, sabnzbd_get_warnings, sabnzbd_unblock_server, sabnzbd_server_stats, sabnzbd_version

Triggers

sabnzbd_rss_now, sabnzbd_watched_now, sabnzbd_get_files

TRaSH Guides — 7 tools (always available)

Tool

Description

trash_list_profiles

List recommended quality profiles from TRaSH Guides

trash_get_profile

Full profile details including custom format scores

trash_list_custom_formats

List custom formats, optionally filtered by category

trash_get_naming

Recommended naming conventions for your media server

trash_get_quality_sizes

Recommended min/max/preferred file sizes per quality

trash_compare_profile

Compare your quality profile against TRaSH recommendations

trash_compare_naming

Compare your naming config against TRaSH recommendations

Testing

# Unit tests (MSW mocks, no services required)
npm test

# Live smoke tests against real services
SONARR_URL=http://localhost:8989 SONARR_API_KEY=... \
RADARR_URL=http://localhost:7878 RADARR_API_KEY=... \
npm run test:live

Additional live test variables:

Variable

Description

MCP_ARR_LIVE_SEARCH_TERM

Override default search term (default: dune)

MCP_ARR_ENABLE_TRASH=1

Include TRaSH Guides smoke tests

MCP_ARR_ENABLE_COMMAND_SMOKE=1

Include command tests (refresh, scan, trigger, etc.)

RADARR_TEST_MOVIE_ID

Movie ID for command smoke tests

RADARR_TEST_DOWNLOADS_PATH

Downloads path for radarr_trigger_downloaded_scan (default: /downloads/complete)

SONARR_TEST_SERIES_ID

Series ID for command smoke tests

SONARR_TEST_EPISODE_ID

Episode ID for release search tests

SONARR_TEST_DOWNLOADS_PATH

Downloads path for sonarr_trigger_downloaded_scan (default: /downloads/complete)

SONARR_TEST_IMPORT_FOLDER

Folder for manual import tests (default: /tmp)

LIDARR_TEST_ARTIST_ID

Artist ID for command smoke tests

API Documentation

License

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
4Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ismael9291/mcp-arr-suite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server