Skip to main content
Glama
Cuti27

mcp-arr-lite

by Cuti27

mcp-arr-lite

GHCR License

Lightweight MCP server for Radarr and Sonarr with a small set of granular, purpose-built tools. Unofficial project.

Why this project?

General "arr" MCP servers (like Knuckles-Team/arr-mcp) auto-generate thousands of tools from the Arr API and hand the whole surface to the LLM. mcp-arr-lite is the opposite:

  • Granular tools: exactly the operations needed for the "can you grab X for me?" flow — lookup, add, search releases, grab — no admin/config noise.

  • Preferred-indexer logic: search tools default to the indexer with the lowest numeric priority, deterministic instead of prompt-dependent.

  • HITL-friendly: read-only tools (lookup, list indexers) can be auto-approved; add/search/grab require explicit user approval.

  • Dual transport: stdio (npx) and HTTP (Docker).

Comparison with Knuckles-Team/arr-mcp

Aspect

arr-mcp

mcp-arr-lite

Tool surface

1123 generated tools

9 hand-written tools

Preferred indexer

Prompt-dependent

Coded into search tools

Apps

6+ Arr apps

Radarr + Sonarr

Transports

stdio

stdio + HTTP

Focus

Whole API

Add & download flow

Related MCP server: overseerr-mcp

Tools

Tool

Read-only

Description

radarr_lookup / sonarr_lookup

Search a movie/series by title, returns name + poster URL

list_indexers

List indexers for an app, marking the preferred one

radarr_add / sonarr_add

Add a movie/series (optionally trigger search)

radarr_search_releases / sonarr_search_releases

Search releases, defaulting to the preferred indexer

radarr_grab / sonarr_grab

Start downloading a release

Requirements

  • Node.js >= 20 (npx) or Docker (container)

  • Radarr and/or Sonarr with an API key

Installation

services:
  arr-mcp:
    image: ghcr.io/cuti27/mcp-arr-lite:latest
    restart: unless-stopped
    environment:
      - RADARR_URL=http://radarr:7878
      - RADARR_API_KEY=your-radarr-api-key
      - SONARR_URL=http://sonarr:8989
      - SONARR_API_KEY=your-sonarr-api-key
      - MCP_TRANSPORT=http
      - MCP_AUTH_TOKEN=your-secure-token-here
      - PORT=3000
      - HOST=0.0.0.0
      - LOG_LEVEL=info

Only configure the apps you use — Radarr and Sonarr are both optional at startup; tools for an unconfigured app will return an error.

stdio (npx)

RADARR_URL=http://radarr:7878 \
RADARR_API_KEY=... \
SONARR_URL=http://sonarr:8989 \
SONARR_API_KEY=... \
MCP_TRANSPORT=stdio \
npx -y @cuti27/mcp-arr-lite

Environment variables

See .env.example. Required per app: RADARR_URL + RADARR_API_KEY, SONARR_URL + SONARR_API_KEY. MCP_AUTH_TOKEN is required when MCP_TRANSPORT=http.

Security

  • HTTP transport enforces bearer auth, rate limiting (60 req/min/IP) and a 1 MB body limit.

  • API keys are redacted from logs.

  • Only run the HTTP transport with MCP_AUTH_TOKEN set and behind a TLS-terminating reverse proxy.

License

MIT

Available Tools

9 tools
list_indexersA

List configured indexers for Radarr or Sonarr, marking the preferred one (lowest numeric priority among enabled). Use this when a preferred indexer returns no releases and you need to show the user the alternatives.

ParametersJSON Schema
NameRequiredDescriptionDefault
appNoWhich Arr app to list indexers forradarr

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the tool marks the preferred indexer based on lowest numeric priority among enabled ones. The verb 'list' implies a read-only operation, and no destructive behavior is suggested. It could be more explicit about being read-only, but the description is adequate.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and key behavior. The second sentence provides usage guidance. No wasted words.

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?

