Sonarr MCP Server

Sonarr MCP Server

Enables AI assistants to manage TV series collections through Sonarr's API using natural language interactions. Supports searching, adding, updating, and deleting TV series with detailed control over quality profiles, season monitoring, and episode downloads.

Category
Visit Server

README

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

Installation

From PyPI (Recommended)

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


Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured