Skip to main content
Glama

find_orphan_downloads

Read-only

Scan Sonarr/Radarr download folders to find untracked files, group them by series or movie, and flag duplicates or missing imports.

Instructions

Importable files in the downloads folder that no queue item is tracking (e.g. Download Station removed the task before Sonarr imported it). Groups them by series/movie and says whether each episode/movie already has a file (duplicate) or is missing. Also flags several files for the same episode. If no folder is configured, the download folders are detected from the queue and the import history. The scan can take a while on a NAS.

Examples: "Why wasn't S03E04 of The Capture imported?", "Is anything stuck in /downloads?"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax items to return
folderNoFolder to scan as seen by Sonarr/Radarr; default ARR_DOWNLOADS_PATH or auto-detected
serviceNo'sonarr' or 'radarr'; omit to query both

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description adds meaningful behavior beyond that: grouping by series/movie, duplicate vs missing classification, multiple-file-per-episode flagging, auto-detection of download folders from queue/history when unset, and a real performance caveat ('can take a while on a NAS'). This is exactly the operational context annotations cannot carry.

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?

Front-loaded with the core definition, then behavior, then caveat, then examples. Slightly long and the folder auto-detection is stated in both description and schema, but every sentence contributes useful information.

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?

An output schema exists, so return values need not be explained, and the annotations cover the safety profile. The description covers scope, output grouping, and performance, but does not hint at what the agent should do next (e.g., manual_import) once orphans are found, leaving a minor gap for a read-only audit tool.

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 schema already documents limit, folder, and service with defaults and bounds. The description only restates the folder auto-detection rule that the schema already states; it adds no new parameter semantics. Baseline 3 is correct.

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?

States a specific verb and resource ('importable files in the downloads folder that no queue item is tracking') and explains the causal scenario behind the gap. An agent can distinguish it from find_stalled_downloads (active downloads that stalled) and diagnose_import (diagosing a specific import failure) without opening any schema.

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 examples ('Why wasn't S03E04 of The Capture imported?', 'Is anything stuck in /downloads?') give clear real-world invocation contexts. It does not explicitly name the alternative tools to use when the answer is known to be a stalled download or a full import diagnosis, so routing requires inference, but the context is unambiguous.

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