For a simple tool with one optional parameter and no output schema, the description covers purpose, usage scenario, and a behavioral detail (preferred marking). It could briefly mention what the output looks like, but is otherwise complete.

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

Parameters3/5

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

Schema coverage is 100% – the single parameter 'app' has a clear enum and description. The description adds no new parameter-level meaning beyond what the schema already provides, so a baseline of 3 is appropriate.

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 uses specific verb ('List') and resource ('configured indexers for Radarr or Sonarr'), and includes the distinctive feature of marking the preferred one. This clearly differentiates it from sibling tools like radarr_lookup or sonarr_search_releases.

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

Usage Guidelines4/5

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

The description explicitly states when to use the tool ('when a preferred indexer returns no releases and you need to show the user the alternatives'). It does not mention when not to use it, but the context is sufficiently clear given the sibling tool names.

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

radarr_addA

Add a movie to Radarr. By default starts searching for a release immediately. Requires user confirmation before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesMovie title
searchNoImmediately search for a release and start downloading
tmdbIdYesTMDB id of the movie (from radarr_lookup)
monitoredNo
rootFolderPathNoRoot folder path in Radarr (defaults to the first configured)
qualityProfileIdNoRadarr quality profile id (defaults to the first configured)

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It clearly states that by default it starts searching for a release immediately and requires user confirmation, which is helpful. However, it does not disclose potential side effects like whether existing movies are overwritten, or auth/permission needs.

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 two sentences and immediately states the core action. The second sentence provides crucial usage guidance. It is efficient, though the first sentence could be slightly more front-loaded with the behavioral note.

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 tool has 6 parameters, high schema coverage, and no output schema, the description covers the key semantic behavior (immediate search, user confirmation). It does not explain return behavior, but with no output schema that is less critical. Still, for a tool with moderate complexity it is fairly complete.

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

Parameters3/5

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

Schema description coverage is high at 83%, so the schema already documents most parameters. The description adds no extra parameter details beyond what is in the schema, so a baseline score of 3 is appropriate.

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 uses a clear verb-resource pair ('Add a movie to Radarr') and explicitly distinguishes from siblings by mentioning the default start of release searching, which is a key differentiator from radarr_lookup or radarr_grab.

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

Usage Guidelines4/5

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

The description states it requires user confirmation before calling, which guides the agent on preconditions. However, it does not explicitly compare to sibling tools like sonarr_add or radarr_grab, nor does it specify when not to use it.

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

radarr_grabB

Start downloading a movie release in Radarr. Requires user confirmation before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
guidYesRelease guid (from radarr_search_releases)
indexerIdNoIndexer id that produced the release

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It correctly indicates this is a destructive/mutating action (downloading), which is essential. However, it doesn't specify if the tool is idempotent, what happens on duplicates, or if it sends the download to a connected client. The user confirmation requirement is helpful but leaves gaps about side effects.

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 two concise sentences with no wasted words. It front-loads the primary purpose and adds the critical requirement (user confirmation) in the second sentence. Could be slightly improved by removing the redundant 'before calling' given the tool name implies execution.

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

Completeness3/5

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

Given the tool has a simple input schema (2 parameters, no nested objects, no output schema), the description is adequate but not thorough. It lacks details about the workflow (e.g., requiring prior search), return behavior, or error states. For a potentially destructive action, more completeness would be beneficial.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional parameter information beyond the schema. The 'guid' parameter is documented as coming from radarr_search_releases, which is useful context implied by the description but not explicitly linked to the parameter. The description does not compensate for the lack of nested objects or enums.

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

Purpose4/5

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

The description clearly uses the verb 'start downloading' with the resource 'movie release in Radarr', establishing a specific action. It distinguishes from sibling tools like radarr_search_releases (search only) and radarr_add (add movie to library). The purpose is well-defined but could explicitly mention it's the final step to initiate a download.

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 states 'Requires user confirmation before calling', which sets a clear prerequisite about human approval. However, it doesn't say when to use this vs. alternatives like sonarr_grab (for TV series), nor does it describe the typical workflow (e.g., first search, then grab). The guidance is minimal but not misleading.

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

