Skip to main content
Glama
Sonarr MCP Server

Sonarr MCP Server

by micky-devs

Sonarr MCP Server

A Model Context Protocol (MCP) server for Sonarr, enabling AI assistants to manage your TV series collection through natural language interactions.

Features

  • 🔍 Search Series - Find TV series to add to your collection

  • ➕ Add Series - Add TV series with quality profiles, season monitoring, and search options

  • 📋 List Series - View your entire TV series library with episode counts

  • 📺 Series Details - Get detailed information including episode status and downloads

  • ⚙️ Update Series - Change quality profiles, season monitoring, and trigger searches

  • 🗑️ Delete Series/Seasons - Remove entire series or specific seasons (with optional file deletion)

  • 🔍 Interactive Search - Browse available releases for episodes with quality and seeder info

  • 📊 Quality Profiles - View available quality settings

  • ⬇️ Download Release - Manually download specific releases for episodes

  • 🎯 Season Control - Granular monitoring and management of individual seasons

Related MCP server: Arr Suite MCP Server

Installation

pip install sonarr-mcp

From Source

git clone https://github.com/MichaelReubenDev/sonarr-mcp.git
cd sonarr-mcp
uv sync

Usage

Command Line

# Using uvx (if installed from PyPI)
uvx sonarr-mcp --url http://localhost:8989 --api-token YOUR_API_TOKEN

# Using uv run (from source)
uv run sonarr-mcp --url http://localhost:8989 --api-token YOUR_API_TOKEN

# With debug logging
uv run sonarr-mcp --url http://localhost:8989 --api-token YOUR_API_TOKEN --debug

With Claude Desktop

Add this to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "sonarr": {
      "command": "uvx",
      "args": [
        "sonarr-mcp",
        "--url", "http://localhost:8989",
        "--api-token", "YOUR_API_TOKEN"
      ]
    }
  }
}

With MCP Inspector

For testing and development:

npx @modelcontextprotocol/inspector uv run sonarr-mcp --url http://localhost:8989 --api-token YOUR_API_TOKEN

Configuration

Required Parameters

  • --url: Your Sonarr base URL (e.g., http://localhost:8989)

  • --api-token: Your Sonarr API token (found in Settings → General → Security)

Optional Parameters

  • --debug: Enable debug logging

Available Tools

Tool

Description

Parameters

search_series

Search for TV series to add

query (string)

add_series

Add a TV series to Sonarr

tvdb_id (int), quality_profile_id (int), monitor_type (string, required), root_folder_path (string, default: "/tv"), season_folder (bool, default: true), monitor_seasons (array, optional), search_for_missing_episodes (bool, default: false)

list_series

List all TV series in library

None

get_series

Get detailed series information

series_id (int)

update_series

Update series settings

series_id (int), quality_profile_id (int, optional), monitor_type (string, optional), monitor_seasons (array, optional), start_search (bool, default: false)

delete_series

Delete a series or specific seasons

series_id (int), delete_seasons (array, optional), delete_files (bool, default: false)

interactive_search

Browse available releases

series_id (int), season_number (int, optional), episode_number (int, optional)

download_release

Download a specific release

release_guid (string), series_id (int)

get_quality_profiles

List available quality profiles

None

Monitor Types

The monitor_type parameter supports these options:

  • all - Monitor all episodes

  • future - Monitor future episodes only

  • missing - Monitor missing episodes

  • existing - Monitor existing episodes

  • recent - Monitor recent episodes

  • first - Monitor first season only

  • latest - Monitor latest season only

  • none - Monitor no episodes

  • season_specific - Monitor specific seasons (requires monitor_seasons array)

Example Workflows

Adding a TV Series

  1. Search for series: "Search for Breaking Bad TV series"

  2. Add series: "Add Breaking Bad with HD-1080p quality, monitor all episodes"

  3. Add with specific seasons: "Add The Office with monitor_type: 'season_specific' and monitor_seasons: [1, 2, 3]"

  4. Check status: "Show me details for Breaking Bad"

Managing Your Collection

  1. List series: "Show me all my TV series"

  2. Update monitoring: "Change series ID 123 to monitor only seasons 2 and 4"

  3. Update quality and search: "Change series ID 123 to 4K quality and start searching for missing episodes"

  4. Browse releases: "Show me available releases for series ID 123 season 2"

Season-Specific Management

  1. Monitor specific seasons: "Update series ID 123 with monitor_type: 'season_specific', monitor_seasons: [1, 3, 5]"

  2. Delete specific seasons: "Delete seasons 2 and 4 from series ID 123 including files"

  3. Search specific episodes: "Show releases for series ID 123 season 3 episode 5"

Finding Downloads

  1. Get series details: "Show me the status of Game of Thrones"

  2. Interactive search: "What releases are available for The Walking Dead season 1?"

  3. Episode search: "Find releases for series ID 456 season 2 episode 10"

Requirements

  • Python 3.13+

  • Sonarr v3+ with API access

  • Network access to your Sonarr instance

Development

# Clone the repository
git clone https://github.com/MichaelReubenDev/sonarr-mcp.git
cd sonarr-mcp

# Install dependencies
uv sync

# Test with the MCP Inspector
task mcp_inspector

# Run with debug logging
uv run sonarr-mcp --url http://localhost:8989 --api-token YOUR_TOKEN --debug

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Support


Available Tools

9 tools
add_seriesC

Add a TV series to Sonarr

Inputs: tvdb_id (required), quality_profile_id (required), monitor_type (required), root_folder_path, +3 more.

delete_seriesA

Delete a TV series or specific seasons from Sonarr

Inputs: series_id (required), delete_seasons, delete_files.

download_releaseB

Download a specific release for an episode

Inputs: release_guid (required), series_id (required).

get_quality_profilesA

Get all quality profiles from Sonarr

Inputs: no named parameters.

get_seriesB

Get detailed information about a specific TV series

Inputs: series_id (required).

list_seriesB

Get all TV series from Sonarr

Inputs: no named parameters.

search_seriesC

Search for TV series in Sonarr

Inputs: query (required).

update_seriesA

Update series settings (quality profile, monitoring, search)

Inputs: series_id (required), quality_profile_id, monitor_type, monitor_seasons, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool targets a distinct action or resource: add/delete/update series, list/get/search series, search/download releases, and get quality profiles. No two tools overlap in purpose.

    Naming Consistency4/5

    Most tools use a consistent verb_noun pattern (e.g., add_series, delete_series, download_release). The exception is interactive_search, which mixes an adjective with a noun, breaking the pattern slightly.

    Tool Count5/5

    With 9 tools, the set is well-scoped. Each tool covers an essential function for Sonarr management, not too few or too many for the domain.

    Completeness4/5

    The set covers core CRUD operations and key workflows (search, add, download). Minor gaps exist, such as tools for managing episode status or series seasons, but the main operations are covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers