sonarr-mcp
Provides tools to manage a Sonarr TV library, including searching and adding series, monitoring episodes, managing the download queue and releases, and configuring quality profiles and other Sonarr settings.
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., "@sonarr-mcpWhat's airing this week, and is anything already missing?"
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.
sonarr-mcp
Connect AI agents to Sonarr. This Model Context Protocol server exposes the Sonarr v3 API as 136 tools, so assistants like Claude can manage your TV library — add series, chase missing episodes, unstick the download queue, tune quality profiles, and diagnose health issues.
Works with any MCP client: Claude Code, Claude Desktop, or your own agent.
Highlights
Library management — search TVDB, add and remove series, edit them one at a time or in bulk, and monitor or unmonitor whole seasons
Episodes and files — list episodes, find what is missing, delete or re-tag episode files, preview renames
Downloads — inspect the queue, remove or blocklist stuck grabs, force imports, and diagnose files needing manual interaction
Interactive search — query indexers live, see why releases were rejected, and grab the one you want by hand
Quality tuning — quality profiles and definitions, custom formats, release and delay profiles
Configuration — indexers, download clients, import lists, notifications, root folders, tags, naming, and media management
Diagnostics — system status, health checks, disk space, scheduled tasks, command history, and log files
Compact by default — list tools return summaries instead of Sonarr's very large objects, with
detailed: truewhen you need everything
Things you can ask once it's connected:
"What's airing this week, and is anything already missing?"
"Add Severance, 1080p profile, into /tv and search for the whole thing"
"The queue is stuck — what's wrong and can you fix it?"
"Find me a release for the season finale that isn't x265"
"Which of my series are still below their quality cutoff?"
Related MCP server: Sonarr & Radarr MCP Server
Quick start
The package is published as @orellbuehler/sonarr-mcp and runs directly with npx — no clone or build needed.
Get your API key from Sonarr: Settings > General > Security > API Key
Register the server with your MCP client. With Claude Code:
claude mcp add sonarr \
--env SONARR_URL=http://your-sonarr-host:8989 \
--env SONARR_API_KEY=your-api-key \
-- npx -y @orellbuehler/sonarr-mcpOr as JSON config (Claude Desktop and most other MCP clients use the same shape):
{
"mcpServers": {
"sonarr": {
"command": "npx",
"args": ["-y", "@orellbuehler/sonarr-mcp"],
"env": {
"SONARR_URL": "http://your-sonarr-host:8989",
"SONARR_API_KEY": "your-api-key"
}
}
}
}Restart your MCP client. The tools are available immediately.
If Sonarr runs behind a reverse proxy with a URL base, include it in SONARR_URL (e.g. https://media.example.com/sonarr).
Environment variables
Variable | Required | Description |
| yes | Base URL of your Sonarr instance, e.g. |
| – | Accepted as an alias for |
| yes | API key from Settings > General > Security. |
The server speaks stdio only — it is a single-user, single-instance server. It is never asked for your key over the network; the key is read from the environment and sent to Sonarr as the X-Api-Key header.
Available tools
Category | Tools |
Series |
|
Episodes |
|
Episode files |
|
Calendar & wanted |
|
Queue |
|
History |
|
Blocklist |
|
Search & releases |
|
Commands |
|
Quality profiles |
|
Quality & formats |
|
Release rules |
|
Indexers |
|
Download clients |
|
Import lists |
|
Notifications |
|
Root folders |
|
Tags |
|
Exclusions & paths |
|
Configuration |
|
System |
|
Notes
List tools return summaries.
list_series,list_episodes,get_calendar,search_releasesand the wanted lists strip images, overviews and alternate titles so a large library still fits in context. Passdetailed: true, or use the matchingget_*tool, when you need the full object.Ids. Sonarr series ids are not TVDB ids.
lookup_seriesreturnstvdbId(whatadd_seriestakes); everything else takes the Sonarridfromlist_series.Searching.
search_series,search_seasonandsearch_episodesqueue Sonarr's own automatic search and return a command id — poll it withget_command.search_releasesinstead queries indexers live and returns the candidate releases for you to pick from, which you then send withgrab_release.Provider configuration. Indexers, download clients, import lists and notifications are configured through an implementation-specific
fieldsarray. Callget_*_schemafor the template, then pass the whole object tocreate_*; for updates, fetch withget_*, change what you need, and send it back. Sonarr masks secrets in responses, so re-sending a fetched object keeps the stored secret.Destructive operations are explicit.
delete_series,delete_series_bulkand the queue tools only touch files on disk when you passdelete_files/remove_from_client, and both default to the safe choice.restart_sonarris included; there is deliberately no shutdown, restore-backup or update-install tool.Sonarr v4. The v3 API paths are what Sonarr v4 serves, so this works against both v3 and v4. A handful of endpoints in the published spec (language profiles) exist only on v3 and are not exposed.
Development
npm install
npm run build # tsc -> dist/
npm test # vitest run
npm run lint # eslint src
npm run typecheck # tsc --noEmit
npm run format # prettier --write .
npm run spec:update # refresh sonarr-openapi.json from the Sonarr reposonarr-openapi.json is a vendored copy of the Sonarr v3 OpenAPI spec and is the reference for tool parameters — it is not used at runtime.
License
MIT
Available Tools
136 toolsadd_import_list_exclusionA
Exclude a series from import lists by TVDB id, so lists stop re-adding it.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Series title, for display in the Sonarr UI | |
| tvdb_id | Yes | TVDB id of the series to exclude |
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 of behavioral disclosure. It states the intended effect (stopping re-adds) but does not mention that this creates a persistent exclusion record, whether duplicates are handled, if prior exclusions are overwritten, or what happens after invocation. This is a meaningful gap for a mutation tool.
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?
A single sentence that is front-loaded with the action and resource, followed by the purpose. 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 two-parameter mutation, the description plus schema is enough to invoke the tool correctly. However, it lacks context around the exclusion workflow—such as how to undo it or what happens if the series is already excluded—which keeps it from being fully 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%, so the schema already documents both tvdb_id and title. The description adds little beyond restating that the exclusion is keyed by TVDB id, so it meets the baseline but does not go beyond it.
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 ('Exclude') with a clear resource ('a series from import lists by TVDB id') and states the intended outcome ('so lists stop re-adding it'). This distinguishes it from related tools like delete_import_list_exclusion and list_import_list_exclusions.
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 provides clear context for when to use the tool: when an import list keeps re-adding a series that should be excluded. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_remote_path_mappingA
Add a remote path mapping for a download client host.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | Download client host as configured in Sonarr | |
| local_path | Yes | Matching path as Sonarr sees it | |
| remote_path | Yes | Path as the download client reports it |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. 'Add' communicates that this is a mutating operation, but it does not disclose duplicate behavior, whether existing mappings are overwritten, validation requirements, or any side effects. This is a minimal disclosure for a write operation.
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 a single, front-loaded sentence with no filler. Every word contributes to identifying the action, resource, and scope.
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 three-parameter create operation with full schema coverage, the description is adequate. However, with no annotations and no output schema, it could usefully mention duplicate behavior or what the response indicates, so it is not fully 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%, so the input schema already documents all three parameters clearly. The description adds no additional parameter meaning, placing it at the baseline of 3.
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 ('Add') with a specific resource ('remote path mapping') and adds the context 'for a download client host.' This clearly distinguishes it from the sibling operations list_remote_path_mappings and delete_remote_path_mapping.
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 operation type is implied by the word 'Add' and the resource name, and the sibling set includes only list/delete variants, so selection is fairly obvious. However, there is no explicit guidance about when to use this tool versus alternatives, prerequisites, or conditions like duplicate handling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_root_folderA
Add a root folder. The path must exist and be writable by Sonarr.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path as Sonarr sees it, e.g. '/tv' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It discloses that this is a write operation and surfaces the important precondition about path existence and Sonarr write access. However, it does not mention error behavior, duplicate handling, or confirmation of success.
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 short sentences with no filler. The operation verb is front-loaded, and the only necessary behavioral caveat follows immediately.
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 single-parameter tool with a fully described schema, the description plus schema provide the essential information: what to do, what parameter to pass, and what prerequisite must hold. The lack of an output schema and minimal error-handling detail are minor gaps for such a simple mutation.
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?
The input schema already documents the only parameter with a clear example ('Absolute path as Sonarr sees it, e.g. '/tv''). Since schema description coverage is 100%, the baseline is 3. The description adds a useful constraint (path must exist and be writable by Sonarr) but does not otherwise expand parameter meaning.
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 ('Add') and resource ('root folder'), making the operation immediately clear. It is easily distinguished from sibling tools like list_root_folders, get_root_folder, and delete_root_folder.
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 clearly states the key prerequisite for use: the path must exist and be writable by Sonarr. It does not explicitly enumerate alternatives or when-not-to-use, but the operation is unambiguous and no direct alternative exists among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_seriesA
Add a new series to the library by TVDB id. Resolves the series metadata via lookup, then posts it with the given root folder and quality profile. Use list_root_folders and list_quality_profiles first to get valid ids.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag ids to apply, from list_tags | |
| monitor | No | Which episodes to monitor when adding (default 'all') | |
| tvdb_id | Yes | TVDB id of the series, from lookup_series | |
| monitored | No | Monitor the series (default true) | |
| series_type | No | Series type (default 'standard') | |
| season_folder | No | Use season folders (default true) | |
| root_folder_path | Yes | Root folder path, from list_root_folders | |
| quality_profile_id | Yes | Quality profile id, from list_quality_profiles | |
| search_for_missing_episodes | No | Start a search for missing episodes right after adding (default false) | |
| search_for_cutoff_unmet_episodes | No | Start a search for cutoff unmet episodes right after adding |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does reveal a two-stage behavior: resolving metadata via lookup, then posting with the supplied settings. However, it does not mention side effects of adding a series, whether duplicate detection exists, what happens on invalid IDs, or any permission/authorization requirements.
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 with no wasted words. It front-loads the primary action and resource, then immediately gives the prerequisite data-fetching steps. 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?
For a 10-parameter write operation with no output schema and no annotations, the description provides the essential workflow, required inputs, and prerequisites. It still leaves some gaps such as expected return value and post-add behavior, but the full parameter schema compensates for most optional details.
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 schema already documents every parameter in detail. The description adds mild reinforcement by naming tvdb_id, root folder, and quality profile as the core inputs, but it does not materially extend the parameter-level meaning 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 states a specific verb ('Add'), a concrete resource ('a new series to the library'), and the key input ('by TVDB id'). This clearly distinguishes it from sibling tools like list_series, update_series, and delete_series, so an agent can understand its role without opening the schema.
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?
It explicitly instructs the agent to call list_root_folders and list_quality_profiles first to get valid ids, which is a clear prerequisite workflow. It does not explicitly state when to avoid this tool in favor of update_series or other alternatives, so it lacks full exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_commandA
Cancel a queued or running command.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Command id |
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 of behavioral disclosure. It only states that a command is canceled; it does not disclose side effects, whether cancellation is permanent, error behavior for already-finished commands, or response/return behavior.
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?
One sentence with no waste: verb, resource, and eligibility states are all included. The core information is front-loaded and every word 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?
For a one-parameter tool with no output schema, the description covers the core action and the target command state. However, it leaves gaps around behavioral context such as permanence and error handling, and it does not mention how to obtain the id or what result to expect.
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%, with the id already documented as 'Command id', so the baseline is 3. The description adds no parameter-level detail, but no additional compensation is needed given the complete schema.
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 ('Cancel') and resource ('command'), and narrows scope to 'queued or running', making it clear which objects are eligible. This distinguishes it from related sibling tools like get_command, list_commands, and run_command.
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 'queued or running' qualifier implies when cancellation is valid, but the description gives no explicit when-not-to-use guidance or alternatives. An agent must infer that completed commands are out of scope and that get_command/list_commands are for inspecting command status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_custom_formatA
Create a custom format. Build the specifications from get_custom_format_schema.
| Name | Required | Description | Default |
|---|---|---|---|
| custom_format | Yes | Full custom format object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only restates the create action and references a schema tool. It does not mention what happens on invalid input, whether a created object is returned, how IDs are handled, or any 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?
Two short sentences with no filler. The core action is front-loaded, and the schema-reference guidance follows immediately, making the description efficient and scannable.
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 description is adequate for finding the correct payload shape via get_custom_format_schema, which is the main challenge for this tool. However, with no output schema and no annotations, it omits expectations about the response, validation failures, and how the created format is identified or used afterward.
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?
The schema describes the single parameter as 'Full custom format object' but gives no inner structure. The description adds needed semantics by directing the agent to get_custom_format_schema to build the specifications, compensating for the schema's opacity.
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 states the exact action and object: 'Create a custom format.' It clearly differentiates from sibling tools like update_custom_format, delete_custom_format, and get_custom_format by naming the create operation on the same resource.
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 instruction to 'Build the specifications from get_custom_format_schema' provides a concrete workflow for correctly constructing the request. It does not explicitly state when not to use this tool versus alternatives, but the create-versus-update distinction is clear from the phrasing and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_download_clientA
Add a new download client. Build the body from get_download_client_schema: it needs name, implementation, configContract and the fields array, plus enable, protocol, priority, removeCompletedDownloads, removeFailedDownloads.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full download client resource object, based on the schema |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description bears the full burden of disclosing behavioral traits. It only states that a new client is added and lists input fields; it does not mention whether creation triggers a connection test, what happens with duplicate names, whether the call is idempotent, or what the response contains. This is a significant gap for a mutating create operation.
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 filler. The action is front-loaded, and the body-construction guidance is packed with directly actionable information. Every word 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?
The description is strong for input construction and references the correct schema endpoint, but it is incomplete given the lack of annotations and output schema. It does not cover behavioral outcomes such as whether the client is tested after creation, how errors or conflicts are handled, or what the return value represents. It is adequate but has clear gaps.
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?
The input schema only exposes an opaque 'config' object with additionalProperties allowed, so the description provides the essential internal structure. It explicitly enumerates the required properties such as name, implementation, configContract, fields array, and optional settings like enable, protocol, priority, and removal flags, which is far beyond what the schema offers.
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 opens with a specific action and resource, 'Add a new download client,' which clearly distinguishes it from update, delete, list, get, and test siblings. It also references the schema tool that should be used to build the payload, further grounding its purpose.
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 tells the agent to build the body from get_download_client_schema, which provides clear guidance for the creation workflow. It does not explicitly state when not to use this tool or name update_download_client as the alternative for existing clients, but the context is still clear from the sibling list and verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_import_listA
Add a new import list. Build the body from get_import_list_schema: it needs name, implementation, configContract and the fields array, plus enableAutomaticAdd, shouldMonitor, rootFolderPath, qualityProfileId, seriesType.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full import list resource object, based on the schema |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral burden. It clearly states that the operation adds a new import list and points to the schema for constructing a valid body. It does not describe response behavior, validation, or error handling, but the core mutation is explicit.
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 with no filler: the first states the action, and the second gives the essential construction guidance. The field list is long but necessary, and the instruction to use get_import_list_schema is front-loaded.
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 minimal schema, no annotations, and no output schema, the description does a strong job by providing the schema source and listing required body fields. It could additionally mention what the API returns after creation, but that is not required to invoke the tool correctly.
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?
The schema only describes config as a generic object with additionalProperties true, leaving the actual structure opaque. The description adds high-value detail by listing the required fields: name, implementation, configContract, the fields array, enableAutomaticAdd, shouldMonitor, rootFolderPath, qualityProfileId, and seriesType, so an agent can construct the body 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 opens with a specific verb and object, 'Add a new import list,' which clearly establishes the tool's purpose. Mentioning get_import_list_schema as the body source further distinguishes it from related update/delete/list operations.
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 gives clear context for when to use the tool: to create a new import list. It also provides a concrete instruction to build the request body from get_import_list_schema. It does not explicitly name alternatives, but the create semantics are unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_indexerA
Add a new indexer. Build the body from get_indexer_schema: it needs name, implementation, configContract and the fields array, plus enableRss, enableAutomaticSearch, enableInteractiveSearch, priority, protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full indexer resource object, based on the schema |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries most of the burden. It adds useful behavioral detail by requiring the config to be built from get_indexer_schema and enumerating required fields, but it doesn't describe return values, failure modes, duplicate handling, or side effects beyond creation.
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 short, purposeful sentences with no filler. The action is front-loaded, the schema dependency is stated, and the field list is compact.
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 a single nested config parameter and no output schema, the description is largely complete for invocation: it covers the source schema and required fields. It omits response/error expectations, but the agent has enough to construct a valid request.
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?
The schema only says config is 'Full indexer resource object, based on the schema,' which is generic. The description significantly adds meaning by listing the exact fields required: name, implementation, configContract, fields array, enableRss, enableAutomaticSearch, enableInteractiveSearch, priority, and protocol.
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 ('Add') and a specific resource ('a new indexer'), making the action unmistakable. It is clearly differentiated from sibling tools like update_indexer, delete_indexer, and test_indexer by stating 'Add a new indexer'.
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 gives concrete procedural guidance: build the body from get_indexer_schema and include the listed fields. It doesn't explicitly name alternatives or when-not-to-use conditions, but the 'Add a new indexer' scoping makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_notificationA
Add a new notification connection. Build the body from get_notification_schema: it needs name, implementation, configContract and the fields array, plus onGrab, onDownload, onUpgrade, onHealthIssue and the other event toggles.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full notification connection resource object, based on the schema |
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 of behavioral disclosure. It states the core mutation ('Add a new notification connection') but does not mention whether the connection is validated/tested, whether existing names are overwritten, required permissions, or what happens on failure; a mutation tool with zero annotation coverage needs more than this.
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 with no redundant wording. The operation is front-loaded and the body-building instruction is placed immediately after, so the most actionable information appears first.
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 nested-object creation tool with no output schema and no annotations, the description is adequate but incomplete: it points to get_notification_schema and lists key fields, but it does not enumerate all event toggles, describe the response, or mention validation behavior. An agent may still need to open the schema tool to be fully certain.
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?
Although the schema covers the single config parameter with a generic description, the description adds real semantic value by enumerating required keys (name, implementation, configContract, fields array, and event toggles). This goes beyond the schema and materially helps an agent construct a valid config object.
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 ('Add'), names the resource ('notification connection'), and clarifies the scope by noting this is for a new connection, which distinguishes it from update_notification, delete_notification, and test_notification. It also states the source to build the body, removing ambiguity about the tool's role.
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 clearly frames when to use the tool (to add a new notification connection) and provides explicit construction guidance by pointing to get_notification_schema. It does not name alternatives or state exclusions, but the 'new' qualifier plus sibling names make the boundary with update/delete obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_quality_profileA
Create a quality profile. Start from get_quality_profile_schema, set name, cutoff and which items are allowed.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | Yes | Full quality profile object |
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 the create action and describes how to construct the input object, but does not disclose consequences like duplicate names, validation behavior, whether defaults are applied, or what the response contains. Adequate for a straightforward create operation, but not rich.
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 short sentences with zero filler. The core verb and resource are front-loaded, and the workflow instruction earns its place by removing ambiguity about how to populate the nested object.
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 create tool taking a single opaque nested object with no output schema and no annotations, the description is nearly complete: it names the schema tool, the fields to set, and the create action. It could mention that the schema response should be used as a template or that the id should be omitted, but the essential path is covered.
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 'profile' parameter is described as 'Full quality profile object'), so the baseline is 3. The description adds real value beyond the schema by instructing the agent to obtain the object from get_quality_profile_schema and modify name, cutoff, and allowed items — guidance that makes the opaque nested parameter tractable.
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 opens with 'Create a quality profile' — a specific verb and resource that unmistakably conveys the operation. It also names get_quality_profile_schema as the starting point, which helps an agent navigate the create workflow. It doesn't explicitly contrast with update_quality_profile, but the create verb is inherently distinct from the update sibling.
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 gives clear, actionable context: start from get_quality_profile_schema, then set name, cutoff, and allowed items. This tells the agent the prerequisite workflow for this tool. It does not state when not to use it or point to the update alternative, so exclusions are missing, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_release_profileB
Create a release profile, e.g. { name, enabled: true, required: [], ignored: ['x265'], indexerId: 0, tags: [] }.
| Name | Required | Description | Default |
|---|---|---|---|
| release_profile | Yes | Full release profile object |
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 of behavioral disclosure. It only states the action 'Create' and shows an example object, but it does not mention idempotency, validation requirements, duplicate behavior, side effects, or what the API returns after creation. This is a significant transparency gap for a mutation tool.
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 a single sentence with an inline example, with no filler or repeated schema information. The example is useful and the core action is front-loaded. It could be slightly more structured, but it remains appropriately sized.
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 create operation with no annotations and no output schema, the description is minimally adequate because it provides an example shape. However, it does not explain what fields are required, what values are valid (especially for indexerId and tags), or what response/error behavior to expect. Given the vague input schema and lack of annotations, more context would be needed for reliable invocation.
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?
The schema only describes release_profile as 'Full release profile object' with additionalProperties allowed, so it provides almost no structural detail. The description adds a concrete example with fields like name, enabled, required, ignored, indexerId, and tags, which meaningfully helps an agent construct the parameter despite the schema's vagueness.
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 begins with a clear verb and resource: 'Create a release profile.' The example object further clarifies the domain. However, it does not explicitly distinguish itself from the sibling update_release_profile or list_release_profiles beyond the word 'create,' so it is clear but not fully differentiated.
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?
Usage is only implied by the verb 'Create' — an agent can infer this is for creating a new release profile rather than updating or deleting one. The description provides no explicit when-to-use guidance, no exclusions, and does not point to alternatives such as update_release_profile or list_release_profiles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_tagC
Create a tag.
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Tag label, e.g. 'anime' |
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 of behavioral disclosure, yet it discloses nothing beyond 'creates'. It does not state whether creating a duplicate label errors, whether tags are case-sensitive, what the success response looks like, or whether the operation has any side effects. For a mutation tool with zero annotation coverage, this is a significant gap.
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 a single three-word sentence with zero wasted words and is technically front-loaded. However, this is under-specification rather than disciplined conciseness — the brevity comes at the cost of all informative content, so it cannot be rated higher despite being short.
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 one-parameter creation tool, the description plus schema is minimally workable, but it is incomplete in meaningful ways: no output schema exists, so the agent does not know what the call returns; no annotations cover safety or side effects; and there is no guidance on duplicate-label behavior. Given the tag-related sibling cluster, a sentence about uniqueness or listing existing tags first would materially improve completeness.
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%, with the label parameter documented as 'Tag label, e.g. anime', so the schema already carries the semantic load. The description itself adds nothing about parameters, but per the baseline for high coverage, the schema is sufficient; the description does not need to compensate.
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 states a specific verb and resource ('Create a tag'), and the operation type distinguishes it from sibling tools like update_tag, delete_tag, and list_tags. However, it is essentially a near-verbatim restatement of the tool name and adds no information about what a tag is, how tags are used, or any constraints, so it barely clears the minimum viability bar.
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?
No guidance is provided about when to call this tool versus alternatives. An agent is given no hint that it should check existing tags via list_tags before creating, whether duplicate labels are rejected or idempotently handled, or when tag management is relevant at all. Sibling tools exist but are never referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_custom_formatB
Delete a custom format.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Custom format id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only states the delete action and does not disclose whether deletion is permanent, whether it can fail due to dependencies (e.g., custom format in use by a release profile), or any other side effects. This is a minimal disclosure for a destructive operation.
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 a single concise sentence that states the action and resource with no unnecessary words. It is front-loaded with the verb 'Delete' and carries the core meaning immediately.
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 delete operation with one parameter and no output schema, the description combined with the schema is largely sufficient for an agent to invoke the tool correctly. However, it omits any operational context such as permanency or failure conditions, which would make it fully 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% and the single required parameter 'id' is described as 'Custom format id' in the schema. The description adds no additional parameter meaning beyond what the schema already provides, so the baseline score of 3 applies.
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 'Delete a custom format' uses a specific verb and resource, making the tool's purpose unambiguous. It clearly distinguishes from sibling tools like create_custom_format, update_custom_format, get_custom_format, and list_custom_formats by focusing on the delete action.
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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or how to choose between delete_custom_format and update_custom_format or other delete operations. The only implied guidance is the tool's name, which is insufficient for the agent to make a fully informed choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_download_clientC
Delete a download client.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | download client 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 conveys that the operation is destructive ('Delete') but gives no information about reversibility, impact on active downloads, associated data, or permission requirements. This is a thin disclosure for a mutation tool.
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 a single clear sentence with no wasted words. For a simple one-parameter delete tool, this level of brevity is appropriate, though it sacrifices useful context that could be added without much bloat.
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 annotations and no output schema, the description should do more to explain consequences, success/failure behavior, or constraints. It tells an agent what it deletes but not what happens after deletion or any caveats. For a destructive operation, this is noticeably incomplete.
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%, with the 'id' parameter already described as 'download client id'. The tool description adds no extra meaning beyond what the schema provides. Baseline 3 is appropriate since the schema fully documents the parameter.
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 is a clear verb+resource statement: 'Delete a download client.' It unambiguously identifies the operation and target, distinguishing it from the many other delete_* siblings by naming the resource type. It doesn't elaborate on scope, but the basic purpose is unmistakable.
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?
There is no guidance on when to use this tool versus alternatives like delete_series, delete_indexer, or other delete operations. No mention of prerequisites, whether the client can be deleted while in use, or any side effects. The agent must infer usage entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_episode_fileA
Delete one episode file from disk. The episode stays in the library and becomes missing.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Episode file id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses the key side effect: the file is removed from disk while the library entry remains and becomes missing. It does not mention irreversibility or permissions, but 'from disk' implies permanence. This is solidly transparent for a simple delete action.
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 short sentences with no filler. The action is front-loaded and the consequence is stated immediately, so 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?
For a one-parameter destructive operation with no output schema, the description explains both the action and its direct consequence on the library. The level of detail is sufficient for an agent to decide whether to invoke this tool and what to expect.
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%, and the description adds no extra meaning beyond the schema's 'Episode file id'. The baseline of 3 applies because the schema already documents the only parameter fully.
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 states a specific verb ('Delete') and resource ('episode file'), and explicitly limits the action to one file, distinguishing it from the plural sibling delete_episode_files. It also clarifies the downstream effect on the library, making the purpose unmistakable.
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 phrase 'one episode file' clearly signals this tool handles a single file, which implicitly contrasts with the plural sibling delete_episode_files. It does not explicitly name alternatives or state when-not-to-use, but the context is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_episode_filesA
Delete several episode files from disk in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| episode_file_ids | Yes | Episode file ids to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states that files are deleted 'from disk', making the destructive nature clear, but it omits any mention of irreversibility, partial failure behavior, or permission requirements that would be valuable for a destructive operation.
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 a single sentence that front-loads the verb and object with no filler. Every word adds meaning: 'several' conveys batch scope, 'from disk' clarifies the effect, and 'in one call' distinguishes from repeated single deletions.
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 parameter and no output schema, the description covers the core action adequately. However, it lacks explicit guidance on when to choose this over the singular variant, and there is no mention of error handling or return behavior, which would round out the context.
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% with the parameter 'episode_file_ids' already described as 'Episode file ids to delete'. The description adds only the word 'several', which reinforces the array nature, but does not provide additional semantic meaning beyond the schema.
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 action ('Delete'), the resource ('episode files'), the scope ('several'), and the location ('from disk'). It effectively distinguishes this batch operation from the sibling 'delete_episode_file' by emphasizing 'in one call'.
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 phrase 'several... in one call' implies this is for batch deletion of multiple episode files, providing some usage context. However, it does not explicitly mention the singular alternative 'delete_episode_file' or state conditions for when one should be preferred over the other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_import_listB
Delete a import list.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | import list id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It only repeats the delete action and does not disclose irreversibility, side effects on related data, error behavior, or any confirmation/return semantics.
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 a single short sentence with no filler, which is appropriately concise for such a simple operation. The grammatical error 'a import list' is a minor quality issue, but the structure is otherwise clean and front-loaded.
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 destructive tool with no annotations and no output schema, the description is too thin. It does not tell the agent how to obtain the required id, that the operation is irreversible, or what to expect after deletion.
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?
The schema fully documents the single parameter id with the description 'import list id', so schema coverage is 100%. The description adds no additional parameter meaning, but the baseline of 3 applies because the schema already carries the necessary detail.
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 action ('Delete') and the resource ('a import list'), which is a specific, identifiable object. It is also distinct from the sibling delete_import_list_exclusion because it names the import list itself rather than an exclusion.
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?
No guidance is provided about when to use this tool versus alternatives, such as delete_import_list_exclusion or update_import_list. There is no mention of prerequisites like obtaining the id via list_import_lists, and no exclusionary guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_import_list_exclusionA
Remove an import list exclusion so lists may add the series again.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Import list exclusion 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 clearly reveals the destructive nature ('Remove') and the intended outcome, but it does not mention permanence, side effects, or any requirements beyond the id, such as whether the exclusion must already exist.
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 one short sentence with the core action front-loaded, followed by the functional reason. Every word contributes value and there is no redundant boilerplate.
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 one-parameter delete tool with full schema coverage, the description is nearly complete: it states the action, the target, and the outcome. A small gap is that it doesn't explicitly direct the user to obtain the id from list_import_list_exclusions, but this is reasonably implied by the resource name and 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 description coverage is 100% and the 'id' parameter is already documented as 'Import list exclusion id'. The tool description adds no additional parameter semantics, so the 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 a specific verb ('Remove') and a specific resource ('import list exclusion'), and adds the meaningful consequence 'so lists may add the series again'. This clearly differentiates it from siblings like delete_import_list and add_import_list_exclusion.
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 phrase 'so lists may add the series again' provides clear context for when to use this tool: when an excluded series should become eligible for import lists again. It does not explicitly name alternatives or exclusions, but the resource is specific enough that confusion is unlikely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_indexerB
Delete a indexer.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | indexer 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. 'Delete a indexer' reveals that the operation is destructive, but it does not state whether deletion is permanent, what side effects occur (e.g., removal of associated data), or whether any confirmation or permissions are required. This is a significant gap for a delete operation.
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 a single short sentence with no wasted words. It directly conveys the operation, and the structure is appropriately minimal for such a simple tool.
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 has a single well-documented parameter and no output schema, so the minimal description covers the core action. However, given that it is a destructive operation, the lack of any behavioral or usage context leaves some gaps for an agent deciding how to invoke it safely and correctly.
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% because the only parameter 'id' is documented as 'indexer id' in the schema. The description adds no additional meaning beyond what the schema already provides, so the 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 'Delete a indexer' clearly states the action (delete) and the resource (indexer), making it distinct from sibling tools like create_indexer, update_indexer, get_indexer, and test_indexer. Despite a minor grammar issue, the purpose is unambiguous.
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 provides no guidance on when to use this tool or when to prefer an alternative. It simply states the action, leaving the agent to infer that it should be used when an indexer needs to be removed. No prerequisites, conditions, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_notificationB
Delete a notification connection.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | notification connection id |
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 of behavioral disclosure. It says only 'Delete,' which implies destructiveness, but it does not state whether deletion is permanent, whether it can be undone, what side effects occur, or whether special permissions are required.
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 a single short sentence with no filler or repetition. It is front-loaded and efficient, though it is minimal enough that it does not quite reach the level of a fully helpful definition.
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 one-parameter delete operation, the description plus schema is minimally sufficient to invoke the tool correctly. However, with no annotations and no output schema, the description omits context about post-deletion behavior, reversibility, and side effects.
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?
The schema already documents the single parameter 'id' as 'notification connection id' with 100% coverage, so the baseline is 3. The description adds no further semantic detail beyond confirming the resource type.
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 states a specific verb ('Delete') and a specific resource ('notification connection'), making it unambiguous and distinct from sibling tools like list_notifications, get_notification, create_notification, update_notification, and test_notification. Even without reading the schema, an agent knows exactly what operation this tool performs.
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?
There is no guidance on when to use this tool versus alternatives, such as update_notification to modify or disable a connection. The description gives no exclusions, prerequisites, or context about when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_quality_profileA
Delete a quality profile. It must not be in use by any series.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Quality profile id |
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 of behavioral disclosure. It mentions one constraint (must not be in use) but does not state that deletion is destructive/permanent, what happens if the precondition is violated, or any side effects. This is minimal disclosure for a delete operation.
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 short sentences with no filler. The core operation is stated first, and the necessary precondition is given second. Every word 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?
For a one-parameter delete tool with no output schema and no annotations, this description covers the essential action and the main precondition. It omits error behavior or confirmation details, but those are not critical for selecting and invoking the tool correctly.
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% — the single 'id' parameter is documented as 'Quality profile id'. The description adds no parameter-level meaning beyond the schema, so the baseline score of 3 applies.
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 the specific verb 'Delete' with the resource 'quality profile' and adds a clear precondition ('must not be in use by any series'). This clearly distinguishes it from other delete_* tools and from quality profile create/update/get operations.
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?
It provides a clear usage condition: the profile must not be in use by any series. This tells the agent when deletion is valid. It does not explicitly name alternatives, but the operation and resource are clear enough to route usage correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_release_profileB
Delete a release profile.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Release profile 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 disclosing behavior. 'Delete' implies destructiveness, but the description does not mention whether deletion is permanent, whether it can fail (e.g., if the profile is referenced), or what response to expect. This is a minimal behavioral disclosure.
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?
One clean, grammatically complete sentence with zero filler. It front-loads the action and resource immediately, and is as concise as a simple deletion tool description can reasonably be.
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 very simple 1-parameter tool, the description is nearly sufficient to invoke it, but it lacks any behavioral context such as irreversibility or error conditions. The absence of an output schema and annotations raises the burden on the description, leaving this minimally viable 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?
The schema already provides 100% coverage for the single parameter, describing 'id' as 'Release profile id'. The description adds no additional meaning beyond the schema, so the 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 states a specific action ('Delete') on a specific resource ('release profile'), which unambiguously distinguishes it from sibling tools like create_release_profile, update_release_profile, and list_release_profiles. No ambiguity about what the tool does.
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?
No guidance is given on when to use this tool versus alternatives, such as noting that the id should come from list_release_profiles or that there may be restrictions on deleting profiles in use. The description simply states the action without any context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_remote_path_mappingC
Delete a remote path mapping.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Remote path mapping id |
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 of behavioral disclosure. It only says 'Delete,' which implies a destructive operation, but it does not disclose irreversibility, side effects, permission requirements, or what happens to any dependent data.
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 a single sentence with no wasted words and is appropriately sized for a simple one-parameter operation. It is efficient, though it borders on under-specification by omitting any additional guidance.
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 one-parameter delete operation, the description plus schema is enough for an agent to know how to invoke it. However, with no annotations and no output schema, the description omits side effects, return behavior, and error conditions, leaving a moderate completeness gap.
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%, and the schema already documents id as 'Remote path mapping id' and marks it required. The description adds no parameter-level detail beyond the schema, so the baseline score of 3 applies.
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 and resource: 'Delete a remote path mapping.' It is distinguishable from sibling tools like list_remote_path_mappings and add_remote_path_mapping by the delete action and specific resource. It does not explicitly mention deletion by id, but the single required id parameter makes the purpose unambiguous.
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?
No guidance is given on when to use this tool versus alternatives, nor any prerequisites or conditions such as whether the mapping must be unused. The context is only implied by the tool name and description, with no exclusions or alternative routing provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_root_folderA
Remove a root folder from Sonarr. Files on disk are not touched.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Root folder id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the safety burden. The 'Files on disk are not touched' statement is a valuable disclosure that the operation is non-destructive to media files, but it does not reveal other meaningful behavioral traits such as whether the removal is reversible or what happens to series that reference the root folder.
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 entire description is two short sentences, front-loading the action and then adding the key caveat. Every word earns its place; there is no filler or 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?
For a one-parameter delete operation with no output schema, the description covers the core action and the most important side-effect: files on disk are untouched. It still leaves some uncertainty about consequences for series assigned to the root folder and about response or error behavior, so it is adequate but not fully 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?
The single required parameter id is already fully documented in the schema as 'Root folder id', and schema description coverage is 100%. The description adds no parameter-level detail, but none is needed beyond the schema. 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 the explicit verb 'Remove' and names the exact resource 'root folder' within Sonarr, which clearly distinguishes it from sibling operations like add_root_folder, list_root_folders, and get_root_folder. It also adds the important scope that files on disk are untouched.
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 implies the tool is appropriate when a root folder should be removed from Sonarr's configuration, and the 'Files on disk are not touched' caveat suggests it is not the tool for deleting actual media files. However, it never names sibling tools or explicitly states when not to use it, leaving selection largely to inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_seriesB
Remove a series from the library. Optionally delete its files from disk and add an import list exclusion so lists do not re-add it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sonarr series id | |
| delete_files | No | Also delete the series folder and files from disk (default false) | |
| add_import_list_exclusion | No | Add an import list exclusion for this series (default false) |
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 transparently states the main effect and the two optional destructive behaviors: deleting files from disk and adding an import list exclusion. However, it does not mention irreversibility, return behavior, or what happens to the series record if delete_files is false, which are meaningful gaps for a delete operation.
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?
A single well-structured sentence that front-loads the core action and appends the optional behaviors in a logical order. Every phrase contributes meaning, including the rationale for the import list exclusion ('so lists do not re-add it'). There is no filler or 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?
For a straightforward delete tool with a fully documented schema, the description covers the primary action and all optional side effects. It is missing an explicit irreversibility warning and a direct contrast with the bulk delete sibling, but the provided information is otherwise sufficient for an agent to understand what the tool does and invoke it correctly.
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 conceptually maps to the optional parameters—delete_files and add_import_list_exclusion—but it adds no semantic detail beyond what the schema already provides. The required id parameter is not elaborated on, but the schema already documents it clearly.
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 and resource: 'Remove a series from the library.' It clearly states the core action and the optional side effects—deleting files and adding an import list exclusion. It does not explicitly contrast with delete_series_bulk, but the singular 'a series' implies single-series operation, which is enough to differentiate from the bulk sibling.
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 gives no explicit guidance about when to use this tool versus alternatives like delete_series_bulk or delete_episode_file. It implies use when removing a single series, but it does not state the condition for choosing the bulk variant or any exclusions, leaving the agent to infer selection criteria from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_series_bulkA
Remove many series from the library at once, optionally deleting their files and adding import list exclusions.
| Name | Required | Description | Default |
|---|---|---|---|
| series_ids | Yes | Sonarr series ids to delete | |
| delete_files | No | Also delete files from disk (default false) | |
| add_import_list_exclusion | No | Add import list exclusions (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does reveal the optional file deletion and import-list exclusion behavior, but it does not warn about irreversibility, default behavior, or what happens to files when delete_files is false.
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?
A single front-loaded sentence communicates the core action and both optional behaviors with zero wasted words. This is appropriately concise.
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 bulk deletion tool with three well-documented parameters, the description covers the essential selection and invocation context. It does not describe the return value or failure semantics, but the absence of an output schema makes that a minor gap.
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 lightly maps to parameters ('many series' to series_ids, 'deleting their files' to delete_files, 'import list exclusions' to add_import_list_exclusion) but adds no meaning beyond the schema.
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 states a specific verb ('Remove'), a clear resource ('series'), and the bulk scope ('many... at once'). It also names the two optional side effects, distinguishing it from the singular delete_series sibling.
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 phrase 'Remove many series... at once' clearly signals this is the batch-deletion tool, which is context enough to differentiate it from the singular delete_series tool. However, it does not explicitly name alternatives or say 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.
delete_tagA
Delete a tag. It is removed from every series and provider using it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Tag id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses an important behavioral trait: the tag is automatically removed from every series and provider using it, which is more than just 'deletes'. It doesn't mention irreversibility or prerequisites, but the cascading removal is the most critical behavior for an agent to understand.
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 short sentences, zero filler, and the key behavioral side effect is front-loaded in the second sentence. Every word 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?
For a one-parameter destructive tool with no output schema, this description is complete: it states the action and the impactful side effect. An agent knows what will happen and what identifier is required, making further context unnecessary.
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% (the only parameter, 'id', is documented as 'Tag id'). The description adds no additional semantic detail beyond what the schema already provides, so the baseline of 3 applies.
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 states a clear verb ('Delete') and resource ('a tag'), and goes beyond the name by specifying the consequence: removal from every series and provider using it. This unambiguously differentiates it from other tag-related tools like list_tags, create_tag, and update_tag.
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 provides clear context: this tool is used to delete a tag, with the side effect of detaching it from all series and providers. It doesn't explicitly mention when not to use it or name alternatives, but the operation is self-evident and there is no competing delete-tag sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_series_bulkB
Apply the same change to many series at once (the series editor): monitoring, quality profile, series type, season folders, root folder or tags.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag ids to add, remove or replace | |
| monitored | No | Monitor or unmonitor all of them | |
| apply_tags | No | How to apply 'tags' (default 'add') | |
| move_files | No | Move files when changing the root folder (default false) | |
| series_ids | Yes | Sonarr series ids to edit | |
| series_type | No | Series type to set | |
| season_folder | No | Use season folders | |
| root_folder_path | No | Move all of them to this root folder | |
| monitor_new_items | No | Monitoring for new seasons | |
| quality_profile_id | No | Quality profile id to set |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It conveys the bulk mutation scope but does not disclose consequential side effects such as file moves when changing root folders (move_files), the impact of unmonitoring many series simultaneously, or the implied write/irreversibility risk of a bulk operation. This is a meaningful gap for a tool that can alter many series at once.
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?
A single front-loaded sentence that leads with the differentiating scope ('many series at once'), then lists editable fields compactly. The parenthetical '(the series editor)' is slightly redundant for an API context, but it is brief and does not dilute the message.
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 10-parameter bulk-mutation tool with no output schema and no annotations, the description adequately covers the 'what' (purpose and editable fields) with the schema covering parameter details. However, it lacks guidance on consequences of bulk root-folder/monitoring changes and any caveats about combining parameters, leaving the agent under-informed about operational risk.
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 schema already documents every parameter including enums and defaults. The description adds a light grouping of the field categories (monitoring, quality profile, etc.) which orients the agent, but it contributes no per-parameter meaning beyond the schema.
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 states a specific verb (apply), a resource (series), and a scope ('many series at once'), then enumerates the editable fields: monitoring, quality profile, series type, season folders, root folder, tags. This clearly distinguishes it from siblings like update_series (single series edits) and delete_series_bulk (deletion), so an agent can identify it without opening the schema.
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 phrase 'many series at once' implies the use case — batch editing rather than per-series updates — which implicitly contrasts with update_series. However, the description never names alternatives explicitly or states when not to use this tool, so the routing guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_blocklistA
Page through blocklisted releases — releases Sonarr has been told never to grab again, with the reason they were blocked.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| sort_key | No | Field to sort by, e.g. 'date' | |
| page_size | No | Items per page (default 10 on the Sonarr side) | |
| protocols | No | Only these download protocols | |
| series_ids | No | Only entries for these series ids | |
| sort_direction | No | Sort direction |
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 does add value by stating the operation is paginated ('Page through') and that each entry includes the block reason. However, it never explicitly confirms this is a read-only, side-effect-free operation, and it omits details like result ordering or behavior with no matches — beyond the schema's 'default' sort_direction enum.
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?
A single 22-word sentence with the core verb+resource front-loaded, followed by a clarifying definitional clause. Every word earns its place — the em-dash gloss explains the Sonarr-specific concept rather than padding, and there is no re-stating of schema or annotation content.
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 paginated list tool with 0 required parameters, full schema coverage, and a self-explanatory name, the description captures the essential semantics: what is listed, the pagination behavior, and one key return field (block reason). What's missing is minor — an explicit read-only statement and the full set of fields in each entry — but since there is no output schema, slightly more return-shape detail would round it out.
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 schema fully documents all 6 parameters (page, sort_key, page_size, protocols, series_ids, sort_direction), including defaults. The description adds no parameter-specific detail beyond the schema; its only contribution is framing the domain meaning of the entries being filtered, which is the expected baseline.
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 ('Page through') tied to a precise resource ('blocklisted releases') and defines the domain term in the em-dash clause ('releases Sonarr has been told never to grab again'). It also signals what distinguishes the data — 'with the reason they were blocked' — which separates it from siblings like get_queue or get_history, and the read nature contrasts with remove_blocklist_item/remove_blocklist_items.
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?
No guidance is given on when to use this tool vs alternatives. There is no mention of when to prefer it over get_history, get_queue, or the remove_blocklist_* siblings, and no exclusion criteria. The intended context is only implied by the tool name and the word 'blocklisted'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_calendarA
List episodes airing in a date range — what aired recently and what is coming up. Defaults to today and tomorrow on the Sonarr side.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ISO 8601 end date, e.g. '2026-09-08' | |
| tags | No | Only series carrying these tag ids | |
| start | No | ISO 8601 start date, e.g. '2026-09-01' | |
| detailed | No | Return full episode objects instead of summaries | |
| unmonitored | No | Include unmonitored episodes (default false on the Sonarr side) | |
| include_series | No | Include the parent series object; the summary shows seriesTitle either way | |
| include_episode_file | No | Include the episode file object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states the core listing behavior and adds a genuinely useful server-side default for the date range. However, it does not describe the default summary output shape or how the return varies with the detailed/include flags, leaving those details to the schema.
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 with no filler; the action and scope are front-loaded, and the default date behavior earns its place as the second sentence. Very easy to scan.
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 read-only listing tool with zero required parameters and a fully documented schema, the description conveys purpose and the key default. Since there is no output schema, a brief note about the default response shape would make it fully complete, but the current definition is still sufficient for correct invocation.
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% and every parameter has a meaningful description, so the baseline is 3. The description adds the key semantic that omitting start/end defaults to today/tomorrow on the Sonarr side, which is not captured in the schema.
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?
Opens with a specific verb and resource ('List episodes') and scopes it to date range, with 'what aired recently and what is coming up' clarifying the calendar role. This clearly distinguishes it from the episode lookup/list tools among the siblings.
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?
Provides clear context for when to use the tool: it is the calendar/date-range airing query, and the today/tomorrow default is useful operational guidance. It does not explicitly name alternatives or exclusions, so it stops short of the strongest routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_commandA
Get the status of a single command by id — poll this after starting a search or refresh.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Command id returned when the command was queued |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does convey that this is a read-only polling operation and that the command was started elsewhere, but it does not describe possible command states, whether results expire, or how failures surface. This is adequate but not rich.
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 one front-loaded sentence with no filler. The core action comes first, followed by a relevant use-case clause, and nothing restates the schema or annotations.
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 one-parameter read tool with no output schema, the description supplies both the tool's purpose and the appropriate polling context, while the schema covers the id semantics. It could describe the expected status values or response shape, but nothing critical to selecting and invoking the tool is 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 100%, and the id parameter is already documented as 'Command id returned when the command was queued.' The description adds only 'by id' and no additional format or source detail, 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 opens with a specific verb and resource: 'Get the status of a single command by id.' This clearly differentiates it from siblings like list_commands (plural) and run_command (starting a command), and the single-command scope distinguishes it from get_queue_status.
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 phrase 'poll this after starting a search or refresh' provides a concrete and correct invocation context. However, it does not state when not to use the tool or name alternative tools such as list_commands or get_queue_status, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_formatB
Get one custom format with its full specification list.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Custom format id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It mentions that the response includes a full specification list but does not state whether the operation is read-only, what happens if the ID does not exist, or any error/edge-case behavior.
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 a single, concise sentence with no filler. It front-loads the core action and resource, then specifies the return content efficiently.
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 get-by-id tool with one documented parameter, the description is mostly sufficient, but the lack of an output schema and any detail about error behavior or response format leaves minor gaps. The phrase 'full specification list' conveys the general output but not its structure.
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?
The input schema already documents the only parameter 'id' with 100% coverage. The description adds no additional meaning about the parameter beyond what the schema provides, so the baseline of 3 applies.
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 action ('Get'), the resource ('one custom format'), and the expected content ('full specification list'), which distinguishes it from list_custom_formats. It does not explicitly contrast it with get_custom_format_schema, but the singular 'one' and 'full specification list' make the primary purpose clear.
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?
No guidance is provided about when to use this tool versus alternatives like list_custom_formats or get_custom_format_schema. An agent must infer from the tool name and required 'id' field that this is for retrieving a single existing custom format by ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_format_schemaA
List the specification types a custom format can use (release title regex, size, language, quality modifier, ...) with their fields.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It clearly indicates a read-only listing operation and names the content, but it does not describe the response shape, potential errors, or any side effects. This is adequate for a simple schema-listing tool but not richly transparent.
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?
A single sentence front-loads the verb and resource, adds illustrative examples, and contains no filler. Every word 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?
For a zero-parameter schema-listing tool, the description is nearly complete: it states what is listed and hints at the content. It does not explicitly describe the return format, but the simple nature of the operation makes that 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?
The tool has zero parameters and an empty input schema, so the baseline of 4 applies. There is no parameter documentation needed, and the description does not need to compensate for any parameter gaps.
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 ('List') and a clear resource ('specification types a custom format can use'), with concrete examples. This makes it easy to distinguish from sibling tools like get_custom_format, which returns an actual custom format, and list_custom_formats, which lists custom formats themselves.
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 implies this tool is for discovering available specification types and their fields when working with custom formats, but it does not explicitly state when to use it versus alternatives, nor does it mention prerequisites or typical workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cutoff_unmet_episodesA
Page through episodes that have a file but have not reached their quality profile cutoff — candidates for an upgrade.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| detailed | No | Return full episode objects instead of summaries | |
| sort_key | No | Field to sort by, e.g. 'airDateUtc' | |
| monitored | No | Only monitored episodes | |
| page_size | No | Items per page (default 10 on the Sonarr side) | |
| include_series | No | Include the parent series object | |
| sort_direction | No | Sort direction | |
| include_episode_file | No | Include the current episode file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It does disclose the core filtering behavior and pagination, but it does not mention return shape, defaults, or explicitly confirm that the operation is read-only. The behavioral insight is useful but incomplete.
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 a single, information-dense sentence that leads with the action and resource, then adds purpose. Every word contributes meaning; there is no filler or repetition of the tool name.
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 paginated read/list tool, the description combined with the fully documented schema is largely sufficient: the selection criterion is explicit and the purpose is clear. It lacks only an explicit pointer to sibling tools with overlapping purposes, such as get_missing_episodes.
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 parameter-level detail, but the schema already explains page, detailed, sort_key, monitored, page_size, include_series, sort_direction, and include_episode_file adequately.
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 names a specific resource ('episodes that have a file but have not reached their quality profile cutoff') and a specific action ('Page through'), and it concludes with the purpose ('candidates for an upgrade'). This clearly distinguishes it from related tools like get_missing_episodes, which targets episodes lacking files.
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 gives clear context for when to use the tool: when the agent needs episodes that already have a file but are below the quality cutoff and may be upgrade candidates. It does not explicitly name alternative tools or state exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_disk_spaceA
Get free and total space for every drive and root folder Sonarr can see.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It usefully discloses that the tool covers all drives and root folders visible to Sonarr and reports both free and total space. However, it does not mention units, response shape, or potential errors or latency for large/unavailable drives.
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 a single well-structured sentence that front-loads the action and resource, then adds the scope. There is no filler or redundant wording.
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 no-parameter, read-only utility with no annotations and no output schema, this description is sufficiently complete. It tells the agent exactly what will be retrieved and for which targets.
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?
The tool has zero parameters and the schema is trivially fully described, so there are no parameter semantics for the description to clarify. The zero-parameter baseline of 4 applies.
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 states a specific verb ('Get'), a concrete resource (free and total disk space), and a precise scope ('every drive and root folder Sonarr can see'). It clearly distinguishes this tool from the many sibling tools, none of which target disk-space enumeration.
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 what the tool does but gives no guidance on when to prefer it over alternatives or when not to use it. There are no explicit exclusions, prerequisites, or comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_download_clientA
Get one download client including its full 'fields' array (the implementation-specific settings).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | download client id |
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 does disclose a meaningful behavioral aspect: the returned object includes the full 'fields' array, which is the implementation-specific settings. But it doesn't mention response shape beyond that, potential errors, permissions, or whether the fields array is guaranteed to be populated. Adequate but minimal.
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?
A single, front-loaded sentence that states the action and resource immediately, then appends a parenthetical that adds high-value detail about what 'fields' means. 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 get-by-id operation with one required parameter and no output schema, the description provides the key contextual detail: the response includes the full fields array. It does not cover error conditions or response format beyond that, but the tool's simplicity makes this acceptable. Slightly more context about the return value would make it fully 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 'id' parameter is described as 'download client id'. The description adds no additional semantic meaning for the parameter, but none is needed given the schema already fully documents it. Baseline of 3 applies.
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 ('Get') and resource ('one download client'), and explicitly calls out the unique distinguishing feature: the full 'fields' array (implementation-specific settings). This clearly differentiates it from list_download_clients and get_download_client_schema without needing to inspect sibling names.
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 implies the use case: when you need a single client's detailed implementation-specific settings rather than just the list. However, it does not explicitly name alternatives or state when NOT to use it (e.g., 'use list_download_clients to retrieve all clients'). The guidance is present but only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_download_client_configA
Get the download client (completed and failed download handling) configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 conveying behavioral traits. The verb 'Get' clearly signals a read-only operation, and the parenthetical adds context about what config domain is covered. However, it does not disclose return format, whether a global config object is returned, or any error/edge-case behavior, though for a zero-parameter getter this is a moderate gap.
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 a single, front-loaded sentence with no filler. Every word contributes: the verb, the resource, and the clarifying parenthetical all add value. It is as concise as possible without losing meaning.
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 zero-parameter getter with no output schema and no annotations, the description is nearly complete: it names the exact configuration domain and the operation. It does not describe the response shape, but 'configuration' reasonably implies a settings object, and the low complexity means little else is needed.
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?
The tool has zero parameters, so the schema is trivially complete and the description has no parameter-semantics burden to bear. The description's mention of 'completed and failed download handling' is the only domain context needed, which is sufficient given there is nothing to configure at call time.
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 states a specific verb ('Get') and resource ('download client configuration'), and the parenthetical '(completed and failed download handling)' adds useful scoping that helps distinguish it from sibling tools like get_download_client. It is not fully explicit about whether this is the global app-level config vs. a per-client config, but the parenthetical narrows the meaning enough.
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 gives no explicit guidance on when to use this tool versus alternatives such as get_download_client, get_download_client_schema, or update_download_client_config. The purpose is implicitly clear, but there is no stated condition or exclusion, so an agent must infer when this is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_download_client_schemaA
List every download client implementation Sonarr supports, with the fields each one takes. Use this as the template for create_download_client.
| Name | Required | Description | Default |
|---|---|---|---|
| implementation | No | Only the schema for this implementation, e.g. 'Newznab' or 'QBittorrent' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It communicates that this is a read-only schema listing and that fields are creation templates, but it does not disclose that supplying the 'implementation' parameter returns only that implementation's schema rather than the full list. This is a meaningful behavioral nuance left to the input schema.
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, zero filler. The first sentence states exactly what the tool returns, and the second provides the primary use case. It is front-loaded and every word 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?
For a simple tool with one optional parameter and no output schema, the description adequately covers what is returned and why an agent would call it. The only gap is not explicitly stating the behavior when 'implementation' is supplied, but the parameter schema covers that and the tool is simple enough that the description is nearly 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%, so the parameter is already well documented ('Only the schema for this implementation, e.g. 'Newznab' or 'QBittorrent''). The description adds a useful framing — fields as templates for create_download_client — but does not substantially clarify optional filtering behavior beyond the schema.
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 ('List') and resource ('every download client implementation Sonarr supports') and clearly states its output scope: the fields each implementation takes. It also points to create_download_client, which distinguishes it from schema-getters for other domains and from get_download_client, which retrieves an existing client.
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 tells the agent when to use this tool: as the template for create_download_client. It does not name alternative tools for editing or inspecting existing clients, but the reference to the creation flow is enough to establish primary usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_episodeA
Get the full episode object, including the overview and the linked episode file with its quality and media info.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sonarr episode id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must indicate side effects and scope. 'Get' and the described contents make it clear this is a read operation returning the full object, but it does not disclose response shape, error behavior, or any permissions needed beyond what the name implies.
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?
A single sentence that front-loads the verb and object, then adds the two most decision-relevant details (overview and linked file). No filler.
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 one-parameter read tool with no output schema, the description covers the purpose and the key included data. It lacks explicit guidance on when to use it versus related siblings, but this is a minor gap for such a simple operation.
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%; the parameter 'id' is already documented as 'Sonarr episode id'. The description adds no extra parameter semantics, matching the baseline for fully self-documenting schemas.
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 ('Get'), names the resource ('full episode object'), and specifies distinctive contents (overview plus the linked episode file with quality and media info). This distinguishes it from list_episodes, which lists episodes, and get_episode_file, which targets the file directly.
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 implies the tool is for retrieving a complete episode aggregate rather than just episode metadata or a separate file. It does not explicitly state when to prefer this over list_episodes or get_episode_file, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_episode_fileB
Get a single episode file, including its full media info.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Episode file id |
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 of behavioral disclosure. It adds one useful behavioral trait — that the result includes full media info — but does not mention error behavior on invalid IDs, whether media info analysis can be slow, or any other operational traits. The 'Get' verb clearly signals a read-only operation, which keeps this at an adequate level.
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?
A single sentence that front-loads the verb and resource and adds the key value proposition ('full media info') without any filler. Every word earns its place; nothing extraneous.
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?
This is a low-complexity tool: one required numeric parameter with full schema coverage. The description's mention of 'full media info' partially compensates for the missing output schema. The main remaining gap is the lack of explicit distinction from the closely related get_episode and list_episode_files, but for a simple ID-based getter, the description is nearly 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%, with 'id' documented as 'Episode file id,' so the schema fully explains the parameter. The description adds no further parameter detail, but per the baseline for high schema coverage, no compensation is required. Score 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 states a specific verb ('Get') and a precise resource ('a single episode file'), and notes the return includes 'full media info.' The 'single' qualifier and 'file' resource implicitly differentiate it from list_episode_files and get_episode, though it does not name those siblings explicitly, so it stops just short of full sibling differentiation.
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?
There is no guidance on when to use this tool versus alternatives such as get_episode, list_episode_files, or update_episode_files. The word 'single' weakly implies it is for retrieving one specific file by ID, but no context, exclusions, or alternative routing is provided, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_healthA
Get the active health check warnings and errors, with the wiki link explaining each one.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral transparency burden. It conveys that the tool returns active health warnings/errors with links, which is helpful, but it does not explicitly state that the operation is read-only, auth-free, or side-effect free. For a simple zero-parameter getter, this is minimally 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?
The description is a single, efficient sentence that leads with the action and resource and immediately states the key output detail (wiki links). No words are wasted.
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 zero-parameter health-read tool with no output schema, the description is complete enough: it tells the agent exactly what will be returned (active warnings and errors, with a wiki link for each). Nothing essential is missing at this level of complexity.
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?
The tool has zero parameters, and the input schema is empty. There is no parameter surface to document, so the description does not need to add anything here; the baseline for zero-parameter tools is 4.
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 states a specific verb ('Get') and resource ('active health check warnings and errors'), and it adds the distinctive detail of a wiki link per item. This makes it clearly distinguishable from siblings like get_system_status or get_queue_status.
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 says what the tool returns but gives no guidance on when to use it versus alternatives, no exclusions, and no prerequisites. The usage context is only implicit in the tool name and the word 'Get'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historyB
Page through the grab and import history — what was grabbed, imported, failed, deleted or renamed, and from which indexer.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| sort_key | No | Field to sort by, e.g. 'date' | |
| page_size | No | Items per page (default 10 on the Sonarr side) | |
| episode_id | No | Only history for this episode id | |
| event_type | No | Only these event types | |
| series_ids | No | Only history for these series ids | |
| download_id | No | Only history for this download client id | |
| include_series | No | Include the parent series object | |
| sort_direction | No | Sort direction | |
| include_episode | No | Include the episode object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it does communicate that this is a read-style paginated listing of history events. It adds useful context about the content (grabbed, imported, failed, deleted, renamed, indexer), but it does not disclose any side effects, permission needs, rate limits, or pagination behavior beyond the word 'page through.'
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?
A single, well-structured sentence that immediately states the operation and scope, then enumerates the key covered event types. It is concise without sacrificing necessary detail.
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 10 parameters, the description gives a solid high-level overview but leaves gaps: it does not describe the response shape, pagination defaults, or how this history differs from the 'since' and 'series' variants. The schema fills parameter details, yet the description alone is not fully complete for an agent choosing among history-related tools.
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 schema already documents all 10 parameters thoroughly. The description does not add parameter-level meaning beyond the schema; its mention of event types and indexer aligns with what the schema already enumerates, so the 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 clearly identifies the resource (grab and import history) and the operation (page through), and enumerates the event categories covered. It is specific enough to distinguish from most sibling tools, though it does not explicitly differentiate from get_history_since or get_series_history.
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 gives a clear sense of what the tool returns but offers no guidance on when to use it versus the closely related get_history_since or get_series_history tools. No exclusions, alternatives, or selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_history_sinceA
Get every history record since a date, unpaged. Useful for 'what happened since yesterday' style questions.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ISO 8601 date or timestamp, e.g. '2026-09-01' | |
| event_type | No | Only this event type | |
| include_series | No | Include the parent series object | |
| include_episode | No | Include the episode object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It usefully reveals that the response is unpaged and includes every history record in the date range, which are important behavioral traits. But it does not mention ordering, potential large-result implications, or what fields the returned records contain.
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 short sentences deliver the core behavior and a practical use case without any filler. The main action is front-loaded immediately, and every word contributes to understanding the tool.
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 date-filtered read tool, this is nearly complete: it identifies what is returned, the temporal scope, and a canonical use case. It would be stronger with explicit routing to related history tools or a note about response contents, but the absent output schema is not a major issue given the domain clarity.
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 schema already documents date, event_type, include_series, and include_episode. The description reinforces that 'date' is the temporal cutoff but adds no meaning for the optional parameters, matching the baseline for fully covered schemas.
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 states a specific verb ('get'), a clear resource ('history record'), and a precise temporal constraint ('since a date'). The word 'unpaged' helps distinguish it from likely paged history endpoints, and the accompanying use case removes ambiguity.
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 phrase 'useful for "what happened since yesterday" style questions' gives clear guidance on when to use the tool. However, it does not explicitly name alternatives like get_history or get_series_history, nor does it state when those should be preferred, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_host_configA
Get the host (port, URL base, proxy, logging) configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. The verb 'Get' implies a read-only operation and no destructive side effects, but the description does not explain the response format or any operational caveats.
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?
A single, front-loaded sentence contains the verb, resource, and key fields with no filler. Every word 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?
For a zero-parameter read-only getter with no output schema, this is nearly complete: it names the resource and summarizes the returned categories. It could be more explicit about the exact response shape, but that is a minor gap.
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?
The tool has zero parameters and 100% schema coverage, so the baseline is 4. The description's parenthetical adds useful context about the output fields but there are no parameter semantics to clarify.
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 ('Get') and identifies the resource ('host configuration'), with the parenthetical enumerating port, URL base, proxy, and logging. This is clear and distinct from siblings like get_ui_config or get_system_status, though it does not explicitly call out any sibling.
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?
There is no guidance about when to call this tool versus alternatives or any exclusions. An agent must infer from the name and the parenthetical that this is for host-level settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_import_listA
Get one import list including its full 'fields' array (the implementation-specific settings).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | import list id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior, and it does add value by disclosing that the response contains the full implementation-specific 'fields' array. However, it does not describe error cases, permissions, or the broader response shape beyond that one field.
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?
One sentence with no wasted words; the primary purpose is stated first and the distinguishing response detail is included succinctly.
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 single-parameter read operation, the description covers what is returned ('full fields array') and the resource being fetched. It lacks only minor context such as error behavior, but the overall definition is sufficient for an agent to invoke it correctly.
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?
The input schema already documents the only parameter (id) with a clear description, and coverage is 100%. The description adds no parameter-level detail, so the baseline 3 applies.
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 ('Get') with a singular resource ('one import list') and highlights the distinctive detail that the response includes the full 'fields' array. This clearly differentiates it from list_import_lists, which returns multiple lists, and from get_import_list_schema, which returns schema metadata.
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 wording implies this tool is for fetching a specific import list by id, but it never explicitly says when to prefer it over list_import_lists or get_import_list_schema. There is no when-not or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_import_list_configB
Get the import list configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It communicates that this is a read-only retrieval, but it adds little beyond that—no mention of return value, error conditions, or system-level effects. For a simple getter this is minimally adequate, but not rich.
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 a single sentence with no filler, redundant phrases, or unnecessary detail. It is front-loaded and every word contributes to the meaning.
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 absence of an output schema and annotations, plus several similarly named siblings, the one-line description is not complete enough. It does not clarify what the configuration contains, what kind of object is returned, or how 'configuration' differs from 'schema', 'list', or a specific import list.
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?
There are zero parameters and the input schema is already fully descriptive by being empty, so the parameter-semantics baseline is 4. The description adds no parameter details because none are needed.
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 ('Get') and a specific resource ('the import list configuration'), which distinguishes it from the many sibling tools that mutate or list resources. However, it does not explicitly differentiate 'configuration' from the similar 'get_import_list_schema' or 'get_import_list', so it stops short of a 5.
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?
No guidance is provided on when to retrieve this configuration versus using alternatives like get_import_list, get_import_list_schema, or update_import_list_config. The verb 'Get' implies a read operation, but there is no explicit context or exclusion to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_import_list_schemaA
List every import list implementation Sonarr supports, with the fields each one takes. Use this as the template for create_import_list.
| Name | Required | Description | Default |
|---|---|---|---|
| implementation | No | Only the schema for this implementation, e.g. 'Newznab' or 'QBittorrent' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must show side effects and return behavior itself; 'List' makes the read-only nature clear, and 'with the fields each one takes' describes the returned content. It omits details like exact response structure, but for a schema endpoint this is reasonable and not misleading.
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 tight sentences: the first states the full scope of what is returned, the second states the intended follow-up action. There is no filler or repetition of schema details.
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 simple (one optional parameter, no output schema), and the description explains the list content and intended use well. It does not explicitly say that passing implementation narrows the response, but the schema already covers that, so the overall definition is complete enough for an agent.
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?
The description adds context that omitting the implementation returns all implementations, while the schema's own description already documents the single-implementation filter with examples. Since schema coverage is 100%, the baseline of 3 is appropriate; the description reinforces rather than adds significant new meaning.
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 names a specific verb ('List'), a clear resource ('every import list implementation Sonarr supports'), and the output's purpose ('fields each one takes'). It also connects directly to create_import_list, which distinguishes it from general list/get tools like list_import_lists and get_import_list.
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?
It explicitly states the primary use case: use the returned schema as a template for create_import_list. It does not enumerate exclusions or compare against get_indexer_schema/get_download_client_schema, but the import-list scope makes the intended context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_indexerA
Get one indexer including its full 'fields' array (the implementation-specific settings).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | indexer id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It clearly indicates a read-only retrieval ('Get') and adds context about the returned 'fields' array, but it does not mention error behavior, authentication requirements, or what happens for missing/invalid IDs. This is adequate for a simple GET but not fully transparent.
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?
A single, front-loaded sentence that conveys the action, target, and an important distinguishing detail. There is no filler or 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?
For a simple single-resource retrieval with one required parameter, the description is nearly complete. It specifies the resource, the selection mechanism, and a key aspect of the return payload. Absence of an output schema makes the 'fields array' mention helpful, though it could still clarify the exact response envelope.
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 the 'id' parameter already described as 'indexer id'. The description confirms that the tool returns one indexer matching that ID, but it does not add meaningful new semantic detail about parameter format, constraints, or usage beyond the schema.
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 states a specific verb ('Get') and a specific resource ('one indexer'), clearly distinguishing it from list_indexers by scope. It also adds the valuable detail that the full 'fields' array is included, which identifies this tool's unique retrieval purpose.
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 implies usage for fetching a single indexer by ID, and the mention of the 'fields' array suggests why you might choose it over listing indexers. However, it does not explicitly state when to use get_indexer versus alternatives like list_indexers or get_indexer_schema, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_indexer_configA
Get the indexer (RSS interval, retention, availability delay) configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole signal for behavioral profile. The word 'Get' implies a read-only operation, but the description does not state whether the configuration is fetched live, cached, or how failures manifest. For a zero-parameter getter this is minimally acceptable but not richly transparent.
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?
A single, front-loaded sentence with no filler. The core action, resource, and scope of the configuration are all conveyed efficiently.
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 zero-parameter retrieval tool, the description provides enough context to know what is being fetched. The lack of an output schema and any note about the return shape leaves a small gap, but the listed configuration elements give an agent a reasonable expectation of the result.
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?
The tool has zero parameters and schema coverage is 100%, so there are no parameter semantics to explain. The parenthetical in the description adds useful context about what the returned configuration contains, which partially compensates for the absence of an output schema.
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 identifies a specific action ('Get') and resource ('indexer configuration'), with the parenthetical further specifying the exact settings returned: RSS interval, retention, and availability delay. This clearly distinguishes it from related tools like get_indexer or update_indexer_config.
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?
There is no guidance on when to use this tool versus alternatives such as get_indexer, list_indexers, or update_indexer_config. The usage must be inferred entirely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_indexer_schemaA
List every indexer implementation Sonarr supports, with the fields each one takes. Use this as the template for create_indexer.
| Name | Required | Description | Default |
|---|---|---|---|
| implementation | No | Only the schema for this implementation, e.g. 'Newznab' or 'QBittorrent' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of conveying that this is a read-only schema-listing operation, and 'List' plus 'Use this as the template for create_indexer' makes that clear. It does not discuss edge cases or side effects, but none are likely for a schema retrieval tool, so the main behavior is transparent.
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 tightly written sentences accomplish both the definition and the primary use case. There is no filler and the key behavior is front-loaded.
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 read-only schema tool with one optional parameter and no output schema, the description tells the agent what it returns and why to call it. Nothing needed for correct invocation is 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?
The input schema already documents the single optional implementation parameter with an example, so schema description coverage is 100%. The description adds context about listing every implementation, but it does not add parameter-level meaning beyond what the schema provides, matching 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 states a specific action ('List') and resource ('every indexer implementation Sonarr supports, with the fields each one takes'). It clearly distinguishes itself from siblings like get_indexer and create_indexer by identifying what it produces.
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?
It explicitly tells the agent to use this as the template for create_indexer, which is clear usage guidance. It does not name alternatives or exclusions, but the primary use case is obvious and still a strong signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_log_fileA
Download the contents of one log file as text.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Log file name from list_log_files, e.g. 'sonarr.txt' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It does convey the core behavior: a read-only retrieval of log file contents as text. However, it does not state non-destructiveness, failure behavior for invalid filenames, size limits, or any other edge-case behavior. For a simple download tool, the basic behavior is clear enough for a baseline score.
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 a single, compact sentence that front-loads the action, resource, and output format. Every word earns its place, and there is no redundant or vague filler.
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 one-parameter tool with no output schema, this is nearly complete: it states what is downloaded, how many files, and the return format. The schema provides the filename source and example. The only minor gap is that the description itself does not explicitly mention the list_log_files prerequisite, but the schema and sibling context make it recoverable.
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%, and the schema already documents the filename parameter with its source ('from list_log_files') and an example. The tool description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies.
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 action ('download'), the resource ('contents of one log file'), and the return format ('as text'). It is immediately distinguishable from siblings like list_log_files and list_logs, which are about listing rather than downloading file contents.
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 gives no when-to-use guidance, exclusions, or mention of the prerequisite that the filename comes from list_log_files. That hint exists only in the schema's parameter description, so the tool description itself does not help an agent decide when to invoke this versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_manual_import_candidatesA
List files in a folder or a stuck download with the series and episodes Sonarr would map them to, plus any rejection reasons. Use this to diagnose imports that need manual interaction.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | No | Absolute path of a folder to inspect | |
| series_id | No | Force mapping to this series id | |
| download_id | No | Download client id of a stuck download | |
| season_number | No | Force mapping to this season number | |
| filter_existing_files | No | Hide files that are already in the library (default true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden, and it does well: 'List' signals a non-mutating read operation, and the description reveals meaningful behavior such as mapping files to series/episodes and returning rejection reasons. It does not explicitly state that no changes are made, but the verb and diagnostic framing make that apparent.
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 with no filler. The main behavior is front-loaded, and the usage guidance is appended efficiently. Every phrase contributes meaning.
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 tool with no output schema and no annotations, the description provides enough high-level context for an agent to select and invoke it: it names the inputs, the operation, and the output shape. It could be more explicit about whether one of folder/download_id is required and what happens if both are provided, but the description covers the primary invocation context.
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, but the description adds useful relational semantics by framing 'folder or a stuck download' as the two primary input routes, corresponding to folder and download_id. This helps an agent understand that these are alternative inspection targets rather than independent filters.
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 states a specific action ('List files') and a clear resource ('in a folder or a stuck download'), and explains what the result contains: the Sonarr-mapped series/episodes and rejection reasons. It also names its intended diagnostic purpose, which differentiates it from sibling tools that list episodes, queue items, or files without mapping/rejection context.
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 says when to use the tool: 'diagnose imports that need manual interaction.' It does not name specific alternatives or when-not-to-use conditions, but the unique purpose and output make the use case reasonably clear without them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_media_management_configB
Get the media management (import, file handling, permissions) configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It only says 'Get' without explicitly stating read-only semantics, that no configuration is modified, what the response will contain, or any special permissions. Most behavior is left to inference from the tool name rather than disclosed.
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 a single efficient sentence with a useful parenthetical. It is front-loaded, contains no filler, and every component adds meaning.
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 zero-parameter config getter, the description names the resource and its key sub-areas. There is no output schema and no annotation coverage, so it could have added return-shape details or explicitly noted that it is the read counterpart to update_media_management_config, but the essential invocation information is present.
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?
The tool has zero parameters, so the schema fully documents the input surface. With no params, no additional parameter explanation is needed, and the baseline of 4 applies.
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 states a specific verb ('Get') and a clear resource ('media management configuration'), and the parenthetical 'import, file handling, permissions' specifies the scope. It is distinguishable from other config getters like get_naming_config or get_ui_config, though it does not explicitly name a sibling.
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?
No guidance is provided about when to use this tool versus siblings such as update_media_management_config, get_naming_config, or get_indexer_config. The read-only getter role is implied by the name, but the description itself gives no selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_missing_episodesA
Page through monitored episodes that have already aired but have no file — the wanted/missing list.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| detailed | No | Return full episode objects instead of summaries | |
| sort_key | No | Field to sort by, e.g. 'airDateUtc' | |
| monitored | No | Only monitored episodes (default true on the Sonarr side) | |
| page_size | No | Items per page (default 10 on the Sonarr side) | |
| include_series | No | Include the parent series object | |
| sort_direction | No | Sort direction |
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 does reveal the core behavioral contract: the returned set is filtered to monitored, already-aired, no-file episodes, and 'page through' signals paginated lazy loading. However, it does not explicitly state that the operation is read-only with no side effects, nor does it describe the response envelope or note that detailed=true changes payload size. Adequate but not rich.
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?
One 16-word sentence with no filler. The actionable criteria are front-loaded before the em-dash, and the canonical 'wanted/missing list' label is appended as a useful lexical hook. Every word 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?
For a simple read-only list endpoint with seven optional, fully documented parameters and no required inputs, the description plus schema covers the callable contract well. The only gap: there is no output schema and the description never hints at the return shape (whether responses include pagination metadata or raw arrays), so an agent must guess at the response envelope. Minor given the tool's simplicity and the 'page through' framing.
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 schema already documents all seven parameters, giving a baseline of 3. The description echoes the 'monitored' filter and adds the air/no-file context that frames why sort_key/detailed/page_size exist, but it adds no syntax, formatting, or interaction details beyond the schema. It neither needs to compensate nor goes out of its way to enrich the parameters.
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 names a specific verb ('page through'), a precise resource predicate (monitored episodes that have already aired but have no file), and attaches the canonical Sonarr term 'wanted/missing list.' This clearly distinguishes it from list_episodes (all episodes), get_episode (single episode), get_calendar (date-based), and especially get_cutoff_unmet_episodes (episodes with files below quality cutoff, not missing files).
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 implies the use case — find monitored episodes that aired but were never downloaded — through its filter criteria, which is good context for an agent hunting for content gaps. However, it never explicitly contrasts with get_cutoff_unmet_episodes, the closest sibling, nor states when NOT to use it. The distinction between 'no file at all' (missing) and 'file below quality' (cutoff unmet) is left for the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_naming_configA
Get the file and folder naming configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. 'Get' clearly signals a read-only operation with no side effects, but the description does not mention return shape, whether defaults are included, or any error behavior. For a zero-parameter getter this is a moderate but acceptable gap.
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?
A single declarative sentence with no filler or redundant information. The verb and object are front-loaded, and the length is appropriate for a simple zero-parameter getter.
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, side-effect-free getter with no parameters, the definition is largely complete and unambiguous for tool selection and invocation. The absence of an output schema and lack of any detail about the returned configuration fields are minor gaps, but they do not prevent correct usage.
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?
The input schema has zero parameters and schema description coverage is effectively complete, so no parameter documentation is needed. The baseline for zero-parameter tools applies; the description adds no parameter semantics, but none are required.
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?
States a specific verb ('get') and a specific resource ('file and folder naming configuration'), clearly indicating a read-only retrieval. It does not explicitly contrast itself with get_naming_examples or update_naming_config, but the resource named is distinct enough to avoid major confusion.
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?
No guidance is given about when to use this tool versus related siblings such as get_naming_examples or update_naming_config. The 'get' phrasing implies use when the current naming configuration is needed, but no context, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_naming_examplesA
Preview the filenames a naming format would produce, without saving it. Pass a naming config object to try a draft format.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | Draft naming config; the saved one is used when omitted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral disclosure burden. It clearly communicates the tool is non-mutating ('without saving it') and that results are a preview. It doesn't describe the output shape or error behavior, but for a simple preview tool the core side-effect and intent are disclosed.
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 tight sentences with no filler. The key purpose and safety characteristic ('without saving it') are front-loaded, followed by the parameter guidance. 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?
For a low-complexity tool with one optional parameter and no output schema, the description and input schema together fully cover what the agent needs: what it does, when to use it, and what to pass. The absence of an output schema is acceptable because 'Preview the filenames' conveys the essential return concept.
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%, and the schema already explains that config is a draft and that the saved config is used when omitted. The description reinforces this by saying 'Pass a naming config object to try a draft format', but adds little beyond what the schema provides. This meets the baseline for high schema 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 ('Preview') and resource ('filenames a naming format would produce'), and explicitly notes 'without saving it', distinguishing it from saving operations like update_naming_config. The 'draft format' phrasing makes its purpose unmistakable.
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?
It clearly states the use case: pass a naming config object to try a draft format. It does not explicitly name alternatives such as update_naming_config or get_naming_config, but the 'without saving it' contrast implies when this tool should be used over the saving tool. A small explicit mention of the alternative would make it a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_notificationA
Get one notification connection including its full 'fields' array (the implementation-specific settings).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | notification connection id |
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 does disclose a key behavioral trait: the response includes the full 'fields' array of implementation-specific settings. However, it does not mention error behavior (e.g., what happens if the id is invalid) or explicitly confirm that the operation has no side effects, though 'Get' strongly implies a read.
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?
A single, efficient sentence that front-loads the main action ('Get one notification connection') and adds the most important detail (inclusion of full fields array) in a parenthetical. No filler or redundant information.
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 one-parameter read operation, the description is largely complete: it identifies what is returned and highlights the important detail about the fields array. Since there is no output schema, a bit more detail about the response shape could help, but the low complexity and clear single parameter make this adequate.
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 schema already documents the single 'id' parameter as 'notification connection id'. The description does not add any additional meaning about the parameter format, constraints, or examples; it only reinforces the purpose of the retrieved resource. Baseline 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 clearly states a specific verb ('Get') and resource ('one notification connection'), and explicitly highlights the distinguishing feature: it includes the full 'fields' array with implementation-specific settings. This differentiates it from list_notifications and get_notification_schema without needing to inspect either tool.
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 gives clear context for when to use this tool: when a single notification connection is needed with its full fields/settings. It implies that list_notifications may omit these details, but it does not explicitly name alternatives or state when not to use the tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_notification_schemaA
List every notification connection implementation Sonarr supports, with the fields each one takes. Use this as the template for create_notification.
| Name | Required | Description | Default |
|---|---|---|---|
| implementation | No | Only the schema for this implementation, e.g. 'Newznab' or 'QBittorrent' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It transparently indicates a read-only listing behavior and what the output contains: every notification implementation and its fields. It does not describe filtering behavior, but the parameter schema covers that, and the tool's non-mutating nature is implied by 'List' and 'schema.'
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 short sentences with no filler. The main behavior is front-loaded, and the second sentence adds a directly actionable use case. Every word contributes value.
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 one-parameter read-only schema tool, the description plus the fully documented parameter is adequate. There is no output schema, but the description explains what the tool returns. It could mention that omitting 'implementation' returns all schemas, but that is reasonably inferable from the parameter description and the wording 'every notification connection implementation.'
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?
The single parameter 'implementation' is fully described in the JSON schema with 100% coverage, including an example value. The description adds no parameter-level details beyond what the schema already provides, so the 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 clearly states the tool's verb ('List') and resource ('every notification connection implementation Sonarr supports'), and it explicitly names the fields returned. It also distinguishes itself from sibling tools by noting it is the template for create_notification, separating it from list_notifications and get_notification.
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 gives a clear use case: 'Use this as the template for create_notification.' It does not list alternative tools or exclusions, but for a schema-introspection tool with no direct sibling counterpart, this is sufficient contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quality_profileA
Get one quality profile in full, including every quality item and custom format score.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Quality profile id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It signals a read-only operation through 'Get' and discloses the depth of the returned data by mentioning quality items and custom format scores. It does not cover error handling or authentication, but those are not critical for a simple getter.
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 a single front-loaded sentence with no filler. Every phrase adds useful information: the operation, the resource, the scope, and the included content.
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 one-parameter read tool with no output schema, the description is nearly complete: it states what is returned and the level of detail. A note about not-found behavior or a pointer to list_quality_profiles for summaries would make it fully complete, but these are minor gaps given the tool's simplicity.
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?
There is only one parameter, the schema describes it as 'Quality profile id', and schema description coverage is 100%. The description does not add meaning beyond the schema, so the 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 states a specific verb ('Get') and resource ('one quality profile'), and adds the completeness qualifier 'in full' plus the contents ('every quality item and custom format score'). This clearly distinguishes it from list_quality_profiles and get_quality_profile_schema without needing to inspect either tool.
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?
There is no explicit guidance on when to use this tool versus alternatives. The contrast with list_quality_profiles is only implied by 'one' and 'in full', and no alternative tool is named. The agent must infer the intended selection context from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quality_profile_schemaA
Get a blank quality profile with every quality Sonarr knows about — the template for create_quality_profile.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It conveys that this is a read-only template operation with no side effects: it returns a blank profile rather than mutating anything. For a zero-parameter schema getter, this is sufficient behavioral context, though it does not mention auth or rate limits.
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?
A single sentence that front-loads the exact purpose and then gives the practical use case. No wasted words and no filler.
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 zero-parameter tool with no output schema, the description says what will be returned (a blank quality profile with all qualities) and what to do with it (use it as the template for create_quality_profile). Nothing essential is 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?
The tool has zero parameters and the schema coverage is 100%, so the baseline is 4. The description does not need to explain parameters and does not add anything inaccurate.
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 and resource: 'Get a blank quality profile' with every quality Sonarr knows about. It also states its role as 'the template for create_quality_profile,' which clearly distinguishes it from get_quality_profile and list_quality_profiles by emphasizing the blank/template aspect.
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 implicitly tells the agent when to use this tool: when you need a blank quality profile to pass to create_quality_profile. It does not explicitly exclude retrieving existing profiles or list the alternative get_quality_profile, but the context is clear enough that an agent can infer the correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_queueB
List the download queue — everything Sonarr is currently downloading or waiting to import, with progress, status and any error messages.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| status | No | Filter by queue status, e.g. ['downloading', 'completed', 'warning'] | |
| protocol | No | Filter by protocol | |
| sort_key | No | Field to sort by, e.g. 'timeleft', 'progress' | |
| page_size | No | Items per page (default 10 on the Sonarr side) | |
| series_ids | No | Only items for these series ids | |
| include_series | No | Include the parent series object | |
| sort_direction | No | Sort direction | |
| include_episode | No | Include the episode object | |
| include_unknown_series_items | No | Include downloads Sonarr could not map to a series |
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 communicates that this is a read-only listing operation and clarifies scope and returned fields, but it does not disclose pagination behavior, filtering semantics, or any edge cases. The description is adequate but leaves meaningful behavioral details to the schema.
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 a single front-loaded sentence: it leads with the action and resource, then adds valuable scope and content detail. Every part earns its place and there is no redundancy or filler.
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 description covers the core operation well, and the rich schema fills in parameter details, but with 10 optional parameters, no output schema, and multiple closely related queue tools, a bit more orientation would help an agent choose correctly. It is functionally adequate but not fully complete for the surrounding context.
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%, with all 10 parameters documented and two enums providing allowed values, so the schema already carries the parameter meaning. The description adds no parameter-specific semantics and, due to full schema coverage, does not need to compensate.
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 and resource ('List the download queue') and defines the scope as 'everything Sonarr is currently downloading or waiting to import,' while naming the returned content (progress, status, error messages). It is clear and unambiguous, but it does not explicitly differentiate itself from siblings like get_queue_status or get_queue_details.
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 provides no guidance on when to use this tool versus alternatives. There are many queue-related siblings, including get_queue_details, get_queue_status, remove_queue_item, and grab_queue_item, but the description does not mention any of them or suggest selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_queue_detailsA
Get the full, unpaged queue with per-episode detail. Useful for finding the queue item id of a specific episode.
| Name | Required | Description | Default |
|---|---|---|---|
| series_id | No | Only items for this series id | |
| episode_ids | No | Only items for these episode ids | |
| include_series | No | Include the parent series object | |
| include_episode | No | Include the episode object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. It does reveal that the result is unpaged and includes per-episode detail, which is useful and non-obvious. However, it does not state that the operation is read-only, mention response-size caveats for an unpaged queue, or clarify behavior when no filters are supplied.
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 filler. The primary behavior is front-loaded, and the practical use case is stated clearly in the second sentence. Every word adds value.
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?
There is no output schema, but the description covers the essential return content: full unpaged queue, per-episode detail, and the queue item id use case. The optional filter parameters are fully documented in the schema. A small gap remains in that the exact output shape beyond item ids is not described, but for this tool's purpose the description is adequate.
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?
All four parameters are fully described in the input schema, so the baseline is 3. The description adds no parameter-specific semantics beyond implying the include_* flags relate to per-episode detail, but it does not need to compensate because the schema coverage is complete.
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 states a specific verb and resource: it gets the full, unpaged queue with per-episode detail. The phrase 'unpaged' distinguishes it from the sibling get_queue, and 'useful for finding the queue item id of a specific episode' gives a concrete purpose.
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 provides a clear use case: when you need the queue item id for a specific episode, or want more detail than a paged queue would give. It does not explicitly name get_queue as the alternative or state when to avoid this tool, but the practical guidance is strong enough to route an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_queue_statusA
Get queue counts by state — total, errors, warnings and how many items need manual interaction.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the sole source of behavioral context. It discloses the read-only nature via 'Get' and spells out what the response covers: total, errors, warnings, and items needing manual interaction. It does not discuss pagination or exact response shape, but for a zero-parameter status tool this is sufficient 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?
The description is a single sentence that front-loads the tool's purpose and then enumerates the meaningful categories of the response. Every word earns its place; there is no filler or 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?
For a simple, zero-parameter, no-output-schema tool, the description is complete. It tells the agent exactly what data will be returned and implies the use case clearly. No additional context is needed for correct invocation or interpretation.
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?
The tool has zero parameters, so the schema fully covers the input surface. The baseline of 4 applies because there are no parameter semantics to document; the description appropriately focuses on output rather than input.
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 states a specific verb ('Get'), the resource ('queue counts'), and the exact dimensions of the result ('by state', total, errors, warnings, manual interaction). This clearly distinguishes it from siblings like get_queue, which would return the full queue list, and get_queue_details, which would return item-level details.
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 makes the use case obvious: use this tool when you need summary counts of queue states rather than the full queue listing. It does not explicitly name alternative tools or state when not to use it, but the wording provides clear contextual routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rename_previewA
Preview which existing files would be renamed under the current naming configuration, showing the old and new paths. Run the RenameFiles command to apply.
| Name | Required | Description | Default |
|---|---|---|---|
| series_id | Yes | Sonarr series id | |
| season_number | No | Only this season number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of revealing behavior. It does this well by communicating that this tool only previews and does not apply changes, and that applying is a separate step via the RenameFiles command.
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, no filler, with the core preview behavior stated first and the follow-up action stated second. Every phrase 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?
For a simple two-parameter preview tool, the description covers what it does, what it returns (old and new paths), and how to apply the rename. No output schema exists, but the description sufficiently communicates the return value shape.
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 parameters series_id and season_number are already fully documented. The description adds context about the tool's purpose but does not need to redefine parameters since the schema covers them.
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 previews which existing files would be renamed under the current naming configuration and shows old and new paths. This distinguishes it from related siblings like get_naming_examples or run_command, which serve 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 gives clear context: use this to preview renames, then run RenameFiles to apply. It does not explicitly name alternatives or state when not to use it, but the preview-then-apply workflow is strongly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_root_folderA
Get one root folder including the full list of unmapped folders — series folders on disk that are not in the library.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Root folder id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It does clarify that this is a read-oriented operation returning a root folder plus unmapped folders, which is useful. However, it does not mention behavior for invalid ids, error cases, or whether any additional data is included beyond what is stated.
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 a single, efficient sentence that front-loads the core purpose and immediately adds the most important behavioral detail. There is no redundant or filler content.
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 one-parameter getter, the description is largely complete: it names the resource, the singular scope, and a key part of the returned data. Since there is no output schema, explaining that unmapped folders are included adds value, though the exact shape of the root folder response is not detailed.
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?
The only parameter, id, is already fully described in the schema as 'Root folder id,' giving 100% schema description coverage. The description adds no additional parameter-level meaning, but the schema alone is sufficient for this simple case.
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?
States a specific verb and resource: 'Get one root folder' — clearly singular, differentiating it from list_root_folders, add_root_folder, and delete_root_folder. It also adds the key distinguishing detail that the result includes the full list of unmapped folders, which is meaningful and specific.
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 makes the tool's intended use clear: retrieve one root folder by id along with its unmapped folders. It does not explicitly name sibling alternatives or state when not to use this tool, but the singular nature of the description gives enough context to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scheduled_taskA
Get a single scheduled task by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Scheduled task id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of establishing side effects. 'Get' unambiguously signals a read-only retrieval with no mutation, which is sufficient for a trivial getter. It does not mention not-found behavior or response format, but this is a minor gap for such a simple operation.
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?
One short, front-loaded sentence with no filler, repetition, or unnecessary detail. Every word contributes to identifying the operation and its scope.
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 one-parameter getter, the description adequately covers the operation, the target resource, and how to select it. The return value is inferable from the resource type even without an output schema. Not-found behavior is not specified, but that is not essential for a simple fetch.
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?
The input schema already documents the only parameter at 100% coverage with 'Scheduled task id'. The description's 'by id' only restates what the schema provides and adds no additional format, constraints, or source guidance. Baseline 3 applies.
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 names the exact resource ('scheduled task'), the operation ('Get'), and the selection semantics ('single ... by id'). This clearly differentiates it from the sibling list_scheduled_tasks, which would be used for retrieving multiple tasks.
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 phrase 'a single scheduled task by id' makes the invocation context clear: use this when you have a specific id and need one task. It does not explicitly name list_scheduled_tasks as the alternative, but the sibling list makes the distinction easy to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_seriesA
Get the full series object for one series, including seasons with their per-season statistics and monitored flags.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sonarr series id (not the TVDB id) | |
| include_season_images | No | Include per-season image URLs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that this is a retrieval operation ('Get') and specifies the return contents: seasons, per-season statistics, and monitored flags. It does not mention errors, auth, or side effects, but for a read-only resource lookup the disclosed behavior is sufficient.
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?
Single sentence, no filler, and front-loaded with the core action and scope. Every phrase adds information: one series, full object, and the season-level contents.
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 single-resource retrieval with a small, fully described schema and no output schema, the description communicates the object scope and the important returned contents. Remaining details like Sonarr id vs TVDB id and the image flag are already in the schema, so nothing critical is 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 100%, so the schema already documents id and include_season_images with meaningful descriptions. The tool description adds no parameter-level detail, so it correctly relies on the schema; the baseline 3 applies.
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?
States a clear verb-resource pair: 'Get the full series object for one series.' It distinguishes itself from list_series by emphasizing single-series scope, and it previews unique content (seasons, per-season statistics, monitored flags) that an agent would expect from this tool versus other get_* tools.
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 phrase 'for one series' clearly signals the tool is scoped to a single series rather than a collection, and 'full series object' implies it is appropriate when season-level detail is needed. It does not explicitly name alternatives or list when-not-to-use cases, but the context is clear enough for an agent to choose it over list_series or get_episode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_series_folderA
Get the folder path Sonarr would use for a series, given the current naming configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sonarr series id |
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 indicates this is a read-style computation ('would use') dependent on 'current naming configuration,' which implies no state mutation. It does not cover edge cases like behavior for invalid series IDs or whether the returned path is absolute.
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 a single, front-loaded sentence with no filler. The verb, resource, and condition are all immediately clear, and every word 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?
For a one-parameter getter with no output schema, the description adequately conveys what is returned and what it depends on. It is complete enough for correct invocation, though it could optionally mention whether the series must already exist or how the path is formatted.
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?
The input schema already documents id as 'Sonarr series id' with 100% coverage. The description adds context that the id selects the series whose folder path is computed, but it does not add meaning 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 names a specific operation: retrieving the folder path Sonarr would compute for a series under the current naming configuration. This is distinct from siblings like get_series and get_naming_config, though it does not explicitly call out alternatives.
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 implies when to use the tool: when you need to know where a series' files would be placed based on current naming settings. However, it does not explicitly state when to prefer this over related tools or mention any prerequisites such as the series already existing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_series_historyB
Get the full history for one series, optionally narrowed to a single season.
| Name | Required | Description | Default |
|---|---|---|---|
| series_id | Yes | Sonarr series id | |
| event_type | No | Only this event type | |
| season_number | No | Only this season number | |
| include_series | No | Include the parent series object | |
| include_episode | No | Include the episode object |
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, but it only restates scope. It doesn't mention ordering of history entries, pagination or result caps, whether event_type filtering is exclusive, or how include_series/include_episode reshape the payload. The read-only nature is inferable from the 'get' verb, but little else is disclosed.
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?
One precise sentence with zero filler: the verb and resource are front-loaded, and the optional scoping clause is appended compactly. For a simple get tool this is exactly the right size.
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?
Minimum viable: the description states the scope and the schema fully documents all five parameters. However, with no output schema and no annotations, the return format (history item fields), sort order, and pagination behavior are unspecified — details an agent may need to correctly interpret results.
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 even with no parameter detail in the description. The phrase 'optionally narrowed to a single season' adds marginal framing around season_number, but the description doesn't elaborate on event_type enum semantics or include_* payload effects — though the schema already documents these adequately.
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 states a specific verb (get), resource (full history), and scope (one series, optionally a single season). The 'for one series' scoping differentiates it in intent from siblings like get_history and get_history_since, though it doesn't name those alternatives explicitly, which keeps it from a 5.
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?
No guidance is given on when to use this tool versus the closely related history siblings (get_history, get_history_since) or when to narrow by season versus fetching full history. The only usage context is the weak implication in the phrase 'for one series,' so an agent gets no support for tool-selection decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_system_statusA
Get version, branch, runtime, install source, OS and the paths Sonarr is using. Start here when diagnosing anything.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It does enumerate exactly what data the tool returns, and the 'Get' verb implicitly signals read-only behavior. However, it never explicitly states the operation is non-destructive or has no side effects, leaving that to inference.
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 tight sentences with zero waste. The first delivers the tool's purpose and returned fields; the second delivers usage guidance. The content list is front-loaded ahead of the usage note, and every word 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?
For a simple 0-parameter diagnostic tool with no output schema, the description covers the essentials: what is returned and when to use it. The only minor gap is that 'paths' is vague (config vs. data vs. temp), and with no output schema the agent won't learn the exact response shape from elsewhere — but this is a low-complexity tool, so the gap is small.
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?
The tool has zero parameters and schema coverage is vacuously 100%, so the baseline is 4. The description correctly focuses on return content rather than parameters, since there is nothing to document — it adds value by explaining what the agent will receive from the call.
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 ('Get') with an enumerated resource list: version, branch, runtime, install source, OS, and paths. This clearly signals a system-wide diagnostic tool distinct from sibling tools like get_health, get_queue_status, or get_disk_space, which target narrower subsystems.
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?
'Start here when diagnosing anything' provides clear and actionable guidance on when to invoke this tool. It doesn't explicitly name alternatives for deeper subsystem-specific diagnostics (e.g., get_health, get_disk_space), but the directive is unambiguous about its role as the first-stop diagnostic entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ui_configA
Get the UI (date format, first day of week) configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. 'Get' implies a read-only operation, and naming the config contents is helpful. Yet it does not explicitly state that the call has no side effects, whether authentication is needed, or what the full response shape is.
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?
A single sentence that is direct, front-loaded, and contains no filler. Every word adds semantic value.
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 zero-parameter getter with no output schema, the description conveys the essential information: the resource and the specific settings it returns. It could be slightly more complete by stating that it returns all UI settings, but it is sufficient for correct invocation.
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?
The tool takes no parameters, so there is little for the description to add. The parenthetical describing the UI config fields provides meaningful context beyond the empty input schema, earning the baseline score for a zero-parameter tool.
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 names a specific verb ('Get') and resource ('UI configuration'), and clarifies the relevant fields ('date format, first day of week'). This distinguishes it clearly from the many other configuration getters among the sibling tools, such as get_naming_config or get_host_config.
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 implies when to use the tool: when UI-related settings like date format or first day of week are needed. However, it offers no explicit guidance on alternatives or exclusions, and among several similar get_*_config sibling tools, the selection relies mostly on the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_updatesA
List available Sonarr updates for the current branch, with changelogs and whether each is installed or installable.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It discloses the operation type ('List' implies a non-mutating read), the scope (current branch), and the information payload (changelogs plus installed/installable flags). It does not explicitly state 'read-only' or whether this contacts an external update server, but for a simple list operation the behavioral disclosure is strong.
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?
A single, tightly worded sentence conveys the verb, resource, scope, and return contents with zero redundancy. Every phrase earns its place: 'available... updates,' 'current branch,' 'changelogs,' and 'installed or installable' all add distinct value.
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 zero-parameter, no-output-schema tool, the description is nearly complete: it tells an agent what it lists and what fields to expect. The only notable omission is an explicit statement that the operation is safe/read-only, which is strongly implied by 'List' but never confirmed in a no-annotation context.
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?
The input schema has zero parameters, so the baseline is 4 per the rubric. There are no parameters requiring documentation, and the description's mention of 'current branch' refers to an operational scope rather than a user-supplied argument. Nothing is missing at the parameter level.
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 ('List') plus a precise resource ('available Sonarr updates') and a scoping qualifier ('for the current branch'). It further specifies what is included (changelogs, installed/installable status), leaving no ambiguity about what the tool does. Among the large sibling list, no other tool covers update availability, so it is clearly distinguishable.
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 establishes clear context: this tool surfaces available updates and their status for the current branch, so an agent knows to call it when checking for Sonarr updates. No sibling provides update listing, so alternatives need not be named, and there are no exclusions stated. It stops short of an explicit when-to-use/when-not-to-use directive, so it earns a 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grab_queue_itemA
Force Sonarr to import a queue item that is stuck pending or waiting on manual interaction.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Queue item id |
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 of behavioral disclosure. It conveys the action's intent but does not disclose side effects such as whether it triggers an asynchronous Sonarr command, whether it can fail if the item is not actually stuck, or whether the item is removed from the queue after import.
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 one focused sentence with the operative verb and condition front-loaded. Every phrase earns its place, and there is no filler or repetition.
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 single-parameter action with no output schema and no annotations, the description covers the core need: what the tool does and when it should be used. It is less complete on side effects and alternative routing, but the low complexity makes this a minor gap.
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?
The input schema documents the single `id` parameter at 100% coverage with 'Queue item id'. The tool description adds no additional meaning beyond restating that the target is a queue item, so the schema-driven 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 a specific verb ('Force Sonarr to import') and names the exact resource ('a queue item') plus the triggering condition ('stuck pending or waiting on manual interaction'). This clearly differentiates it from queue read and removal tools like get_queue, remove_queue_item, and get_queue_details.
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 clearly states when to use the tool: when a queue item is stuck pending or waiting on manual interaction. However, it does not explicitly name alternatives or exclusions, such as using grab_queue_items for multiple items or remove_queue_item for deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grab_queue_itemsA
Force import of several stuck queue items at once.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Queue item ids |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It clarifies that the action is a forced import rather than a simple removal or status check, which is useful. It does not disclose side effects, failure behavior, permissions, or whether queue items are removed after import, but the core behavior is adequately conveyed.
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 one short, front-loaded sentence with no filler. Every word contributes to understanding the tool's purpose, scope, and target.
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, single-parameter tool with no output schema and no nested objects, the description covers the essential action and target. It is slightly thin on side effects and alternatives, but the tool is simple enough that an agent can call it correctly based on the given text and 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?
The only parameter, ids, is fully described in the schema as 'Queue item ids'. The description reinforces that multiple items are expected, but adds no additional semantic detail beyond the schema, which is already complete.
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 phrase ('Force import'), identifies the resource ('stuck queue items'), and specifies the scope ('several at once'). This clearly differentiates it from the singular sibling tool grab_queue_item, so an agent can understand this is the batch variant.
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 implies usage for multiple stuck queue items in need of forced import, and the plural wording suggests it is the batch counterpart to grab_queue_item. However, it does not explicitly state when to prefer this tool over alternatives such as remove_queue_items or grab_queue_item.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grab_releaseA
Send a release from search_releases to the download client.
| Name | Required | Description | Default |
|---|---|---|---|
| guid | Yes | Release guid from search_releases | |
| indexer_id | Yes | indexerId of the release from search_releases |
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 disclosing behavioral traits. It only says 'Send', which implies a mutating action, but it does not disclose side effects (e.g., adding to the queue), prerequisites (a configured download client), or failure behavior. This is a significant gap for an action tool.
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 a single front-loaded sentence with no filler or redundancy. Every word earns its place, and the core verb and resource appear first.
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 two-parameter tool with fully documented parameters, the description plus schema is largely complete: it explains the source of the inputs, the action, and the destination. The absence of an output schema and annotations is not critical here, though a note on expected side effects would make it fully 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%, so the schema already documents both parameters. The description adds minimal semantic value beyond reinforcing that both guid and indexer_id come from search_releases, which matches the schema descriptions. Baseline 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 states a specific action ('Send') with a clear resource ('a release'), source ('from search_releases'), and destination ('to the download client'). This distinguishes it from sibling tools like grab_queue_item, which operate on queue items rather than search results.
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 implies the intended workflow ('send a release from search_releases') but provides no explicit guidance on when to prefer this over alternatives such as grab_queue_item, nor any exclusions or prerequisites. The usage context is clear enough to infer, but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_backupsA
List the database backups Sonarr has taken, with their type, size and date. Run the Backup command to create a new one.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The verb 'List' implies a read-only operation, and the explicit note about running the Backup command to create a new backup clarifies that this tool does not create backups. This is useful behavioral context beyond the bare resource name.
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 short sentences with no filler. The first sentence states the core purpose, and the second provides a relevant pointer to the companion command. Every word 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?
For a zero-parameter list operation with no output schema and no annotations, the description covers the essential details: what is listed, what fields are returned, and how to perform the related create action. It could be slightly more explicit about the 'Backup command' being invoked through a sibling tool like run_command, but this is a minor gap.
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?
The tool has zero parameters, so there is nothing to document. The baseline for 0 parameters is 4, and the description adds value by naming the output attributes (type, size, date), which helps the agent understand the returned data even though no output schema exists.
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 states a specific verb ('List'), a specific resource ('database backups Sonarr has taken'), and the output fields ('type, size and date'). This clearly distinguishes it from sibling list tools like list_series or list_episodes, which target different resources.
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 routes the creation action elsewhere: 'Run the Backup command to create a new one.' This tells the agent when not to use this tool. It doesn't explicitly contrast with other list tools, but the resource-specific language makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_commandsA
List commands Sonarr is currently running or has recently run, with their status and duration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full disclosure burden. It discloses the scope (running/recent commands), the output contents (status, duration), and implicitly indicates a read-only list operation. It does not mention return format, pagination, or any operational caveats, but for a simple list tool this is acceptable.
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 a single clear sentence with no filler. It front-loads the resource and scope, then names the output fields, making it easy for an agent to parse quickly.
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 zero-parameter list operation with no output schema, the description provides the essential meaning and output highlights. It could be more explicit about whether the list is limited to Sonarr's internal command system or includes all recent activity, but the phrasing 'currently running or has recently run' gives sufficient boundaries.
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?
The tool takes zero parameters, so the input schema fully covers the parameter surface. With no parameters to explain, the description needs no additional parameter-level detail, and the baseline of 4 applies.
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 states a specific action (list), resource (commands), and scope (currently running or recently run), plus the output fields (status and duration). This distinguishes it from get_command, which targets a single command, and from list_scheduled_tasks, though it does not explicitly name those alternatives.
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 provides clear context for when the tool is appropriate: inspecting the state of command executions. It does not explicitly say when not to use it or name alternative tools for related tasks, so the routing decision is left largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_custom_formatsA
List custom formats with their specifications. Custom format scores in a quality profile decide which releases are preferred.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. 'List custom formats with their specifications' clearly conveys a read-only retrieval operation and indicates the content of the response. The added sentence about custom format scores provides useful domain context, though it does not describe response ordering or pagination, which are minor for this simple endpoint.
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 with no wasted words. The primary action is front-loaded, and the second sentence provides helpful background without 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?
For a zero-parameter list endpoint with no output schema, the description is sufficiently complete: it names the resource, states the action, indicates what is returned, and adds relevant domain context. An agent has enough information to invoke the tool correctly.
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?
The tool has zero parameters, so the description does not need to document parameter behavior. The additional context about custom format scores in quality profiles adds relevant domain meaning beyond the empty input schema.
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 action ('List') and resource ('custom formats') and specifies what is included ('with their specifications'). It is easily distinguishable from sibling tools like get_custom_format (single item) or create/update/delete custom format.
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 implies usage through the 'List' verb but does not explicitly guide the agent on when to use this tool versus get_custom_format or get_custom_format_schema. No alternatives or exclusion conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_delay_profilesA
List delay profiles — how long Sonarr waits for a better release before grabbing, per protocol and tag.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It goes beyond a tautology by explaining that delay profiles are organized per protocol and tag and that they govern the wait for a better release. It does not discuss response shape or side effects, but 'List' strongly implies a read-only operation.
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 a single well-structured sentence with no filler. It front-loads the operation ('List delay profiles') and then adds a concise clarifying clause that 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?
For a zero-parameter list operation with no output schema and no annotations, the description is adequately complete. It explains the core meaning of delay profiles and implies no side effects, though it does not explicitly state that the call is safe or non-mutating.
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?
The input schema has zero parameters, so there is no parameter-semantics burden for the description to carry. The 'per protocol and tag' detail adds useful context about the returned data, which is more than necessary for a parameterless call.
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 and resource: 'List delay profiles'. It then explains what a delay profile is — how long Sonarr waits for a better release before grabbing — which clearly distinguishes it from siblings like list_quality_profiles and list_release_profiles.
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 implies when this tool is relevant by defining the domain concept, but it does not explicitly state when to prefer it over related profile-listing tools or provide exclusions. An agent can infer usage from the explanation, but explicit guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_download_clientsA
List the configured download clients. Secret field values are masked by Sonarr; the 'fields' array is omitted here — use get_download_client for it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It usefully discloses that secret values are masked and that the 'fields' array is deliberately omitted from list responses. This goes beyond the empty input schema and tells the agent what to expect from the 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?
Two sentences deliver the core purpose, the key output limitation, and the alternative tool. Every sentence earns its place and the important 'fields omitted' guidance is front-loaded right after the main verb.
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 no-parameter list operation, the description is complete: it states what is listed, discloses output masking, explains what is omitted, and directs to the right sibling for fuller data. No required context is missing given the tool's simplicity.
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?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameters, and it correctly focuses on behavior instead of inventing parameter guidance.
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 opens with a clear verb and resource: 'List the configured download clients.' It also distinguishes itself from sibling get_download_client by noting the 'fields' array is omitted, so an agent immediately knows the difference between listing summaries and retrieving full details.
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 routes the agent to get_download_client when the omitted 'fields' array is needed. This provides a clear condition for choosing an alternative tool, which is exactly the kind of when-to-use guidance that helps avoid mis-selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_episode_filesA
List episode files on disk for a series, with path, size, quality, languages and release group.
| Name | Required | Description | Default |
|---|---|---|---|
| series_id | No | Sonarr series id | |
| episode_file_ids | No | Fetch these specific file ids |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It clearly signals a read-only list operation and indicates the output fields, but it does not disclose behavior such as what happens when no series_id or episode_file_ids are supplied, whether results are filtered, or how missing/invalid IDs are handled. This is adequate for a simple list tool but not rich.
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 a single, front-loaded sentence that names the action, resource, scope, and return fields. Every part adds value; there is no filler or 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 tool's simplicity, the description covers the key context: what is listed, for which series, and what fields are returned. There is no output schema, so including the return fields is helpful. It does not explain behavior when no parameters are given, but the schema already documents parameter optionality and the tool is straightforward.
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 input schema already documents both series_id and episode_file_ids. The description only loosely aligns with series_id via 'for a series' and does not add meaning for episode_file_ids beyond the schema, which is acceptable under the baseline for full 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 ('List') and a clear resource ('episode files on disk'), and specifies the scope ('for a series') plus the key fields returned (path, size, quality, languages, release group). This distinguishes it from sibling tools like list_episodes (episode metadata) and get_episode_file (single file fetch), even without naming them.
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 phrase 'for a series' provides implied context for when to use the tool, and the mention of 'episode files on disk' hints at the file-inspection use case. However, the description does not explicitly state when to prefer this over alternatives such as list_episodes or get_episode_file, nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_episodesA
List episodes as compact summaries (id, season/episode number, title, air date, hasFile, monitored). Filter by series, season or episode file. Use get_episode for the full object.
| Name | Required | Description | Default |
|---|---|---|---|
| detailed | No | Return full episode objects instead of summaries | |
| monitored | No | Only monitored (true) or unmonitored (false) | |
| series_id | No | Only episodes of this Sonarr series id | |
| episode_ids | No | Fetch these specific episode ids | |
| missing_only | No | Only episodes without a file (hasFile false) | |
| season_number | No | Only this season number (0 is specials); requires series_id | |
| include_series | No | Include the parent series object | |
| episode_file_id | No | Only episodes linked to this episode file id | |
| include_episode_file | No | Include the episode file object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It usefully states that output is compact summaries and lists the fields, but it does not mention default behavior without filters, ordering/pagination, or that the detailed=true parameter can also return full objects while telling the agent to use get_episode for full objects. That nuance is left implicit.
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 with no filler. The most important information (compact summaries and fields) is front-loaded, and the alternative tool reference is placed at the end without 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?
For a list endpoint with 9 optional parameters and no output schema or annotations, the description covers the summary fields, filter axes, and a routing hint to get_episode. It is largely complete, though the no-filter default behavior and the detailed return option are only inferable from the 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 description coverage is 100%, so the baseline of 3 applies. The description adds a helpful mental grouping of filter types (series, season, episode file), but does not describe parameter combination behavior or clarify detailed relative to get_episode beyond the schema.
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 a specific verb and resource: 'List episodes as compact summaries' and enumerates the exact fields returned. It also explicitly contrasts with get_episode ('Use get_episode for the full object'), which differentiates it from the sibling tool.
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 tells the agent when to use this tool (list episodes compactly) and explicitly routes full-object needs to get_episode. It also summarizes filter dimensions (series, season, episode file), making the main usage choice clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_import_list_exclusionsA
List series excluded from import lists — series that lists will never re-add.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number; unpaged when omitted | |
| page_size | No | Items per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It clearly indicates a read-only operation through 'List' and adds a meaningful behavioral guarantee: excluded series will never be re-added by import lists. Pagination behavior is left to the schema, which is acceptable for this low-risk operation.
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?
One well-structured sentence with the core action front-loaded and the key behavioral nuance appended. Every word earns its place with no filler.
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 list operation with only optional pagination parameters and no output schema, the description is nearly complete. It identifies the resource, the read-only nature, and the distinctive semantics. Pagination details are covered by the 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 description coverage is 100%, with both 'page' and 'page_size' already documented. The description adds no parameter-level detail, so the baseline score of 3 applies.
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 and resource: 'List series excluded from import lists'. The clarifying clause 'series that lists will never re-add' adds meaningful scope that distinguishes this from list_import_lists and the add/delete exclusion siblings.
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 clearly implies this tool is for viewing exclusions, and the defined scope ('series that lists will never re-add') makes the use case obvious. It doesn't explicitly name alternatives or when-not-to-use conditions, but the context is clear enough for a simple read-only list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_import_listsA
List the configured import lists. Secret field values are masked by Sonarr; the 'fields' array is omitted here — use get_import_list for it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It notably reveals that secret field values are masked and that the 'fields' array is deliberately omitted, which is valuable non-obvious behavior. It does not detail return shape, but for a param-less list tool this 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 compact sentences with no filler. The primary purpose is front-loaded, and the second sentence adds high-value behavioral detail and a pointer to the sibling tool. Every word 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?
For a no-parameter list operation, this description is complete. It tells the agent what the tool returns at a high level, warns about omitted fields and masked secrets, and routes to get_import_list for more detail. No critical information is missing given the tool's simplicity.
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?
The tool has zero parameters and the schema is empty, so there are no parameter semantics to clarify. Per the baseline for zero-parameter tools, this is appropriately handled; the description correctly avoids adding irrelevant parameter detail.
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 ('List') and resource ('configured import lists'). It also differentiates itself from get_import_list by explicitly noting that the 'fields' array is omitted here, making the scope and relationship to siblings clear.
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 provides an explicit alternative: 'use get_import_list for it' when the full fields array is needed. This gives concrete when-not-to-use-this-tool guidance, though it could go slightly further by describing when the list endpoint is preferred over get_import_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_indexersA
List the configured indexers. Secret field values are masked by Sonarr; the 'fields' array is omitted here — use get_indexer for it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of disclosure. It goes beyond a generic listing claim by stating that secret field values are masked by Sonarr and that the fields array is omitted. This is valuable behavioral context an agent would not otherwise know.
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 tightly written sentences with no filler. The action is front-loaded, and the second sentence provides both a behavioral caveat and a routing hint.
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 zero-parameter listing tool with no output schema and no annotations, the description adequately conveys what is returned, what is omitted, and where to get the omitted data. A richer return-type breakdown would be nice, but it is not necessary to select and invoke the tool correctly.
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?
The tool takes zero parameters and the input schema is empty, so the 0-parameter baseline of 4 applies. There is no parameter information to add because none exist.
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 opens with a specific verb and resource: 'List the configured indexers.' It also distinguishes itself from get_indexer by noting the omitted fields array, so an agent can tell them apart immediately.
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 tells agents to use get_indexer when they need the fields array, giving a clear alternative for a specific need. It does not broadly enumerate when not to use list_indexers, but the targeted guidance is sufficient for this simple listing tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_languagesA
List the languages Sonarr knows, with the ids used in language profiles and episode file edits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. The verb 'List' clearly signals a read-only, non-mutating operation, and the description explains what the response contains: languages and their IDs. It does not mention edge cases like custom languages or return format details, but for a zero-parameter list tool this is a reasonable level of 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?
The description is a single, focused sentence. It front-loads the verb and resource, then adds the key use context without any filler or repetition of the tool name.
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 list operation with no parameters and no output schema, the description is largely complete: it states what is returned and why the IDs matter. It could be slightly more explicit about the response shape, but the tool is simple enough that this is a minor gap.
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?
The input schema has zero properties, so the baseline is 4. There are no parameters for the description to document, and it correctly does not invent any.
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 and resource: 'List the languages Sonarr knows.' It also explains the practical purpose of the output ('ids used in language profiles and episode file edits'), which distinguishes it clearly from the many sibling list tools.
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 gives clear context for when this tool is useful: when the agent needs language IDs for language profiles or episode file edits. It does not explicitly name alternatives or exclusions, but for a simple enumeration tool the intended use is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_log_filesA
List the log files on disk with their names, sizes and download paths.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly indicates a read-only operation by using 'List' and specifies the result fields. It does not discuss potential access restrictions or whether all log files are included, but for a zero-parameter listing tool this is reasonably transparent.
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?
A single, front-loaded sentence conveys the operation, scope, and returned fields with no wasted words. Every element of the description contributes useful information.
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 zero-parameter list operation with no output schema, the description adequately explains what the tool returns and what resource it concerns. It could mention whether this lists all log files or only the current log, but given the simplicity of the tool, the description is largely 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?
The tool has zero parameters, so the schema already covers everything and the baseline is 4. The description does not need to add parameter-level meaning and does not attempt to invent any.
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 action ('List'), the resource ('log files on disk'), and the specific data returned ('names, sizes and download paths'). This distinguishes it from siblings like list_logs (which likely returns log entries) and get_log_file (which likely retrieves a single file), despite not naming them explicitly.
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 implies its use case by focusing on on-disk log files with metadata and download paths, but it does not explicitly explain when to choose this tool over list_logs or get_log_file. There is no when-not-to-use guidance or mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_logsA
Page through Sonarr's log entries, newest first by default. Filter by level to find errors quickly.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| level | No | Only entries at this level | |
| sort_key | No | Field to sort by, e.g. 'time' | |
| page_size | No | Entries per page (default 10 on the Sonarr side) | |
| sort_direction | No | Sort direction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does disclose useful behavior: logs are returned 'newest first by default' and can be filtered by level. However, it does not state whether the operation is read-only, what the response looks like, or any operational caveats, leaving only 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?
Two compact sentences with no wasted words. The core action is front-loaded, followed by the high-value default ordering behavior and a practical filtering hint.
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 paginated list tool with full schema coverage and no output schema, the description is nearly sufficient. It covers default ordering and filtering, but it could be more complete by explicitly noting how list_logs differs from the log-file focused siblings.
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 schema already documents all five parameters. The description adds value only by reinforcing the level filter's purpose; it does not clarify sort_key, page_size, or sort_direction beyond what the schema already says.
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 states a specific verb and resource: 'Page through Sonarr's log entries'. It also gives a clear differentiator from log-file siblings by referring to 'entries' rather than files, so an agent can distinguish list_logs from list_log_files and get_log_file.
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 gives a concrete use case ('Filter by level to find errors quickly') but does not explicitly explain when to prefer this over sibling tools like list_log_files or get_log_file. The intended usage is implied by 'log entries' but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_notificationsA
List the configured notification connections. Secret field values are masked by Sonarr; the 'fields' array is omitted here — use get_notification for it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 meaningfully discloses that secret field values are masked and that the 'fields' array is omitted, which is non-obvious behavior an agent needs to know. It does not mention other response characteristics, but for a simple list operation this is substantial useful 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?
The description is a single efficiently written sentence with a second clause that adds essential behavioral detail. It front-loads the core action and resource, then provides the caveat and sibling routing without 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?
For a parameterless enumeration tool, the description covers the essential facts: what is listed, that secret values are masked, that fields are omitted, and where to get them. No output schema exists, but the description still gives enough for an agent to invoke this tool and interpret the key limitation of the response.
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?
The tool has zero parameters, so there is no semantic burden on the description. The baseline for no-parameter tools is 4, and the description does not introduce any confusing parameter-related claims.
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 'List' and the resource 'configured notification connections,' which is specific and distinct from sibling operations like get_notification. It also explicitly references get_notification as the complement for retrieving the omitted fields array, making the tool's scope unmistakable.
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 gives clear usage context by noting that the 'fields' array is intentionally omitted and directing the user to get_notification for that detail. It lacks an explicit when-not-to-use statement, but the alternative is named and the condition for using it is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_quality_definitionsA
List quality definitions — the size limits (min, max, preferred MB per minute) Sonarr applies to each quality.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. The verb 'List' and the explanatory clause convey that this returns the size-limit settings for each quality, which is useful, but it does not explicitly state the read-only nature, output shape, or any pagination/default behavior. It is adequate but not detailed.
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 a single, efficient sentence that front-loads the action and resource, then adds a clarifying definition of what 'quality definitions' means in this context. Every word contributes meaning.
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 parameterless list operation with no output schema, the description is complete: it identifies what will be listed and explains the domain meaning of the listed objects. An agent can confidently invoke this tool without needing further clarification.
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?
The tool has zero parameters and the schema has no properties, so there is nothing for the description to clarify. The description correctly focuses on what is returned rather than input semantics, which is appropriate for a parameterless list operation.
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 states a specific action ('List') and resource ('quality definitions'), then clarifies exactly what that resource contains (size limits with min, max, preferred MB per minute). This clearly sets it apart from sibling tools like list_quality_profiles or update_quality_definitions.
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 clearly implies this is the read-only listing operation for quality definitions, and the sibling set includes update_quality_definitions as the mutation counterpart. However, it does not explicitly state when to choose this over alternatives or mention scenarios where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_quality_profilesB
List quality profiles with their id, name, cutoff and the qualities each one allows. Series are assigned a profile by id.
| Name | Required | Description | Default |
|---|---|---|---|
| detailed | No | Include the full items and formatItems arrays (large payload) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It names the returned fields and adds a useful domain fact ('Series are assigned a profile by id'), but it does not explicitly confirm read-only behavior or describe the impact of the detailed flag, although the parameter schema covers the latter.
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 succinct sentences with no filler. The main action and return fields are front-loaded, and the second sentence provides relevant domain context without bloating the definition.
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 collection-listing tool with one optional boolean parameter and no output schema, the description provides the essential return fields and a meaningful domain note about series assignment. It is sufficient for an agent to invoke correctly, though it leaves usage-versus-alternative guidance to sibling descriptions.
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?
The sole parameter, detailed, has a complete schema description: 'Include the full items and formatItems arrays (large payload).' Since schema coverage is 100%, the schema handles parameter semantics; the tool description adds little beyond the word 'qualities', which loosely maps to those arrays.
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 opens with a specific verb and resource: 'List quality profiles with their id, name, cutoff and the qualities each one allows.' It clearly conveys that this returns a collection of profiles with selected fields, but it does not explicitly differentiate itself from get_quality_profile or other profile-related siblings.
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?
No guidance is provided about when to use this tool versus alternatives such as get_quality_profile for a single profile. The only usage signal is the implied 'list all' meaning of the verb, with no when-to-use or when-not-to-use framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_release_profilesA
List release profiles — the required, ignored and preferred term rules applied to release titles.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral disclosure burden. The verb 'List' conveys a read-only operation and the description explains what objects are returned, but it does not mention response shape, ordering, or other behavioral details. This is acceptable for a simple zero-parameter list tool, but not richly transparent.
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 one concise sentence, front-loaded with the action and resource, followed by a brief clarifying appositive. Every word adds value and there is no filler or repetition.
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 zero-parameter, no-output-schema list endpoint, the description is nearly complete: it names the operation, the resource, and the meaning of the resource. The only minor gap is not describing the shape of the returned list, but given the simplicity of the call signature, this is not a major 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?
The tool has zero parameters and the schema is already complete with no properties. With 0 params, the baseline is 4; there is nothing for the description to add about parameter meanings, and it correctly avoids inventing parameter details.
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 opens with a specific verb and resource: 'List release profiles', so the action is unambiguous. It then defines what a release profile is ('required, ignored and preferred term rules applied to release titles'), which clearly distinguishes it from sibling tools like list_quality_profiles or list_delay_profiles.
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 implies when the tool is useful—when you want to see the term-rule profiles—but it does not explicitly state when to use it over alternatives or how it relates to create_release_profile/update_release_profile/delete_release_profile. There is no direct exclusion guidance, so the usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_remote_path_mappingsA
List remote path mappings — how paths reported by a download client on another host translate to paths Sonarr can read.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden. It discloses the core behavior (listing mappings, not testing or modifying) and clarifies the path-translation semantics. It doesn't discuss read-only guarantees, but with zero annotations and no mutation verbs, the description is still transparent enough about what the operation does.
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 one sentence, immediately states the action and resource, and then adds only a short clarifying clause. Every phrase earns its place; no filler, no repetition of the tool name.
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 that the tool has no parameters, no output schema, and no annotations, the description covers the essential conceptual context. It could mention that the result is just a list of mappings, but the verb 'List' already implies that. Overall, the agent has enough information to call this correctly.
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?
The tool has zero parameters, so there is no schema to compensate for. The description correctly does not invent any parameter-like details, which is appropriate. A baseline of 4 is justified because the no-parameter configuration requires no additional semantic guidance.
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 ('List') with a clear resource ('remote path mappings') and immediately explains the core concept in plain terms: translating download-client paths on another host to paths Sonarr can read. This is far more informative than a simple glossary definition, though it doesn't explicitly name sibling tools.
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 conveys when this is used — when Sonarr needs to interpret paths reported by a download client on another host. It doesn't explicitly state when not to use it or name alternatives like add_remote_path_mapping/delete_remote_path_mapping, but siblings nearby make the context fairly clear without needing an explicit exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_root_foldersA
List root folders with their free space and any unmapped folders sitting in them. add_series needs one of these paths.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it explains what the response contains (root folders, free space, unmapped folders) rather than just restating the endpoint. It does not explicitly state side-effect safety, but the verb 'list' and the absence of any mutation language make the read-only behavior clear enough.
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 compact sentences carry all the needed information with no filler. The return-content detail is front-loaded, and the downstream purpose is provided in a single follow-up sentence.
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 parameters and no output schema, the description is complete enough to invoke the tool correctly and know what to expect. The only minor omission is an explicit pointer to get_root_folder for single-folder lookups, but this is not essential for this simple list operation.
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?
The tool takes zero parameters, so there is nothing the description needs to explain about parameter values; the baseline of 4 applies. The description accurately focuses on the output rather than input.
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 and object ('List root folders') and adds concrete scoping details: it returns free space and any unmapped folders in each root folder. This makes it easy to distinguish from the sibling get_root_folder (single resource) and from media-management tools.
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 second sentence gives a clear when-to-use signal: add_series needs one of these paths, so this is the tool to call before adding a series. It does not explicitly name the alternative get_root_folder for fetching a single folder, but the plural list semantics imply the broader use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_scheduled_tasksA
List Sonarr's scheduled maintenance tasks with their interval and last and next execution times.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full behavioral burden. 'List' correctly implies a read-only query, and the statement about interval and last/next execution times clarifies what the response contains. It does not explicitly state that the operation has no side effects, but this is reasonably inferable from the verb.
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?
A single sentence, front-loaded with the action and resource, followed by the key return details. No filler or 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?
For a parameterless list operation, the description fully specifies what is listed and what timing fields are included. With no output schema, the description adequately fills the return-value gap.
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?
The tool has zero parameters, so there are no parameter semantics to describe. Baseline 4 applies because nothing is undocumented.
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?
States a specific verb ('List'), resource ('Sonarr's scheduled maintenance tasks'), and the data returned ('interval and last and next execution times'). This distinguishes it from the singular sibling get_scheduled_task, which expects a task ID.
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?
Provides clear context: this lists all scheduled maintenance tasks with timing details. However, it does not explicitly mention alternatives or when to prefer it over get_scheduled_task or list_commands, but the plural scope is strongly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_seriesA
List all series in the Sonarr library as compact summaries (id, title, year, status, monitored, quality profile, path, statistics). Use get_series for the full object with seasons, images and alternate titles.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Case-insensitive substring matched against the series title | |
| tvdb_id | No | Look up a single series by its TVDB id | |
| detailed | No | Return the full series objects instead of summaries (large payload) | |
| monitored | No | Only monitored (true) or unmonitored (false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly communicates that the default result is compact summaries rather than full objects, enumerates the summary fields, and indicates the scope is the entire library. It does not mention that the 'detailed' parameter can override the summary behavior, but that is visible in the schema and does not contradict the description.
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 with no filler. The output scope and format are stated up front, and the sibling alternative is given in a compact second sentence. Every part 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?
For a read-only list tool with four optional parameters and no output schema, the description gives the essential default output shape, field list, and the key sibling distinction. It is slightly light on behavior when 'detailed' is used, but the schema covers that, so nothing required for correct invocation is 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 100%, so the schema already documents all four parameters well. The description adds useful context about the default compact output shape, but does not add per-parameter semantics beyond what the schema provides. Baseline 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 clearly states a specific verb ('List'), a specific resource ('all series in the Sonarr library'), and the output form ('compact summaries') with an explicit field list. It also distinguishes itself from get_series immediately, so an agent can tell these sibling tools apart without opening their schemas.
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 names get_series as the alternative when full objects with seasons, images, and alternate titles are needed. This gives the agent a clear decision rule for choosing between list_series and its closest sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tag_detailsA
List tags together with everything using them — series ids, indexer ids, notification ids and profile ids.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of explaining behavior. It does so by disclosing that this is a list operation that returns tags together with their usages across four entity types. It does not cover pagination, empty results, or explicit read-only guarantees, but for a zero-parameter read tool these are minor omissions.
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 whole description is one tightly written sentence that front-loads the action and resource, then immediately gives the value-add. Every word contributes meaning; there is no fluff or repetition.
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 no-parameter, no-annotation, no-output-schema tool, the description is quite complete: it says what is returned (tags) and exactly which associations are included (series, indexer, notification, profile IDs). It does not detail the exact response shape, but the enumerated fields provide enough for an agent to know what to expect.
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?
The tool has zero parameters and the schema already covers this completely with an empty properties object. The description therefore does not need to explain any parameter syntax, and the no-parameter baseline of 4 applies.
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 action ('List tags') and the resource, then adds the distinguishing detail: 'everything using them — series ids, indexer ids, notification ids and profile ids.' This differentiates it from the sibling list_tags, which presumably returns only the tags themselves.
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 implies when to use this tool: when you need tag associations spread across series, indexers, notifications, and profiles. However, it never explicitly names list_tags as the lighter alternative or says when not to use this tool, so the guidance remains implied rather than direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsA
List tags with their ids and labels. Tags link series to delay profiles, release profiles, indexers and notifications.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses a read-only list operation and the output fields, but it does not say whether all tags are returned, whether ordering applies, or what the response structure is beyond ids and labels. This is adequate but thin.
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 short sentences: the first states the core behavior and output fields, the second adds useful domain context. There is no filler or repetition.
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 zero-parameter read-only listing, the description is largely complete: it names the output fields and the domain purpose of tags. The main missing item is a note distinguishing it from list_tag_details, but this is a minor gap for such a simple tool.
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?
The tool has zero parameters, which is the baseline for a score of 4. There is no parameter information needed, and the description does not need to compensate for undocumented inputs.
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 has a specific verb and resource ('List tags') and names the returned fields (ids and labels), making the tool's purpose clear. It does not explicitly contrast with the sibling list_tag_details, so it misses the strongest sibling differentiation.
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?
There is no guidance on when to choose list_tags over list_tag_details or other listing tools. The domain note about tags linking profiles/indexers/notifications hints at why tags matter, but it does not state conditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_seriesA
Search TVDB for series to add, by title or by an id term such as 'tvdb:121361' or 'imdb:tt0944947'. Returns candidates with tvdbId, title, year and overview — pass the tvdbId to add_series.
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term, e.g. 'Breaking Bad' or 'tvdb:81189' |
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 explicitly says this searches TVDB, returns candidates rather than a single guaranteed match, and lists the fields returned. For a simple read-only lookup, this provides sufficient transparency; no side effects or destructive behavior are implied.
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 tight sentences with no filler. It front-loads the core purpose and immediately follows with the return shape and the next action, making every sentence valuable.
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 simple with only one required parameter and no output schema, yet the description covers the input format, the output fields, and the recommended next step. There is nothing essential missing for an agent to invoke this tool correctly.
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?
The schema already documents the 'term' parameter with 100% coverage, but the description adds meaningful detail by showing the accepted id-prefix formats ('tvdb:121361', 'imdb:tt0944947') and clarifying that either a title or an id term can be used. This goes beyond the schema's single example and helps the agent construct valid input.
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 specific action ('Search TVDB for series to add') and the resource being searched. It also explains the return payload and downstream use, making the tool's purpose unmistakable. It does not explicitly contrast itself with the sibling 'search_series', but the 'to add' context and TVDB/IMDb id support make the distinction inferable.
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 gives clear context: this is the lookup step before adding a series, and it tells the caller to pass the returned tvdbId to add_series. It does not explicitly state when not to use it or name alternative tools, but the intended workflow is clear enough for an agent to choose it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mark_history_item_failedA
Mark a grabbed history item as failed. Sonarr blocklists the release and searches for a replacement.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | History record id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden and does disclose meaningful side effects: the release is blocklisted and a replacement search is triggered. This goes beyond the bare 'mark as failed' action. It does not mention irreversibility, permissions, or error conditions, but the key behavioral impact is clearly surfaced.
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 short sentences with no filler: the first states the action, the second states the consequence. Every word earns its place, and the most important information is front-loaded.
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 one-parameter mutation with no output schema, the description provides the essential behavioral context: what happens when the action succeeds. It does not describe the response format, but this is not critical for an agent to invoke the tool correctly. The main side effects are already covered.
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?
The input schema already provides 100% coverage for the single parameter 'id' with the description 'History record id'. The tool description adds no additional parameter-specific meaning, so the baseline score of 3 applies.
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 states a specific verb ('Mark'), a clear resource ('a grabbed history item'), and the resulting behavior ('blocklists the release and searches for a replacement'). This clearly distinguishes it from history read tools like get_history and queue removal tools like remove_queue_item.
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 purpose is clear enough that an agent can infer this is for failing a grabbed history item and triggering a replacement search, but the description provides no explicit guidance about when to choose this over alternatives such as removing the queue item or directly manipulating the blocklist. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_release_titleA
Parse a release title or file path the way Sonarr does, showing the series, season and episodes it maps to and the detected quality.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | File path to parse instead of a title | |
| title | No | Release title to parse |
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 core behavior and result (mapping to series/season/episodes and detected quality), but it does not state side effects, error conditions, whether it requires an existing series, or whether it is a pure local read-only operation. The name 'parse' implies no mutation, but that is not explicit.
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 entire description is one tightly worded sentence with no filler. It front-loads the verb and object immediately, and every clause adds meaningful detail about inputs and outputs. This is an ideal size for the tool's simplicity.
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 has two optional parameters, no annotations, and no output schema, so the description alone must guide invocation. It communicates the main result but omits practical details like whether title or path is required, what happens if both are absent, and the structure of the parsed result beyond the listed fields. For a simple utility this 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%, so the baseline is 3. The description does mention both parameter concepts ('release title or file path'), aligning with title and path, but adds no additional nuance such as precedence when both are supplied, whether at least one is required, or format expectations beyond what the schema properties already say.
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 states a specific verb ('Parse'), a clear resource ('a release title or file path'), and the exact outputs ('series, season and episodes it maps to and the detected quality'). It also includes the valuable qualifier 'the way Sonarr does', which distinguishes this from other release-related tools like search_releases or grab_release.
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 implies a diagnostic/utility use case: when you have a release title or file path and want to know how Sonarr's parser would interpret it. However, it does not explicitly state when to prefer this over related tools, nor does it mention any alternative or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refresh_seriesA
Refresh metadata from TVDB for one series, or for the whole library when no id is given.
| Name | Required | Description | Default |
|---|---|---|---|
| series_id | No | Sonarr series id; all series when omitted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose the important library-wide behavior when no id is given, but it does not mention whether this is asynchronous, whether it creates a command, or whether there are any side effects or cautions for refreshing the whole library.
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?
A single well-formed sentence that front-loads the action and source, then clearly states the conditional scope. Every word earns its place, with no redundancy or filler.
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 simple with one optional parameter, and the description covers the core behavior and scope well. However, with no output schema and no annotations, the description does not clarify return behavior, asynchronous command semantics, or safety implications of the whole-library refresh path.
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%, and the series_id property already explains the omitted/whole-library behavior. The description adds only TVDB context, so it neither significantly compensates for missing schema info nor adds much beyond it.
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?
Identifies a specific action (refresh metadata), a specific source (TVDB), and a clear scope distinction (one series vs whole library when id is omitted). This makes it easy to distinguish from sibling tools like rescan_series, search_series, or update_series.
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 implies when to use the tool: refresh metadata from TVDB, with id omitted meaning whole library. However, it does not explicitly name alternatives or explain when not to use it, so usage guidance remains implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_blocklist_itemA
Remove one release from the blocklist so Sonarr may grab it again.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Blocklist entry id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on the full disclosure burden. It states the mutating effect (removes one blocklist entry) and the meaningful behavioral consequence (the release may be grabbed again). It does not discuss reversibility or errors, but for a simple single-item deletion these omissions are minor.
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?
A single front-loaded sentence conveys the action, scope, and outcome with no filler. Every word contributes to the tool's behavior.
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, one required parameter, and no output schema, the description plus schema is nearly complete. It could add a hint that the id comes from get_blocklist, but that is easily inferred from the sibling tools.
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?
The only parameter, id, is already fully documented in the schema as 'Blocklist entry id', giving 100% schema coverage. The description adds no additional syntax or format guidance, so the 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 gives a specific verb (Remove), a specific resource (one release from the blocklist), and a clear intended consequence (so Sonarr may grab it again). The word 'one' distinguishes it from the plural sibling remove_blocklist_items, making tool selection unambiguous.
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?
It clearly implies the tool is for unblocking a single entry so a release becomes grabbable again. It does not explicitly state when not to use it or point to remove_blocklist_items for bulk removal, so it lacks fully explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_blocklist_itemsA
Remove several releases from the blocklist at once.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Blocklist entry ids |
TDQS
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 discloses the destructive effect (removing entries from the blocklist) and the batch nature, but does not mention partial-failure behavior, idempotency, or response semantics. This is adequate but not rich.
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 a single, front-loaded sentence with no filler. Every word contributes to communicating the action and scope.
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 single-parameter tool with full schema coverage and no output schema, the description is nearly complete. It could mention the singular alternative or bulk behavior details, but nothing essential is missing for invoking the tool correctly.
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 schema already documents the ids parameter as 'Blocklist entry ids'. The description adds only the semantic framing that these are releases, which is marginal and does not significantly exceed schema value.
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 states a specific verb (Remove), a clear resource (releases/blocklist entries), and the bulk scope (several at once). This directly distinguishes it from the singular sibling remove_blocklist_item.
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 phrase 'several releases at once' clearly implies this tool is for batch removal, which is a meaningful usage signal. It does not explicitly name the singular alternative or define when not to use it, but the bulk-vs-single distinction is evident enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_queue_itemA
Remove one item from the queue, optionally also removing it from the download client and blocklisting the release so it is not grabbed again.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Queue item id | |
| blocklist | No | Blocklist the release so Sonarr does not grab it again (default false) | |
| change_category | No | Move the download to the post-import category instead of deleting it | |
| skip_redownload | No | Do not immediately search for a replacement (default false) | |
| remove_from_client | No | Also remove the download from the download client (default true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing side effects. It does disclose that the tool can optionally remove the item from the download client and blocklist the release. It does not mention the change_category or skip_redownload behaviors, but these are documented in the schema, so the description still provides meaningful behavioral context.
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 a single, well-structured sentence that front-loads the core action, then adds optional behaviors in a natural order. There is no redundant or filler content.
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 that all five parameters are fully described in the input schema, the description only needs to provide the high-level intent and key side effects. It does that effectively, though it leaves some behavioral nuances (such as category change and redownload skipping) to the 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 description coverage is 100%, with each parameter already explaining its purpose and defaults. The description adds a little extra clarity by explaining why blocklisting matters ('so it is not grabbed again'), but it does not substantially go beyond the schema, so the 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 clearly states the action ('Remove one item from the queue') with a specific resource and includes the optional side effects. The word 'one' also distinguishes it from the sibling remove_queue_items tool, making its scope immediately clear.
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 implies usage for removing a single queue item, but it does not explicitly contrast with alternatives such as remove_queue_items for batch removal. There is no named alternative or when-not-to-use guidance, so the usage context is only partially inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_queue_itemsA
Remove several queue items at once, with the same options as remove_queue_item.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Queue item ids | |
| blocklist | No | Blocklist the releases | |
| change_category | No | Move to the post-import category | |
| skip_redownload | No | Do not search for replacements | |
| remove_from_client | No | Also remove from the download client |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only restates the remove action and points to sibling options; it does not mention whether the removal is permanent, whether it can cascade to downloads, or what side effects the flags may trigger. The schema covers some parameter behavior, but the description adds little beyond the tool name.
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 a single compact sentence with the core action and scope front-loaded. It wastes no words and efficiently points to sibling tool semantics.
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 destructive, 5-parameter tool with no annotations and no output schema, the description is minimal. It correctly identifies the operation and batch scope, but it does not explain return behavior, explicitly warn about side effects, or fully route between single and batch variants. The schema handles parameter semantics, leaving some operational context 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 100%, so the baseline is 3. The description's phrase 'with the same options as remove_queue_item' adds a useful cross-reference for agents familiar with the singular tool, but it is not necessary because each parameter already has a clear description in the schema.
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 action ('Remove'), the resource ('queue items'), and the batch scope ('several ... at once'), which distinguishes it from the singular sibling remove_queue_item. Referencing 'same options as remove_queue_item' further anchors its identity without ambiguity.
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?
'Remove several queue items at once' clearly conveys the intended batch use case, and the mention of remove_queue_item signals the related single-item tool. However, it does not explicitly state 'use remove_queue_item for a single item' or provide exclusions, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rescan_seriesA
Rescan the folder of one series (or all series) to pick up files added or removed outside Sonarr.
| Name | Required | Description | Default |
|---|---|---|---|
| series_id | No | Sonarr series id; all series when omitted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It communicates that the rescan will detect both additions and removals, implying the database will be updated to reflect external file changes. However, it does not disclose whether this is destructive, asynchronous, or what side effects occur (e.g., removing series entries, triggering post-processing).
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 a single sentence that front-loads the action and scope, with no filler or redundant information. Every word contributes to understanding the tool's purpose.
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, the description covers the core action and scope. However, with no output schema and no annotations, it omits any mention of the return value (e.g., whether it returns a command object) and does not clarify the operational context, such as whether it runs synchronously or asynchronously.
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?
The schema already documents the single series_id parameter with its meaning, and schema coverage is 100%. The description adds no new parameter semantics beyond echoing the 'one series or all series' behavior already present in the schema, so the 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 states a specific verb ('Rescan'), a clear resource ('the folder of one series or all series'), and a specific purpose ('to pick up files added or removed outside Sonarr'). This clearly distinguishes it from sibling tools like refresh_series or search_series, which serve 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 phrase 'to pick up files added or removed outside Sonarr' provides clear context for when to use this tool. However, it does not explicitly name alternative tools or state when not to use it, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restart_sonarrA
Restart the Sonarr application. It is unreachable for a few seconds afterwards.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds one useful behavioral fact beyond the title: the application is unreachable for a few seconds after restart. However, with no annotations, it does not disclose whether in-flight operations are interrupted, whether elevated permissions are required, or any broader side effects of restarting the application. It gives partial transparency but not the full picture.
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 short sentences with no filler: the action comes first, followed by the relevant consequence. Every word 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?
For a zero-parameter action with no output schema, the description is nearly complete: it states what the tool does and the key availability impact. It could additionally note that active operations may be interrupted, but for such a simple tool the missing detail is minor.
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?
The tool has zero parameters and an empty input schema, so there is no parameter information the description must add. The baseline of 4 applies because no parameter documentation is needed.
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?
States a clear, specific verb and resource: 'Restart the Sonarr application.' It is unambiguous and distinguishable from sibling tools by the unique action, though it mostly restates the tool name and does not explicitly differentiate itself from command-running tools like run_command.
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?
No guidance is given on when to use this tool instead of alternatives, or when not to use it. The second sentence only describes a post-condition (the app is unreachable for a few seconds) and provides no selection criteria, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_commandA
Queue any Sonarr command by name. Known names: RefreshSeries, RescanSeries, EpisodeSearch, SeasonSearch, SeriesSearch, MissingEpisodeSearch, CutoffUnmetEpisodeSearch, DownloadedEpisodesScan, RenameFiles, RenameSeries, RssSync, RefreshMonitoredDownloads, ImportListSync, ManualImport, ClearBlocklist, CheckHealth, Housekeeping, Backup, ApplicationUpdate. Prefer the dedicated tools (refresh_series, search_series, ...) where one exists.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Command name, e.g. 'RssSync' | |
| params | No | Extra command body fields, e.g. { seriesId: 12 } or { episodeIds: [1, 2] } |
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 does say the tool 'queues' a command, which indicates asynchronous enqueueing rather than direct execution, and the command list hints at possible effects. However, it does not disclose side effects, required permissions, or how to retrieve the queued command's result.
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 purpose is front-loaded in a single sentence and the fallback guidance is compact. The command-name list is long but directly useful for a generic tool; no filler or redundant phrasing is present.
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 generic command runner with no annotations and no output schema, the description covers scope and invocation basics but omits behavioral context such as side-effect potential and result/status retrieval. It is minimally sufficient for selection and invocation, but not rich enough for safe autonomous use.
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 name and params are already documented. The description adds value by enumerating the valid command-name values, which the schema only illustrates with one example; it adds no new meaning to params but does not need to.
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?
Opens with a specific verb and resource: 'Queue any Sonarr command by name.' It enumerates known command names and contrasts itself with dedicated sibling tools, making its generic fallback role immediately clear.
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?
Explicitly instructs the agent to prefer dedicated tools (refresh_series, search_series, ...) where one exists, which tells the agent when to choose an alternative over this fallback. The known-names list further scopes the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_episodesA
Start an automatic search for specific episodes. Use search_releases first if you want to pick a release by hand.
| Name | Required | Description | Default |
|---|---|---|---|
| episode_ids | Yes | Sonarr episode ids |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. 'Automatic search' conveys that the tool performs the search without manual release selection, but it does not mention whether the search is asynchronous or whether it may automatically grab matching releases.
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 short sentences with the core action in the first sentence and the routing guidance in the second. 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 single-parameter command trigger, the description gives the action, the required input, and the key alternative. It omits details about the response format or asynchronous nature, but these are less critical given the tool's simplicity and the fully documented parameter.
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% and the single parameter has a descriptive name and schema text ('Sonarr episode ids'). The description adds no additional parameter-level detail, so the baseline 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 specific verb ('start'), a resource ('episodes'), and a qualifier ('automatic') that clearly distinguishes this from manual release selection. The name plus description makes it obvious this triggers an automated episode search.
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?
It explicitly tells the agent to use search_releases instead when the user wants to hand-pick a release. This gives a clear condition for choosing between the two search-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_releasesA
Run an interactive indexer search and return the releases found, with quality, size, seeders, custom format score and any rejection reasons. Pass the guid and indexerId of the one you want to grab_release. This can take a while — indexers are queried live.
| Name | Required | Description | Default |
|---|---|---|---|
| detailed | No | Return full release objects instead of summaries | |
| series_id | No | Series id; combine with season_number | |
| episode_id | No | Search for a single episode | |
| season_number | No | Season number to search for; requires series_id | |
| include_rejected | No | Include releases Sonarr rejected (default true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It usefully warns that indexers are queried live and that the call can take a while. It does not disclose whether the operation is read-only, whether it has side effects, or what 'interactive' means in an API context.
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?
Three focused sentences with no filler. The core purpose and return fields are front-loaded, and the latency warning is placed at the end where it supplements rather than obscures the main message.
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 description covers output fields and latency but does not explain which input parameters are actually needed for a valid search, such as requiring series_id or episode_id, nor how detailed and include_rejected affect behavior. With no output schema and no annotations, these are meaningful gaps.
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 input-parameter semantics beyond the schema; the mention of guid and indexerId refers to output values to pass to grab_release, not to this tool's own parameters.
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 states a specific action and resource: running an interactive indexer search and returning releases with enumerated fields like quality, size, seeders, and custom format score. It also clearly points to grab_release as the downstream consumer of the returned guid and indexerId, which helps differentiate this tool from other search-related siblings.
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 implies usage in a manual/interactive release selection workflow and tells the agent to pass the resulting guid and indexerId to grab_release. However, it does not explicitly contrast this tool with sibling search tools like search_series, search_season, or search_episodes, nor does it state 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.
search_seasonC
Start an automatic search for one season of a series.
| Name | Required | Description | Default |
|---|---|---|---|
| series_id | Yes | Sonarr series id | |
| season_number | Yes | Season number (0 is specials) |
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. 'Start an automatic search' hints at a background trigger but does not state whether it launches an asynchronous command, whether it searches all episodes or only missing ones, whether it is reversible, or what the response looks like. For a state-changing operation, this is a significant gap.
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?
A single 10-word sentence with zero filler, front-loaded with the action and the season scope. It is efficient, though the brevity comes at the cost of behavioral and routing detail that would have been valuable.
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 sits in a cluster of ambiguous search operations (search_series, search_episodes, search_releases) and has no annotations or output schema to compensate. A trigger command like this needs to disclose that it kicks off an asynchronous job and how it differs from the interactive release search, neither of which is addressed.
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%, with both parameters already documented ('Sonarr series id' and 'Season number (0 is specials)'). The description adds only the vague notion of 'one season' without providing format, defaults, or usage semantics beyond what the schema already states, so the baseline of 3 applies.
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 names a specific action ('Start') and resource ('automatic search for one season of a series'), making the tool's core function clear. The 'one season' scoping implicitly separates it from search_series and search_episodes, though it never names those siblings explicitly.
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?
No guidance is given for when to use this tool versus closely related siblings like search_series, search_episodes, or search_releases. There are no conditions, exclusions, or alternative routing hints; the agent must infer the selection logic from the tool name and a generic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_seriesB
Start an automatic search for all monitored missing episodes of a series.
| Name | Required | Description | Default |
|---|---|---|---|
| series_id | Yes | Sonarr series id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It reveals that the operation is an 'automatic search' and scopes it to missing monitored episodes, but it does not disclose side effects, asynchronous queuing behavior, permissions, or whether it returns a command resource.
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 a single, front-loaded sentence with no filler or redundancy. Every word adds relevant context about the action and scope.
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 one-parameter tool, the description states the core behavior clearly and the schema documents the only input. However, there is no mention of return behavior, asynchronous execution, or side effects, and the lack of annotations leaves meaningful gaps an agent would need to infer.
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?
The input schema already fully documents the single parameter series_id with 'Sonarr series id', so schema coverage is 100%. The description adds no additional parameter-level meaning beyond the schema, meeting but not exceeding the baseline.
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 names a specific action ('start an automatic search') and a clear resource scope ('all monitored missing episodes of a series'). It is clear enough to distinguish this from episode- or season-level search tools, though it does not explicitly name sibling alternatives.
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 implies when to use it: when you want to trigger a series-wide search for missing monitored episodes. However, it provides no explicit guidance about when not to use it or how it relates to similar tools like search_season, search_episodes, or run_command.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_episodes_monitoredA
Monitor or unmonitor individual episodes. Use set_season_monitored for whole seasons.
| Name | Required | Description | Default |
|---|---|---|---|
| monitored | Yes | true to monitor, false to unmonitor | |
| episode_ids | Yes | Sonarr 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 burden of behavioral disclosure. It clearly communicates that the tool toggles the monitored state for selected episodes, but it adds no further context such as permissions, side effects, or reversibility. For a simple state toggle this is adequate but not rich.
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 short sentences with no filler. The core action is front-loaded and the sibling alternative is provided immediately after, making the tool easy to process quickly.
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 two-parameter mutation with no output schema, the description and schema together give an agent everything needed to select and invoke the tool correctly. It states the action, the scope, and the key alternative without unnecessary detail.
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?
The input schema already documents both parameters with 100% coverage, including the boolean meaning and the Sonarr episode ids. The description adds only the framing of 'individual episodes,' which aligns with but does not meaningfully extend the schema. Baseline 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 states a specific verb-resource pair: 'Monitor or unmonitor individual episodes.' The word 'individual' clearly distinguishes it from season-level operations, and the sibling set confirms set_season_monitored is the related alternative.
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 tells the agent when to use an alternative: 'Use set_season_monitored for whole seasons.' This gives a concrete routing rule and implies this tool is for episode-level granularity only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_season_monitoredA
Monitor or unmonitor whole seasons of a series. Pass season numbers (0 is specials); omit them to apply to every season.
| Name | Required | Description | Default |
|---|---|---|---|
| monitored | Yes | true to monitor, false to unmonitor | |
| series_id | Yes | Sonarr series id | |
| season_numbers | No | Season numbers to change; all seasons when omitted |
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 clearly explains the operation and adds nuanced behavior: passing 0 targets specials, and omitting season numbers applies the change to every season. It does not cover return values or side effects, but the core behavior is transparent.
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 tightly written sentences convey the operation, the special-case season value, and the default behavior with no wasted words. The most important information is front-loaded.
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 mutation tool with a fully described schema and no output schema, the description is complete enough for correct invocation. It explains all essential behavior, parameter semantics, and the special default case, leaving no critical ambiguity.
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 the useful non-obvious detail that 0 refers to specials, which is not present in the schema. It restates the omit-to-apply-all behavior already in the schema, but the specials mapping adds real value.
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 a specific action—monitor or unmonitor whole seasons of a series—and distinguishes itself from set_episodes_monitored by emphasizing whole-season scope. It also provides key details like season 0 meaning specials and the default behavior when season numbers are omitted.
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 clearly indicates when to use the tool: for whole-season monitoring changes. It implicitly contrasts with episode-level monitoring tools like set_episodes_monitored, though it does not explicitly name an alternative or state 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.
test_download_clientA
Test a download client configuration without saving it. Pass a config object to test a draft, or an id to test an existing one.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Existing download client id to test | |
| config | No | Draft resource object to test instead |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It adds the important non-persistent behavior ('without saving it'), but does not describe what happens on success or failure, whether network connectivity is checked, or any side-effect profile beyond that.
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?
A single, front-loaded sentence with no filler. Every phrase adds value: action, resource, non-persistence, and the two invocation modes.
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 two-parameter tool with no required parameters and no output schema, the description is nearly sufficient. It tells the agent exactly how to invoke a draft test or an existing-client test; only a brief note about what the response indicates is 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 coverage is 100%, so the schema already documents both parameters. The description adds a useful mapping: config means draft and id means existing, but this is only a slight semantic enrichment over the existing parameter descriptions.
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 identifies a specific verb ('test'), a specific resource ('download client configuration'), and the key nuance that it does this without saving. It clearly distinguishes this from create, update, and schema tools.
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 clearly explains the two usage paths: pass a config object for a draft, or pass an id for an existing client. It doesn't explicitly name alternative tools or state when not to use it, but the 'without saving it' context makes the intended use apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_import_listA
Test a import list configuration without saving it. Pass a config object to test a draft, or an id to test an existing one.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Existing import list id to test | |
| config | No | Draft resource object to test instead |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses that the operation does not save the configuration, which addresses the main mutation concern. However, it doesn't describe what a successful or failed test looks like, whether any transient side effects occur, or what the response will be.
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 a single clear sentence that front-loads the core purpose and then explains both parameter modes. Every part 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?
For a simple two-parameter test operation, the description covers the main calling modes and the no-save behavior. It doesn't mention expected return values or whether exactly one parameter is required, but given the low complexity and high schema coverage, it is reasonably 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?
The schema already documents both parameters with high coverage: 'id' is an existing import list id and 'config' is a draft resource object. The description mostly paraphrases this, adding the 'or' relationship between the two parameters, but not substantial new meaning beyond the schema.
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 and resource ('Test... import list configuration') and clarifies the key side-effect-free property ('without saving it'). This clearly distinguishes it from create/update/delete operations and from testing other resource types like indexers or download clients.
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 two invocation modes: pass a config object for a draft, or pass an id for an existing list. This gives clear context on how to call the tool, though it doesn't explicitly discuss alternatives or 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.
test_indexerA
Test a indexer configuration without saving it. Pass a config object to test a draft, or an id to test an existing one.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Existing indexer id to test | |
| config | No | Draft resource object to test instead |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the operation does not persist changes, which is the most important behavioral trait. However, it does not mention potential side effects like remote connectivity checks, nor what the response contains, which an agent would benefit from knowing.
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 short sentences, no filler, and the most important qualifier ('without saving it') is front-loaded. Every part of the description adds useful information.
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 simple and the two-parameter schema is adequately described, but there is no output schema and no description of the return result. An agent invoking a test operation would benefit from knowing what a successful or failed test looks like.
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?
The input schema already covers both parameters at 100%, but the description adds meaningful semantics: 'config' is a draft resource object and 'id' refers to an existing indexer. It also conveys that exactly one mode should be used, which is not stated in the schema.
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 identifies the action ('test'), the resource ('indexer configuration'), and the key distinction from related tools: it tests without saving. It also explains the two invocation modes (draft config vs. existing id), making the tool's purpose completely unambiguous.
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 when to pass a config object versus an id, and explicitly notes the operation does not save. It does not explicitly mention alternative tools like create_indexer or get_indexer_schema, but the intended usage is clear from the resource-specific context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_notificationA
Test a notification connection configuration without saving it. Pass a config object to test a draft, or an id to test an existing one.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Existing notification connection id to test | |
| config | No | Draft resource object to test instead |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a meaningful behavioral trait: the operation does not persist the configuration. This is useful because no annotations are provided. However, it does not mention whether the test may send an actual notification to the external service, what success/failure looks like, or any permission requirements, leaving side-effect and response behavior partially undisclosed.
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 short sentences with no filler. It front-loads the core purpose and non-saving behavior, then immediately provides parameter usage guidance. 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?
The description supports correct selection and parameter choice, which is the main job. However, with no annotations and no output schema, it omits expected response/error behavior and does not point to get_notification_schema for building a valid draft config. These gaps make the definition adequate but not fully complete for an agent.
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 already 100%, so the schema documents both parameters. The description adds value by explicitly mapping each parameter to a scenario: config for a draft, id for an existing connection, and implying they are alternatives. This clarifies the intended mental model beyond the raw schema.
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 names the operation ('test'), the resource ('notification connection configuration'), and the key differentiator ('without saving it'). This distinguishes it from create/update/delete and other test_* siblings. The purpose is immediately understandable and not tautological.
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 when to use each input mode: pass a config for a draft or an id for an existing connection. It also signals the when-not case by saying the operation does not save. It does not explicitly name alternatives like create_notification or update_notification, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_custom_formatA
Update a custom format. Fetch it first and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Custom format id | |
| custom_format | Yes | Full custom format object including id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. The fetch-and-echo instruction signals whole-object replacement semantics, which is the key behavioral trait, but it does not disclose what happens to omitted fields, error behavior for a nonexistent id, or return-value 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?
Two short sentences with zero filler: purpose first, then the single most critical usage constraint. Every word earns its place and the critical guidance is front-loaded.
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 description directly addresses the tool's main hazard — an unconstrained nested object with no schema-enforced structure — by mandating the fetch-and-echo workflow. It is sufficient for a simple two-parameter update, though a note on failure scenarios (e.g., invalid id) would round it out.
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 both parameters are already documented inline. The description adds genuine meaning beyond the schema by instructing the agent to populate the unconstrained custom_format object (additionalProperties: {}) with the exact object retrieved from get_custom_format — precisely the procedural detail that prevents a malformed partial update.
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 states a clear verb+resource pair ('Update a custom format') and adds the fetch-echo workflow that defines the update method. It is unambiguous against siblings like create_custom_format, delete_custom_format, or get_custom_format, though it does not explicitly name them.
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?
'Fetch it first and send the whole object back' gives an explicit, actionable procedure: retrieve the format via get_custom_format, modify it, then resubmit the complete object. This implies PUT-style replacement semantics and warns against partial payloads, but it does not name alternatives or state when create_custom_format should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_download_clientA
Update an existing download client. Fetch it with get_download_client first, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | download client id | |
| config | Yes | Full download client resource object including id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It does convey the important replace-style behavior by saying 'send the whole object back', implying this is not a partial update. However, it does not disclose side effects, whether omitted fields are reset, validation behavior, or what the tool returns.
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 with no filler. The purpose is front-loaded, and the crucial fetch-first plus whole-object workflow is stated efficiently. 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 two-parameter schema and no output schema, the description provides the essential workflow: fetch first, modify, send the complete object. It does not mention return values or error conditions, but for selecting and invoking this update tool correctly, the guidance is largely sufficient.
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%, and the schema already documents 'id' as the download client id and 'config' as the full resource object including id. The description reinforces this by saying 'send the whole object back', but adds little beyond the schema's parameter descriptions.
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 opens with 'Update an existing download client', which is a specific verb plus a specific resource. It clearly distinguishes this tool from sibling tools like create_download_client, get_download_client, and delete_download_client by emphasizing 'existing'.
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 instructs the agent to 'Fetch it with get_download_client first', naming the sibling tool to use beforehand. It then states the exact workflow: change what is needed and send the whole object back. This is clear when-to-use guidance with a named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_download_client_configA
Update the download client (completed and failed download handling) configuration. Fetch it with get_download_client_config first, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full configuration object including id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosure. It usefully reveals that this is a full-object replacement operation, not a partial patch, by requiring the agent to fetch the current config and send the entire object back. It does not mention validation or side effects, but the core update semantics are transparent.
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 deliver the essential information with no filler. The core action and the required fetch-modify-replace workflow are front-loaded, making the tool easy to understand quickly.
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 mutation tool with no annotations and an opaque nested config object, the description covers the necessary workflow and scope. However, it does not mention response behavior, validation failures, or what happens if the object is incomplete, which leaves some ambiguity for an agent invoking it without prior context.
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?
The schema describes the 'config' parameter at 100% coverage, but the description adds significant operational meaning: the object must be the complete config obtained from get_download_client_config, not an arbitrary partial object. This is valuable because the schema uses additionalProperties and does not enumerate the config fields.
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 action ('Update') and the resource ('download client configuration'), and clarifies the scope as 'completed and failed download handling'. This distinguishes it from the sibling tools that update individual download client instances or other config sections.
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?
It explicitly instructs the agent to fetch the current configuration with get_download_client_config first, modify it, and send the whole object back. This defines both when to invoke the tool and the expected workflow, though it does not discuss exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_episode_filesA
Change the recorded quality, languages, release group or scene name of existing episode files (the file editor). Does not touch the files on disk.
| Name | Required | Description | Default |
|---|---|---|---|
| quality | No | QualityModel object, e.g. { quality: { id: 9 }, revision: { version: 1 } } | |
| languages | No | Language objects, e.g. [{ id: 1, name: 'English' }] — see list_languages | |
| scene_name | No | Scene name to record | |
| release_group | No | Release group to record | |
| episode_file_ids | Yes | Episode file ids to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It clearly discloses the key safety-relevant behavior: metadata is changed but disk files are untouched, which is valuable for an agent deciding whether this is a destructive operation. It could additionally state partial-update semantics or response behavior, but the core disposition is transparent.
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-loads the primary action, and contains no filler. Every clause earns its place, with the non-destructive clarification placed immediately after the core purpose.
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 metadata-update tool with five parameters fully described in the schema, the description covers the essential context: what is updated and that disk files are unaffected. It does not detail return values or what happens to omitted fields, but the schema and the simple mutation nature keep this from being a critical gap.
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 schema already thoroughly documents every parameter, including examples for the nested quality and languages objects. The description lists the same fields but adds no additional meaning beyond what the schema provides, which matches the baseline for high schema 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 names a specific verb ('Change') and resource ('existing episode files') and lists the exact editable fields: quality, languages, release group, scene name. The parenthetical 'the file editor' and the disk-touch clarification further distinguish it from file-deletion and file-listing siblings.
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 implies this tool is for editing episode-file metadata rather than deleting or listing files, and 'Does not touch the files on disk' gives useful context. However, it does not explicitly contrast with sibling operations such as delete_episode_file or list_episode_files, nor state when this tool should or 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.
update_import_listA
Update an existing import list. Fetch it with get_import_list first, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | import list id | |
| config | Yes | Full import list resource object including 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 and does disclose the most important behavioral trait: the API expects the entire object to be sent back, signaling non-merge replacement semantics. However, it does not address side effects, failure modes, permissions, or what the response contains.
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, zero filler: the first states the purpose and the second delivers the workflow. Every word earns its place and the key constraint is front-loaded.
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 two-parameter tool with fully documented schema, the workflow guidance is adequate. However, with no annotations and no output schema, the agent is left without knowledge of the return value or post-update effects, and the description never explicitly routes the agent away from this tool for new lists.
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% and the config parameter's schema description already states 'Full import list resource object including id,' so the baseline is 3. The description's 'send the whole object back' reinforces that semantics and the fetch-first instruction tells the agent where to obtain the full object, but it adds only marginal meaning beyond the schema.
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 first sentence, 'Update an existing import list,' pairs a specific verb with a specific resource, and the qualifier 'existing' distinguishes it from create_import_list and delete_import_list in the sibling set. It lacks the explicit sibling naming that would earn a 5, but the purpose is unambiguous.
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?
'Fetch it with get_import_list first, change what you need and send the whole object back' gives a concrete prerequisite and workflow, implying PUT-style full-object replacement rather than patching. It names the complementary tool to use beforehand, though it does not explicitly state exclusions or when to prefer create_import_list for new resources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_import_list_configA
Update the import list configuration. Fetch it with get_import_list_config first, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full configuration object including id |
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 of behavioral disclosure. It reveals that the operation is a mutation ('Update'), that it replaces the entire import list configuration object ('send the whole object back'), and that the previous value should be fetched first. This gives meaningful insight into the read-modify-write behavior, though it does not cover error handling or response behavior.
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 with no wasted words. The core purpose is stated first, followed by a clear prerequisite and invocation pattern. Every part of the description 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?
For a single-parameter update tool with no output schema and no annotations, the description covers the essential workflow: fetch first, modify, send whole object. The schema handles the parameter shape, and the description handles the operational sequence. It could mention what the response looks like or what happens if the object is stale, but those are secondary for a simple update call.
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 meaningful semantics beyond the schema by explaining that the config object should be the full object and that changes should be made before sending it back. This clarifies that partial patches are not appropriate, which is valuable operational context that the schema alone does not provide.
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 identifies the operation: 'Update the import list configuration.' This is a specific verb plus a specific resource, and it distinguishes itself from the sibling get_import_list_config ('Fetch it with get_import_list_config first') and from update_import_list by being explicitly about the global configuration object rather than an individual import list.
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 provides clear procedural guidance: fetch the config first, modify the needed parts, and send the entire object back. This tells the agent the proper call sequence and reinforces that the operation is a full-object update. It does not explicitly state when not to use the tool or compare it to other update tools, but the workflow guidance is unusually concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_indexerA
Update an existing indexer. Fetch it with get_indexer first, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | indexer id | |
| config | Yes | Full indexer resource object including 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 and discloses the most important behavioral trait: this is a full-object replacement (PUT-style), not a partial update — 'send the whole object back' warns against sending only changed fields. It also implies a precondition that the resource must already exist. Missing error behavior and idempotency details, but the critical mutation semantics are covered.
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 with zero wasted words: the first front-loads the purpose, the second delivers the workflow and the critical whole-object constraint. 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?
For a 2-parameter mutation tool with 100% schema coverage and no output schema, the description covers everything needed to invoke it correctly: the precondition, the payload construction, and the replacement semantics. Minor gaps are the return value and failure behavior (e.g., invalid id), which would be nice given there is no output schema, but they don't block correct invocation.
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 baseline is 3. The description adds meaning beyond the schema by explaining where the config object comes from (get_indexer) and reinforcing the schema's 'full resource object' requirement with 'send the whole object back,' which prevents a common partial-payload mistake.
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 states a specific verb and resource ('Update an existing indexer'), and the word 'existing' distinguishes it from create_indexer among the siblings. It is clear, though it does not explicitly name the sibling it is not, so it stops short of full differentiation.
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 gives a concrete usage workflow: fetch with get_indexer first, modify, then send the whole object back. This is clear contextual guidance for when and how to use the tool, though it does not state exclusions or explicitly route the agent to create_indexer for new indexers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_indexer_configA
Update the indexer (RSS interval, retention, availability delay) configuration. Fetch it with get_indexer_config first, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full configuration object including id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the behavioral burden and does a solid job: it communicates that this is a mutating operation, that the full configuration object is replaced or sent whole, and that the existing config should be read first to avoid clobbering. It does not disclose response behavior or error cases, but the most important behavioral nuance is covered.
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 concise sentences with no filler. The action and resource are front-loaded, and the necessary workflow is delivered in a clear second sentence.
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 single-parameter update tool with no output schema, the description is nearly complete: it identifies the resource, the fields involved, and the required fetch-before-update workflow. It does not mention the return value, but that is not essential for invoking this tool correctly.
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?
The schema only says 'Full configuration object including id,' while the description adds meaning by identifying the configurable fields and the required workflow of fetching, modifying, and returning the complete object. Although schema coverage is 100%, the description enriches the semantic understanding of what the config parameter should contain.
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 states a specific verb ('Update') and resource ('indexer config'), and narrows the scope with concrete settings: RSS interval, retention, and availability delay. This clearly distinguishes it from the sibling update_indexer, which updates an individual indexer rather than the global configuration.
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 gives explicit procedural guidance: fetch the current config with get_indexer_config first, modify only the needed fields, and send the whole object back. It does not explicitly say when not to use the tool or name alternatives, but the read-modify-write workflow is clear enough for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_media_management_configA
Update the media management (import, file handling, permissions) configuration. Fetch it with get_media_management_config first, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full configuration object including id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It reveals that this is a full-object update rather than a partial patch by instructing the user to fetch the current config, change what is needed, and send the whole object back. This is important behavioral context that helps avoid unintentionally overwriting settings, though it does not mention side effects or authorization requirements.
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 with no filler. The main verb and resource are front-loaded, and the second sentence delivers a clear read-modify-write workflow. 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?
For a single-parameter update operation with no output schema and no annotations, the description provides enough context to call it correctly: know the resource, fetch first, mutate, and send the complete object. It could mention what response to expect, but that is not essential for correct invocation.
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% and the schema describes the config parameter as a full object including id. The description adds meaningful semantic guidance by explaining that the parameter must be the complete fetched object with only desired changes applied. This goes beyond the schema's basic 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?
The description clearly states the verb 'Update' and the resource 'media management configuration', and adds a parenthetical scope (import, file handling, permissions). It is distinct enough from sibling tools such as update_naming_config, though it does not explicitly differentiate itself from those alternatives.
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 gives concrete usage guidance: fetch the configuration with get_media_management_config first, modify it, and send the whole object back. This establishes a clear workflow. It does not explicitly mention when not to use the tool or name alternative tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_naming_configA
Update the file and folder naming configuration. Fetch it with get_naming_config first, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full configuration object including id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does disclose the important whole-object replacement semantics, but it does not mention validation behavior, failure modes, return value, or any side effects beyond updating the config.
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 with no filler. The purpose is front-loaded, and the necessary workflow is stated in one concise, actionable follow-up sentence.
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 one-parameter update tool, the description covers the critical precondition, the mutation semantics, and the expected input shape. It lacks any mention of return value or error conditions, which is a minor gap given no output schema or annotations exist, but it is otherwise sufficient for correct invocation.
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?
The schema already describes the config parameter as 'Full configuration object including id', so the baseline is 3. The description adds meaningful guidance by emphasizing that the entire object must be sent back, which clarifies that partial updates are not acceptable.
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 states a specific verb ('Update') and a specific resource ('file and folder naming configuration'), clearly distinguishing it from related sibling tools like get_naming_config and update_media_management_config. The scope is unambiguous.
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?
It explicitly instructs the agent to fetch the current config with get_naming_config first, modify it, and send the whole object back. This provides a clear workflow and tells the agent exactly when and how to use the tool versus the read-only sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_notificationA
Update an existing notification connection. Fetch it with get_notification first, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | notification connection id | |
| config | Yes | Full notification connection resource object including id |
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 of behavioral disclosure. It clearly reveals that this is a whole-object replacement operation ('send the whole object back') and that it applies only to an existing resource, preventing accidental creation. It does not mention permissions or response details, but the critical mutation semantics are transparent.
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 with zero wasted words. The purpose is stated first, followed by a compact and actionable workflow instruction.
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 two-parameter update with full schema descriptions and no output schema, the description is sufficient. It explains the prerequisite fetch and the full-object requirement, though it does not describe the response body or error conditions. The operation is straightforward enough that these omissions are not critical.
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% for both parameters, so the baseline is 3. The description adds practical meaning by instructing the agent to source the config object from get_notification and modify it, clarifying how to construct the required full object beyond the schema's 'Full notification connection resource object including id'.
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 states a specific verb ('Update') and a specific resource ('notification connection'), and qualifies it as 'existing', which clearly distinguishes it from create_notification. There is no ambiguity about what operation this tool performs.
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 provides an explicit workflow: fetch the connection with get_notification first, modify it, and send the whole object back. This tells the agent when and how to use the tool effectively, though it does not explicitly name create_notification or delete_notification as alternatives for other lifecycle operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_quality_definitionsA
Update the size limits of one or more quality definitions. Send the full definition objects from list_quality_definitions with minSize, maxSize or preferredSize changed.
| Name | Required | Description | Default |
|---|---|---|---|
| definitions | Yes | Full quality definition objects including id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the behavioral disclosure burden. It discloses the important update model: full definition objects are required and only minSize, maxSize, or preferredSize should change. However, it does not mention side effects, permissions, validation behavior, or idempotency, leaving notable gaps for a mutation tool.
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 tight sentences, front-loaded with the action, and no filler. Every sentence contributes either the update scope or the required payload pattern.
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 single-parameter update tool, the description captures the invocation pattern and teaches the correct data source. It lacks explicit return or error behavior, but there is no output schema and that information is not critical for making the call correctly.
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%, but the schema only says 'Full quality definition objects including id.' The description adds workflow meaning: retrieve objects from list_quality_definitions and alter minSize, maxSize, or preferredSize. This goes beyond the schema's property 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 uses a specific verb ('Update') and resource ('quality definitions'), and narrows the action to 'size limits' with named fields minSize, maxSize, and preferredSize. This clearly distinguishes it from sibling tools like update_quality_profile or update_custom_format.
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?
Provides clear context: instructs the agent to send full objects from list_quality_definitions and modify only the size-related fields. It does not explicitly name alternatives or exclusions, but the usage scenario is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_quality_profileA
Update a quality profile. Fetch it with get_quality_profile, change what you need and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Quality profile id | |
| profile | Yes | Full quality profile object including id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It discloses a key risk: because the whole object must be sent back, sending an incomplete object could overwrite existing settings. The phrase 'send the whole object back' is a meaningful behavioral warning beyond the simple 'update' verb. It does not discuss permissions, return values, or error conditions, but the core mutation and data-integrity behavior is conveyed.
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 with no wasted words. The purpose is stated first, followed immediately by the critical usage detail about fetching and sending the whole object. 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?
For a simple two-parameter update tool with a well-documented schema, this description is nearly complete: it identifies the resource, the required workflow, and the whole-object requirement. The only notable omission is what the API returns after the update, and there is no output schema to compensate for that. Overall, an agent has enough information to invoke the tool correctly.
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?
The input schema already provides 100% coverage, describing both `id` and `profile` as a full quality profile object including id. The description adds workflow context but no additional parameter-level semantics about format, defaults, or constraints. Baseline 3 is appropriate given the strong schema 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 clearly states the operation: update a quality profile, with a specific verb and resource. The read-modify-write workflow ('Fetch it with get_quality_profile, change what you need and send the whole object back') adds meaningful specificity and hints that this is a full-object update. However, it does not explicitly contrast with sibling tools like create_quality_profile or delete_quality_profile, so it falls just short of full differentiation.
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 gives clear context and a concrete procedure: fetch the existing profile first, modify the desired parts, and send the complete object back. This effectively communicates the need for a full replacement rather than a partial patch, which is important usage guidance. It does not enumerate alternatives or state exclusions, so it does not reach a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_release_profileA
Update a release profile. Fetch it from list_release_profiles and send the whole object back.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Release profile id | |
| release_profile | Yes | Full release profile object including id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It reveals one meaningful behavioral trait: the update is not a partial field patch and requires sending the complete object obtained from list_release_profiles. However, it does not disclose possible overwrite/reset consequences, permission requirements, idempotency, or response behavior.
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 short and front-loaded, with the key workflow instruction in the second sentence. The first sentence is somewhat redundant with the tool name, but the overall text is efficient and contains no filler. It earns its place by adding the critical fetch-and-return-whole-object instruction.
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 has only two parameters and a clear workflow hint, which covers the central risk of submitting an incomplete profile object. However, with no annotations and no output schema, the description does not clarify whether the update replaces the entire profile, what the response looks like, or what errors may occur. It is minimally viable but not fully 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%, so the baseline is 3. The description adds value beyond the schema by clarifying that release_profile should be the full object fetched from list_release_profiles, including its id, rather than a sparse partial update. This reduces ambiguity about how to construct the nested object parameter.
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 states a specific action and resource: 'Update a release profile.' It is clear that this tool modifies an existing release profile rather than creating or deleting one, especially given the sibling tools list_release_profiles, create_release_profile, and delete_release_profile. It relies partly on the tool name for the verb, but the resource noun and workflow make the purpose unambiguous.
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 gives explicit usage guidance: fetch the profile from list_release_profiles and send the whole object back. This tells the agent where to get the needed payload and what shape of input is expected. It does not explicitly state when not to use it or name alternatives, but the update/create/delete sibling split makes the primary use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_seriesA
Update settings on an existing series. Fetches the current series, merges the given fields and puts it back — only the fields you pass are changed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sonarr series id | |
| path | No | New series folder path | |
| tags | No | Replace the tag ids on this series | |
| monitored | No | Monitor or unmonitor the series | |
| move_files | No | Move existing files when the path or root folder changes (default false) | |
| series_type | No | New series type | |
| season_folder | No | Use season folders | |
| root_folder_path | No | New root folder path | |
| monitor_new_items | No | Whether newly added seasons are monitored | |
| quality_profile_id | No | New quality profile id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden, and it does well by disclosing the read-modify-write behavior: 'Fetches the current series, merges the given fields and puts it back.' It also clarifies that only passed fields are changed, protecting against accidental overwrites. It could mention side effects of path/root changes, but the `move_files` parameter already signals that concern.
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 tightly written sentences. The main purpose is front-loaded, and the merge behavior is explained in a compact, em-dash-separated clause. Every word 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?
For a settings-update tool with a fully documented schema and no annotations, the description provides the crucial non-obvious semantics: partial merge rather than full replacement. The main gap is the lack of any mention of the return value, but since there is no output schema and the invocation requirements are fully documented, this is not a blocking 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?
The input schema already documents all 10 parameters at 100% coverage, so the baseline is 3. The description adds valuable semantics by stating that the operation is a merge: only the fields you pass are changed, meaning unpassed optional fields are preserved. This materially changes how an agent should interpret the optional parameters.
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 action ('Update settings') and the resource ('an existing series'), making it easy to identify this as a single-series update tool. It does not explicitly distinguish itself from the sibling `edit_series_bulk`, so it falls short of a 5.
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 phrase 'on an existing series' implies this is for updating an already-present series rather than creating one, and the merge semantics clarify it is a partial update. However, it never names alternatives such as `add_series` or `edit_series_bulk`, or states when to prefer them over this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_tagB
Rename a tag.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Tag id | |
| label | Yes | New tag label |
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, and 'Rename a tag' only states the action. It does not mention whether the change is reversible, whether it affects objects already using the tag, or how conflicts are handled. This is a minimal mutation description with no additional behavioral context.
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 a single, front-loaded sentence with zero filler, which is efficient. It is slightly under-specified for context, but as a concise statement of purpose it earns a high score.
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 two-parameter tool with no output schema, the description and schema together are minimally sufficient to identify the operation and its inputs. However, the lack of any usage or behavioral context leaves the definition incomplete for an agent deciding whether this operation is safe or appropriate.
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%, and the schema already documents id as 'Tag id' and label as 'New tag label'. The description adds no further parameter semantics, so the baseline of 3 applies.
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, 'Rename', with a clear resource, 'a tag', and directly differentiates the tool from siblings like create_tag, delete_tag, list_tags, and list_tag_details. Even without a title, the agent can infer this mutates an existing tag's label.
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 gives no guidance on when to use this tool versus alternatives like create_tag or delete_tag, and no context about prerequisites or consequences. There are no exclusions or routing hints, so the agent must rely on the name alone.
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.
136 tool updates
v0.1.0- First observed
add_import_list_exclusion - First observed
add_remote_path_mapping - First observed
add_root_folder - First observed
add_series - First observed
cancel_command - First observed
create_custom_format - First observed
create_download_client - First observed
create_import_list - First observed
create_indexer - First observed
create_notification - First observed
create_quality_profile - First observed
create_release_profile - First observed
create_tag - First observed
delete_custom_format - First observed
delete_download_client - First observed
delete_episode_file - First observed
delete_episode_files - First observed
delete_import_list - First observed
delete_import_list_exclusion - First observed
delete_indexer - First observed
delete_notification - First observed
delete_quality_profile - First observed
delete_release_profile - First observed
delete_remote_path_mapping - First observed
delete_root_folder - First observed
delete_series - First observed
delete_series_bulk - First observed
delete_tag - First observed
edit_series_bulk - First observed
get_blocklist - First observed
get_calendar - First observed
get_command - First observed
get_custom_format - First observed
get_custom_format_schema - First observed
get_cutoff_unmet_episodes - First observed
get_disk_space - First observed
get_download_client - First observed
get_download_client_config - First observed
get_download_client_schema - First observed
get_episode - First observed
get_episode_file - First observed
get_health - First observed
get_history - First observed
get_history_since - First observed
get_host_config - First observed
get_import_list - First observed
get_import_list_config - First observed
get_import_list_schema - First observed
get_indexer - First observed
get_indexer_config - First observed
get_indexer_schema - First observed
get_log_file - First observed
get_manual_import_candidates - First observed
get_media_management_config - First observed
get_missing_episodes - First observed
get_naming_config - First observed
get_naming_examples - First observed
get_notification - First observed
get_notification_schema - First observed
get_quality_profile - First observed
get_quality_profile_schema - First observed
get_queue - First observed
get_queue_details - First observed
get_queue_status - First observed
get_rename_preview - First observed
get_root_folder - First observed
get_scheduled_task - First observed
get_series - First observed
get_series_folder - First observed
get_series_history - First observed
get_system_status - First observed
get_ui_config - First observed
get_updates - First observed
grab_queue_item - First observed
grab_queue_items - First observed
grab_release - First observed
list_backups - First observed
list_commands - First observed
list_custom_formats - First observed
list_delay_profiles - First observed
list_download_clients - First observed
list_episode_files - First observed
list_episodes - First observed
list_import_list_exclusions - First observed
list_import_lists - First observed
list_indexers - First observed
list_languages - First observed
list_log_files - First observed
list_logs - First observed
list_notifications - First observed
list_quality_definitions - First observed
list_quality_profiles - First observed
list_release_profiles - First observed
list_remote_path_mappings - First observed
list_root_folders - First observed
list_scheduled_tasks - First observed
list_series - First observed
list_tag_details - First observed
list_tags - First observed
lookup_series - First observed
mark_history_item_failed - First observed
parse_release_title - First observed
refresh_series - First observed
remove_blocklist_item - First observed
remove_blocklist_items - First observed
remove_queue_item - First observed
remove_queue_items - First observed
rescan_series - First observed
restart_sonarr - First observed
run_command - First observed
search_episodes - First observed
search_releases - First observed
search_season - First observed
search_series - First observed
set_episodes_monitored - First observed
set_season_monitored - First observed
test_download_client - First observed
test_import_list - First observed
test_indexer - First observed
test_notification - First observed
update_custom_format - First observed
update_download_client - First observed
update_download_client_config - First observed
update_episode_files - First observed
update_import_list - First observed
update_import_list_config - First observed
update_indexer - First observed
update_indexer_config - First observed
update_media_management_config - First observed
update_naming_config - First observed
update_notification - First observed
update_quality_definitions - First observed
update_quality_profile - First observed
update_release_profile - First observed
update_series - First observed
update_tag
TDQS
Each tool targets a distinct Sonarr resource or action, and list/get pairs are explicitly distinguished (e.g. list_series compact vs get_series full). A small number of near-duplicates (run_command vs the dedicated search/refresh tools, get_queue vs get_queue_details, singular/plural delete and remove variants) require careful reading but are not genuinely interchangeable.
The vast majority follow a consistent verb_noun snake_case pattern with list/get/create/update/delete/test prefixes. Minor deviations exist: edit_series_bulk uses edit instead of update, plural/singular variants are mixed (delete_episode_file vs delete_episode_files), and list_tag_details/run_command don't quite fit the resource pattern.
136 tools is an extreme count for an MCP server, even for a full application API. The calibration considers 50+ an extreme mismatch, and this many tools creates significant selection overhead and makes it hard for an agent to identify the right operation.
The surface is exceptionally broad, covering library management, episode monitoring, searching, queue/history/blocklist, quality profiles, custom formats, indexers, download clients, import lists, notifications, tags, configurations, logs, backups, and system operations. Minor gaps remain—delay profiles only have list (no create/update/delete) and host config has get but no update.
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
The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.
15 media & data tools for AI agents: search, transcribe, subtitles, voiceover, translate & more.
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
44 tools for AI agents: Trends, SERP, SEO audits, screenshots, weather, FX, whois, RSS.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables 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.9-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Sonarr and Radarr APIs to query media libraries, check recent additions, view upcoming releases, manage download queues, and perform searches for TV shows and movies through natural language.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage media automation services like Sonarr, Radarr, Prowlarr, Bazarr, Overseerr, and Plex through natural language commands.7MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage TV shows and movies via Sonarr and Radarr, including searching, adding, and monitoring downloads.-
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/OrellBuehler/sonarr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server