radarr_lookupA

Search Radarr for a movie by title (or TMDB/IMDb id). Returns candidates with title, year, overview and poster URL. Use this to confirm with the user before adding.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYesSearch term: movie title, TMDB id, or IMDb id

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool is a search returning candidates with specific fields (title, year, overview, poster URL), which is good. However, it doesn't mention any side effects (though it appears read-only), rate limits, or behavior when no results are found. The description is adequate but not rich enough to fully prepare the agent for all scenarios.

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

Conciseness5/5

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

The description is concise at two sentences, with the most critical information (search method, purpose) front-loaded in the first sentence. Every sentence adds value, and there is no redundancy.

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 low complexity (single parameter, no nested objects, no output schema, no enums), the description is fairly complete. It covers what the tool does, how to use it, and what the user gets back. A small gap is the lack of pagination or result count limits, but for a search tool this is a minor omission.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds very little beyond the schema: it lists the return fields (title, year, overview, poster URL) and confirms the term parameter accepts title or IDs. This adds some context but does not significantly deepen understanding beyond what the schema provides.

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 states the verb (Search), the resource (Radarr for a movie), and the specific means (by title or TMDB/IMDb id). It distinguishes itself from siblings like sonarr_lookup by explicitly naming Radarr, and from radarr_add by noting that the result is to confirm with the user before adding.

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

Usage Guidelines5/5

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

The description explicitly states the use case: 'Use this to confirm with the user before adding.' This clearly distinguishes when to use radarr_lookup (pre-add confirmation) versus radarr_add (actually adding), and implies it's a read-only discovery step. No explicit when-not-to-use or alternative sibling tools are named, but the context is so clear for this workflow that a 5 is warranted.

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

radarr_search_releasesA

Search available releases for a movie in Radarr. Defaults to the preferred indexer (lowest numeric priority). If the preferred indexer returns no results, ask the user which alternative indexer to use and pass its id.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexerNo"preferred" uses the indexer with the lowest numeric priority. Pass a specific indexer id to force one.
movieIdYesRadarr movie id (from radarr_add response)

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the key behavioral trait of reverting to user interaction when no results are found from the preferred indexer. However, it does not state whether the operation is read-only, mention any side effects, or describe the response format, leaving gaps in the agent's understanding of the tool's safety and output.

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

Conciseness5/5

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

The description is exceptionally concise: two sentences that immediately state the purpose and then provide the key usage rule. No extraneous words, and the critical information is front-loaded. Every sentence earns its place.

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

Completeness3/5

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

Given the tool has no output schema, the description should ideally explain what the tool returns (e.g., a list of release objects). It does not, leaving the agent to guess the return format. The description also does not mention prerequisites (e.g., that movieId comes from radarr_add), though that is implied by the parameter description. Slightly incomplete for a tool with no output schema.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the 'preferred' indexer behavior (lowest numeric priority) and the fallback to user guidance. This goes beyond the schema's enum description, providing practical usage context. However, it does not explain how to obtain alternative indexer ids (e.g., from list_indexers).

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 states the tool's action: 'Search available releases for a movie in Radarr.' It specifies the resource (releases) and the system (Radarr), distinguishing it from siblings like sonarr_search_releases. The additional detail about default indexer and fallback behavior further clarifies the tool's scope.

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

Usage Guidelines4/5

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

The description explicitly explains when to use the default indexer versus an alternative, including the fallback process ('ask the user which alternative indexer to use and pass its id'). However, it does not differentiate this tool from sibling tools like radarr_lookup, radarr_grab, or list_indexers, leaving the broader usage context implicit.

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

sonarr_addA

