mcp-arr-lite
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-arr-litefind and grab the movie Interstellar in 4K"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-arr-lite
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 |
| ✅ | Search a movie/series by title, returns name + poster URL |
| ✅ | List indexers for an app, marking the preferred one |
| ❌ | Add a movie/series (optionally trigger search) |
| ❌ | Search releases, defaulting to the preferred indexer |
| ❌ | Start downloading a release |
Requirements
Node.js >= 20 (npx) or Docker (container)
Radarr and/or Sonarr with an API key
Installation
Docker Compose (recommended)
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=infoOnly 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-liteEnvironment 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_TOKENset and behind a TLS-terminating reverse proxy.
License
MIT
Available Tools
9 toolslist_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.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Which Arr app to list indexers for | radarr |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Movie title | |
| search | No | Immediately search for a release and start downloading | |
| tmdbId | Yes | TMDB id of the movie (from radarr_lookup) | |
| monitored | No | ||
| rootFolderPath | No | Root folder path in Radarr (defaults to the first configured) | |
| qualityProfileId | No | Radarr quality profile id (defaults to the first configured) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| guid | Yes | Release guid (from radarr_search_releases) | |
| indexerId | No | Indexer id that produced the release |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term: movie title, TMDB id, or IMDb id |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| indexer | No | "preferred" uses the indexer with the lowest numeric priority. Pass a specific indexer id to force one. | |
| movieId | Yes | Radarr movie id (from radarr_add response) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Series title | |
| search | No | Immediately search for missing episodes and start downloading | |
| tvdbId | Yes | TVDB id of the series (from sonarr_lookup) | |
| monitored | No | ||
| seasonFolder | No | ||
| rootFolderPath | No | Root folder path in Sonarr (defaults to the first configured) | |
| qualityProfileId | No | Sonarr quality profile id (defaults to the first configured) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| guid | Yes | Release guid (from sonarr_search_releases) | |
| indexerId | No | Indexer id that produced the release |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term: series title, TVDB id, or IMDb id |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| indexer | No | "preferred" uses the indexer with the lowest numeric priority. Pass a specific indexer id to force one. | |
| episodeId | No | Single episode id (from sonarr episodes) | |
| episodeIds | No | Multiple episode ids |
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v1.0.0- First observed
list_indexers - First observed
radarr_add - First observed
radarr_grab - First observed
radarr_lookup - First observed
radarr_search_releases - First observed
sonarr_add - First observed
sonarr_grab - First observed
sonarr_lookup - First observed
sonarr_search_releases
TDQS
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.
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.
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.
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
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
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Unlock a world of television with the TV Maze MCP server. Effortlessly search for shows by name or
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
An MCP server that provides tools to discover and retrieve podcast episodes transcripts.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for managing a media server stack (Plex, Radarr, Overseerr, Bazarr, Prowlarr, Trakt.tv) using natural language to browse, request, and discover content.12MIT
- FlicenseNot gradedqualityBmaintenanceMCP 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.-
- FlicenseAqualityAmaintenanceMCP 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-
- FlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI assistants to manage your Radarr movies and Sonarr TV shows, including search, add, delete, monitor, and grab releases.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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