Skip to main content
Glama
arr-mcps
by arr-mcps

sonarr_media_library

Manage Sonarr media library by executing operations such as adding, updating, deleting, and querying series and episodes. Provide the operation name and arguments to perform the desired action.

Instructions

sonarr media library operations on Sonarr. Pass operation and an arguments dict matching that operation's parameters.

  • sonarr_add_series(body={}) — Add a series to Sonarr (body is a SeriesResource). WRITE: this modifies your Sonarr instance.

  • sonarr_bulk_delete_episodefile(body={}) — Delete episodefile bulk. DESTRUCTIVE: this deletes data.

  • sonarr_bulk_delete_series(body={}) — Delete series editor. DESTRUCTIVE: this deletes data.

  • sonarr_bulk_edit_episodefiles(body={}) — Update episodefile editor. WRITE: this modifies your Sonarr instance.

  • sonarr_bulk_update_episodefile(body=[]) — Update episodefile bulk. WRITE: this modifies your Sonarr instance.

  • sonarr_bulk_update_series(body={}) — Update series editor. WRITE: this modifies your Sonarr instance.

  • sonarr_commit_manual_import(body=[]) — Commit a manual import (body is a list of manual import items). WRITE: this modifies your Sonarr instance.

  • sonarr_delete_episodefile(id) — Delete episode files. DESTRUCTIVE: this deletes data.

  • sonarr_delete_series(id, delete_files=False, add_import_list_exclusion=False) — Delete series. DESTRUCTIVE: this deletes data.

  • sonarr_get_episode(id) — Fetch a single episodes by id.

  • sonarr_get_episodefile(id) — Fetch a single episode files by id.

  • sonarr_get_parse(title='', path='') — List title parsing results. Query params: title, path.

  • sonarr_get_rename(series_id=None, season_number=None) — List rename.

  • sonarr_get_series(id, include_season_images=False) — Fetch a single series by id.

  • sonarr_get_series_folder(id) — Fetch a single series by id.

  • sonarr_import_series(body=[]) — Import series (body is a list of series resources). WRITE: this modifies your Sonarr instance.

  • sonarr_list_episode(series_id=None, season_number=None, episode_ids=None, episode_file_id=None, include_series=False, include_episode_file=False, include_images=False) — List episodes.

  • sonarr_list_episodefile(series_id=None, episode_file_ids=None) — List episode files.

  • sonarr_list_manualimport(folder='', download_id='', series_id=None, season_number=None, filter_existing_files=True) — List manual import candidates. Query params: folder, download_id.

  • sonarr_list_series(tvdb_id=None, include_season_images=False) — List series.

  • sonarr_lookup_series(term='') — Search for a series by title (term), returning metadata candidates from TVDB.

  • sonarr_monitor_episode(include_images=False, body={}) — Monitor or unmonitor episodes (body is an EpisodeResource[] of id/monitored pairs). WRITE: this modifies your Sonarr instance.

  • sonarr_update_episode(id, body={}) — Update episodes. WRITE: this modifies your Sonarr instance.

  • sonarr_update_episodefile(id, body={}) — Update episode files. WRITE: this modifies your Sonarr instance.

  • sonarr_update_season_pass(body={}) — Apply season pass monitoring settings (body is a SeasonPassResource). WRITE: this modifies your Sonarr instance.

  • sonarr_update_series(id, move_files=False, body={}) — Update series. WRITE: this modifies your Sonarr instance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argumentsNo
operationYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full transparency burden. It marks every mutating operation with 'WRITE: this modifies your Sonarr instance' and every destructive action with 'DESTRUCTIVE: this deletes data', clearly disclosing side effects. This goes well beyond what a typical tool description provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long out of necessity—25 operations require enumeration—and is well-structured as a bulleted list. The opening line is slightly redundant ('on Sonarr' is implied by the tool name), and WRITE/DESTRUCTIVE tags are repeated verbatim, creating some noise. Still, every line earns its place and the signatures are formatted efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large operation count and the minimal schema, the description covers all operation names, parameter signatures, defaults, and side-effect labels. It does not include a concrete usage example of the `arguments` dict, nor does it explain the `body` resource types in detail. However, it does state that arguments must match the operation's parameters, which is sufficient for an agent familiar with Sonarr conventions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only defines a generic `arguments` object with no property descriptions (0% schema coverage). The description compensates fully by listing each operation's parameter names and defaults (e.g., `sonarr_list_episode(series_id=None, season_number=None, ...)`). This gives the agent precise key names for the arguments dict, which is essential for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies this as a dispatcher for Sonarr media library operations, then enumerates 25 specific operation signatures covering series, episodes, and files. This is a specific verb+resource scope that distinguishes it from sibling tools like sonarr_calendar or sonarr_release_search, despite not explicitly naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by listing the exact operations available and instructing the agent to pass `operation` and `arguments`. However, it provides no explicit guidance about when to use this tool versus sibling Sonarr tools, nor does it mention exclusions or alternative tools for overlapping functionality.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/arr-mcps/sonarr-mcp'

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