Add a series to Sonarr. By default starts searching for missing episodes immediately. Requires user confirmation before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesSeries title
searchNoImmediately search for missing episodes and start downloading
tvdbIdYesTVDB id of the series (from sonarr_lookup)
monitoredNo
seasonFolderNo
rootFolderPathNoRoot folder path in Sonarr (defaults to the first configured)
qualityProfileIdNoSonarr quality profile id (defaults to the first configured)

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that by default it searches for missing episodes immediately, and requires user confirmation. However, it does not mention error handling, what happens if the series already exists, or auth/permissions needs. Partial transparency.

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

Conciseness5/5

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

Description is two sentences, front-loaded with main action, then default behavior and user confirmation requirement. No wasted words.

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

Completeness2/5

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

Given 7 parameters, no output schema, and moderate schema coverage, the description is incomplete. It does not explain return values, error scenarios, or prerequisites (e.g., that tvdbId comes from sonarr_lookup). Important behavioral details are missing.

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

Parameters2/5

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

Schema description coverage is 71%, so many parameter descriptions are already in the schema. The description adds no extra meaning for any parameter. Two parameters (monitored, seasonFolder) have no schema description and are not covered in the description.

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?

Description clearly states verb and resource: 'Add a series to Sonarr.' It also distinguishes from sibling lookup/search tools by specifying that this is an add operation, and includes default behavior and a usage constraint.

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?

Description mentions 'Requires user confirmation before calling' which gives a when-to-use hint, but does not explicitly state when to use this tool vs alternatives like sonarr_lookup or sonarr_search_releases. No exclusions or alternative tool names provided.

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

sonarr_grabA

Start downloading a series episode release in Sonarr. Requires user confirmation before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
guidYesRelease guid (from sonarr_search_releases)
indexerIdNoIndexer id that produced the release

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It adds the important requirement of user confirmation, but does not explain what happens after confirmation (e.g., download initiation, state changes), error conditions, or idempotency. The behavioral transparency is minimal beyond the confirmation note.

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

Conciseness5/5

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

The description consists of two concise sentences, with the purpose stated first and the behavioral requirement second. Every sentence adds value, and there is no wasted or redundant text.

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

Completeness3/5

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

Given the lack of output schema and annotations, the description covers the primary action and the user confirmation requirement. However, it does not explain the return behavior, error cases, or prerequisites (e.g., needing a release guid from sonarr_search_releases, which is only implied by the parameter description in the schema). The tool is relatively simple, so the description is adequate but not complete.

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

Parameters3/5

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

Schema description coverage is 100%—both parameters have clear descriptions (guid from sonarr_search_releases, indexerId from the indexer). The tool description adds no additional information about the parameters beyond what is already in the schema, so it meets the baseline for high coverage.

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 uses a specific verb 'Start downloading' and resource 'series episode release in Sonarr', clearly stating the tool's action. It distinguishes from sibling tools like sonarr_search_releases (searching) and sonarr_add (adding series), which have different purposes.

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 mentions the user confirmation requirement ('Requires user confirmation before calling'), which is a usage guideline. However, it does not explicitly state when to use this tool versus alternatives (e.g., after sonarr_search_releases), nor does it describe scenarios where the tool should not be used.

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

sonarr_lookupA

Search Sonarr for a series by title (or TVDB/IMDb id). Returns candidates with title, year, overview and poster URL. Use this to confirm with the user before adding.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYesSearch term: series title, TVDB id, or IMDb id

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states the tool searches and returns candidates with title, year, overview, and poster URL. It does not disclose if the search can return errors, rate limits, or if it requires authentication beyond the parent service. The behavioral scope is fairly narrow and the description covers the core, but misses some operational details.

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

Conciseness5/5

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

The description is two sentences, front-loading the core action and return values, then adding usage guidance. Every sentence is concise and earns its place with no wasted words.

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?

The tool is relatively simple with one parameter and no output schema. The description covers the search capability, return fields, and a usage tip. It is complete for a lookup tool, though optionally could note that the search returns multiple candidates for ambiguous titles.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter 'term' already documented as 'Search term: series title, TVDB id, or IMDb id'. The description restates these search modes but adds no deeper semantics (e.g., example format for TVDB IDs, case sensitivity, or partial matching behavior). Baseline 3 is appropriate since schema already covers the parameter well.

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 states the tool searches for a series by title, TVDB, or IMDb ID and returns candidate information. It explicitly distinguishes from siblings like radarr_lookup (which looks up movies) and sonarr_add (which adds after lookup).

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

Usage Guidelines4/5

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

The description explicitly advises to use this tool to confirm with the user before adding, which is useful guidance. However, it does not mention when not to use it or contrast with alternatives like sonarr_search_releases (which searches for releases after a series is selected).

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

sonarr_search_releasesA

Search available releases for one or more episodes in Sonarr. Defaults to the preferred indexer (lowest numeric priority). If the preferred indexer returns no results, ask the user which alternative indexer to use and pass its id.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexerNo"preferred" uses the indexer with the lowest numeric priority. Pass a specific indexer id to force one.
episodeIdNoSingle episode id (from sonarr episodes)
episodeIdsNoMultiple episode ids

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the default indexer behavior and the fallback instruction, which adds value beyond a simple 'search' statement. However, it does not mention whether the operation is read-only, rate limits, authentication needs, or what happens if the user does not respond.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the purpose, and includes the key behavioral detail without any wasted words. Every sentence earns its place.

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

Completeness3/5

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

Given no output schema and moderate complexity, the description covers purpose, default behavior, and fallback. However, it lacks details on what the tool returns, how to handle multiple alternatives, or what to do if the user does not respond. It is adequate but not exhaustive.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds meaningful semantics by explaining the default indexer selection and the fallback procedure, which goes beyond the schema's description of the indexer parameter. This helps the agent understand how to use the parameter correctly.

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 states the verb 'search' and the resource 'available releases for one or more episodes in Sonarr'. It is specific and distinguishes from siblings like radarr_search_releases (different media) and sonarr_lookup (lookup series/episodes).

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

Usage Guidelines4/5

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

The description explains the default behavior of using the preferred indexer and the fallback procedure of asking the user for an alternative. This provides clear guidance on when to use the indexer parameter. However, it does not explicitly compare to sibling tools or state when not to use this tool.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.0
    • First observedlist_indexers
    • First observedradarr_add
    • First observedradarr_grab
    • First observedradarr_lookup
    • First observedradarr_search_releases
    • First observedsonarr_add
    • First observedsonarr_grab
    • First observedsonarr_lookup
    • First observedsonarr_search_releases

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, separated by service (Radarr vs. Sonarr) and action (lookup, add, search_releases, grab). The list_indexers tool is generic but well-defined, with no overlap between tools.

Naming Consistency5/5

Tool names follow a consistent pattern: service_verb (e.g., radarr_lookup, sonarr_add). The list_indexers deviates slightly but still follows a verb_object structure, and there is no mixing of conventions.

Tool Count5/5

With 9 tools covering two services and a core workflow, the count is well-scoped. Each tool earns its place, and there is neither bloat nor insufficiency for the 'lite' purpose.

Completeness4/5

The tool set covers the primary workflow: lookup, add, search releases, and grab for both movies and series. Missing operations like delete or update are minor gaps given the 'lite' scope, and the list_indexers aids release search.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for managing a media server stack (Plex, Radarr, Overseerr, Bazarr, Prowlarr, Trakt.tv) using natural language to browse, request, and discover content.
    12
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server for Overseerr that enables searching, requesting, and managing media (movies and TV shows) through natural language, with integration to Radarr/Sonarr for automated downloads.
    -
  • F
    license
    A
    quality
    A
    maintenance
    MCP server to manage your *ARR media stack (Radarr, Sonarr, Lidarr, Readarr, Prowlarr) for searching, adding, and managing movies, TV shows, music, books, and indexers.
    1
    -

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/Cuti27/mcp-arr-lite'

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