Skip to main content
Glama
rollecode

Sonarr MCP server

by rollecode

Sonarr MCP server

Version Python Sonarr Coverage

Run Sonarr from Claude.ai and Claude Code. All 234 operations of the v3 API are tools, generated from Sonarr's own OpenAPI document. Not a curated subset: every endpoint Sonarr's web interface can reach, this can reach.

Why not the other options

Measured against Sonarr.Api.V3/openapi.json, which has 162 paths and 234 non-HEAD operations:

Server

Sonarr tools

Coverage

davidgibbons/mcp-arr

17

7 %

niavasha/plex-mcp-server

8

3 %

bardesss/arr-mcp

unified verbs across 10 services

partial

This one

234

100 %

The others hand-write a tool per endpoint they happened to need, so they cover series, queue and calendar and stop there. Nothing else exposes customformat, releaseprofile, delayprofile, autotagging, importlistexclusion, manualimport, seasonpass, remotepathmapping or qualitydefinition at all.

Related MCP server: sonarr-mcp

How it stays complete

src/sonarr_mcp/tools.py is generated, not written:

curl -o openapi.json https://raw.githubusercontent.com/Sonarr/Sonarr/develop/src/Sonarr.Api.V3/openapi.json
python scripts/generate_tools.py openapi.json src/sonarr_mcp/tools.py

A test compares every generated call against every operation in the spec, in both directions. An endpoint Sonarr adds and this misses fails the build; so does a tool pointing at an endpoint the spec does not define.

Tool names

Verb first, derived from the method and path, so the name says what it does:

Pattern

Meaning

Example

list_*

Read a collection

list_series, list_queue

get_*_by_id

Read one record

get_series_by_id

create_*

POST

create_series, create_command

update_*

PUT

update_qualityprofile_by_id

delete_*

DELETE

delete_episodefile_by_id

234 tools is a lot to put in front of a model at once. If your client supports tool filtering, narrow it to the groups you use.

What is covered

All 69 resource groups: series, episode, episodefile, seasonpass, queue, history, blocklist, calendar, wanted, command, release, manualimport, rename, parse, indexer, indexerflag, downloadclient, importlist, importlistexclusion, qualityprofile, qualitydefinition, customformat, customfilter, releaseprofile, delayprofile, autotagging, notification, metadata, tag, rootfolder, remotepathmapping, language, localization, mediacover, filesystem, diskspace, health, log, update, backup, system and the config endpoints.

Setup

git clone https://github.com/rollecode/sonarr-mcp.git
cd sonarr-mcp
uv venv && uv pip install -e .
export SONARR_URL=http://127.0.0.1:8989
export SONARR_API_KEY=...   # Settings, General, Security

Claude Code

claude mcp add sonarr -- /path/to/sonarr-mcp/.venv/bin/sonarr-mcp

Writing records

Sonarr replaces a record on PUT rather than merging, so read it first, change the fields you want and send the whole object back as body. For a new resource, list_*_schema returns the shape it expects.

Hosting it

Running it over HTTP puts it in reach of Claude.ai as a custom connector, and of Claude Code on other machines. Three tiers, the same shape the other servers in this family use:

Tier

Port

What it does

sonarr-mcp

8520

The server. No login of its own, never exposed

nginx

8521

Front door, behind a Cloudflare Tunnel

auth-server.js

8522

OAuth 2.1 sign-in, or a fixed bearer token

npm install
node set-password.js 'a password for the sign-in page'
printf 'SONARR_URL=...\n' > ~/.config/sonarr-mcp/env
chmod 600 ~/.config/sonarr-mcp/env

Copy systemd/*.service into /etc/systemd/system/, replacing YOUR_USER and the ISSUER hostname, then:

sudo systemctl enable --now sonarr-mcp sonarr-mcp-auth

Point nginx/sonarr-mcp.conf at your own hostname and send the tunnel at 127.0.0.1:8521.

Environment the server itself reads: SONARR_URL, SONARR_API_KEY. The sign-in page carries the Sonarr mark and accent colour, set through APP_NAME, APP_ACCENT and APP_BLURB in the auth unit.

Claude.ai

Settings, Connectors, Add custom connector, URL https://sonarr-mcp.your-domain/mcp, client ID and secret blank. The sign-in page asks for the password set above. Connectors belong to the account, so adding it once covers mobile too.

Development

uv pip install -e . pytest ruff
.venv/bin/python -m pytest tests
.venv/bin/ruff check .

Available Tools

234 tools
create_autotaggingB
Idempotent

Create AutoTagging.

POST /api/v3/autotagging

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate this is a non-readonly, idempotent, non-destructive operation. The description adds the POST endpoint and schema discovery advice, which is useful context, but it does not disclose possible side effects, error behavior, or response semantics. There is no contradiction with annotations.

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

Conciseness4/5

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

The description is short and front-loaded. The 'Create AutoTagging' line is somewhat redundant with the tool name, but the endpoint and schema-guidance sentence add practical value without unnecessary detail.

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

Completeness4/5

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

For a one-parameter create tool with rich annotations and an output schema, the description is largely complete. The schema lookup instruction resolves the main ambiguity around the open body parameter, though adding a brief note on what an autotagging is would improve overall completeness.

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

Parameters4/5

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

The schema provides only an open 'body' object with additionalProperties true and 0% description coverage. The description compensates by explaining that body is the request payload and directing the agent to the matching GET or /schema endpoint to discover the expected fields.

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

Purpose4/5

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

The description states 'Create AutoTagging' and gives the endpoint 'POST /api/v3/autotagging', making the verb and resource clear. However, it does not distinguish this from related autotagging operations like update_autotagging_by_id or list_autotagging, so the name carries much of the differentiation.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives such as update or list autotagging. The only instruction is to read the matching GET or /schema endpoint for payload fields, which addresses payload construction rather than tool selection.

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

create_commandB
Idempotent

Create Command.

POST /api/v3/command

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, but the description adds no behavioral context beyond 'Create Command'. It doesn't disclose whether the command is executed asynchronously, whether it triggers side effects, or how to monitor its status. The schema-reading note concerns parameters, not behavior.

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

Conciseness5/5

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

The description is compact and front-loaded: purpose, endpoint, then the single parameter note. Every line earns its place and there is no filler.

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

Completeness3/5

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

An output schema exists, so return-value details are not required. However, the tool uses a generic body schema in a domain-specific API, and the description relies entirely on an external schema endpoint for payload structure. It is workable but minimal, lacking any explanation of what a command is or when this tool should be used.

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

Parameters3/5

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

The schema is a generic additionalProperties object with 0% description coverage. The description adds some value by identifying 'body' as the request payload and instructing the agent to consult the matching GET or /schema endpoint for expected fields. This is a useful pointer, but it doesn't provide actual field semantics.

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

Purpose4/5

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

The description states the operation clearly: 'Create Command' with the endpoint 'POST /api/v3/command'. This is a specific verb and resource. However, it doesn't differentiate this from the many sibling create_* tools or explain what a Command is in this system.

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

Usage Guidelines2/5

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

No when-to-use guidance is provided. The description doesn't explain the purpose of commands, when to create one, or how this tool compares to alternatives. The note to read the GET or /schema endpoint is about parameter discovery, not usage context.

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

create_customfilterB
Idempotent

Create CustomFilter.

POST /api/v3/customfilter

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true. The description does not contradict these but also does not elaborate on any behavioral nuances beyond the endpoint. It mentions the need to read schema, which is helpful. However, it does not discuss potential side effects or response behavior, but the presence of annotations covers the safety profile, so a 3 is fair.

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

Conciseness4/5

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

The description is very short, almost terse, but it front-loads the key action and endpoint. The advice to read the GET/schema endpoint is placed after the args, which is a minor structural issue. It is efficient but could integrate the guidance more prominently.

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

Completeness3/5

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

The tool has a body parameter that is an open object, and the description is the only source for field documentation since schema coverage is 0%. It does point to the GET/schema endpoint, which is a useful workaround, but this is not self-contained. With many sibling tools, the description should provide more specific guidance to avoid misuse. It's minimally adequate.

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

Parameters1/5

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

Schema coverage is 0%, and the description provides no additional meaning for the 'body' parameter. It merely says 'body: Request payload.' The description does not compensate for the lack of schema documentation. This is a significant gap because the body is an open object with additionalProperties, and the agent has no idea what fields to include without external reference.

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

Purpose4/5

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

The description clearly indicates a POST operation to create a custom filter, with the endpoint path. However, it doesn't differentiate from the dozens of other create_ sibling tools beyond the resource name, which is in the tool name itself. It conveys the action and resource, but not the uniqueness constraints.

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

Usage Guidelines4/5

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

The description advises reading the matching GET or /schema endpoint to understand expected fields, which guides the agent on prerequisites. It does not explicitly state when to use this tool instead of alternatives, but the resource-specific nature makes it clear enough. This is slightly above average.

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

create_customformatA
Idempotent

Create CustomFormat.

POST /api/v3/customformat

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral detail beyond the POST endpoint and the schema-discovery hint, but it does not contradict the annotations or mislead the agent.

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

Conciseness5/5

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

The description is compact and well-structured: action, endpoint, then the single argument with a necessary instruction. Every line earns its place, and the key guidance is front-loaded.

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

Completeness4/5

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

For a create operation with an opaque body, the description provides the critical missing context by directing the agent to the schema endpoint. Output schema exists, so return values need no explanation, and annotations cover idempotency and destructiveness. The only gap is not explaining when to prefer this over related customformat operations, but that is minor.

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

Parameters4/5

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

Schema description coverage is 0% and the only parameter, body, is an opaque object with additionalProperties allowed. The description compensates by explicitly telling the agent to read the matching GET or /schema endpoint to discover the expected fields, which is essential and actionable guidance for an otherwise undocumented payload.

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

Purpose4/5

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

The description states a specific verb and resource ('Create CustomFormat') and includes the POST endpoint, making the action unambiguous. It does not explicitly differentiate itself from the many sibling create_* tools, but the resource name is distinctive enough.

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

Usage Guidelines3/5

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

The description gives a clear prerequisite: read the matching GET or /schema endpoint to learn the expected fields. However, it does not explicitly state when to choose this tool over alternatives such as update_customformat_by_id or delete_customformat_by_id; usage context is only implied by the verb and resource name.

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

create_delayprofileC
Idempotent

Create DelayProfile.

POST /api/v3/delayprofile

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds the instruction to read the GET/schema endpoint first, which is useful context, but it does not disclose what happens on creation, validation behavior, or side effects.

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

Conciseness4/5

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

The description is short and front-loaded with the action and endpoint. The Args section is minimal and the pointer to the schema endpoint is useful, though the 'Args:' label adds little value.

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

Completeness2/5

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

For a create operation with an opaque body and no schema coverage, the description is incomplete. It relies entirely on the agent fetching the GET or /schema endpoint, and it does not explain the resource's purpose, required fields, or expected response. The output schema exists but the description does not reference it.

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

Parameters2/5

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

Schema description coverage is 0%, and the only parameter is an opaque 'body' object with additionalProperties: true. The description tells the agent to read the GET or /schema endpoint to learn the fields, which is a workaround, but it does not itself add any semantic meaning to the body parameter.

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

Purpose3/5

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

The description states a clear verb and resource ('Create DelayProfile') and includes the HTTP endpoint, so an agent knows what the tool does. However, it does not explain what a DelayProfile is or how it differs from the many other create_* siblings, so differentiation is weak.

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

Usage Guidelines2/5

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. It only says to read the matching GET or /schema endpoint first, which is a prerequisite hint but not a usage condition or exclusion.

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

create_downloadclientB
Idempotent

Create DownloadClient.

POST /api/v3/downloadclient

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already declare idempotentHint=true, readOnlyHint=false, and destructiveHint=false, so the safety profile is known. The description adds only the HTTP endpoint and a pointer to the schema, with no side-effect, error, or auth context; it neither reinforces nor explains the idempotent behavior.

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

Conciseness4/5

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

The description is short, front-loaded with the purpose, and structured with a clear Args block. Each line adds at least endpoint or parameter-location context, though the force_save line is thin and mostly restates schema information.

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

Completeness3/5

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

For an open-bodied create call with zero schema description coverage, the pointer to GET/schema is the critical missing piece and is present. Still, force_save semantics and the relationship to sibling test/update endpoints are left unexplained, so an agent would need to infer or probe those details.

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

Parameters2/5

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

The body parameter gets a meaningful directive—read the matching GET or /schema endpoint first—which is valuable because the schema shows an open object with additionalProperties. However, force_save is only labeled 'Query parameter' with no semantics, and schema description coverage is 0%, so the description does not fully compensate.

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

Purpose5/5

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

The description opens with the imperative 'Create DownloadClient' and confirms it with the explicit POST endpoint, giving a specific verb and resource. This is unambiguous against siblings like create_downloadclient_test or update_downloadclient_by_id.

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

Usage Guidelines3/5

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

The use case is implied—create a download client—but the description never states when to prefer this over the sibling test endpoints or when not to use it. The instruction to read the matching GET or /schema endpoint is a useful prerequisite, but no explicit alternative routing is provided.

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

create_downloadclient_action_by_nameC
Idempotent

Create DownloadClient.

POST /api/v3/downloadclient/action/{name}

Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already provide safety signals (readOnlyHint=false, idempotentHint=true, destructiveHint=false). The description adds a useful pre-call instruction to consult the schema, but does not disclose side effects, permissions, or other behavioral details.

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

Conciseness4/5

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

The description is compact and front-loaded with the core statement. The endpoint and argument breakdown are useful, though the unexplained 'action' concept could have been expanded without hurting conciseness.

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

Completeness2/5

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

Given the cryptic tool name and the dynamic body requirement, the description should clarify what a named action is and when this variant is appropriate. Pointing to the schema helps with body construction but not with overall usage context.

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

Parameters3/5

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

Schema coverage is 0%, so the description carries the parameter-semantics burden. It does clarify that name is a path parameter and body is the request payload, and directs to the schema for field details, but this is minimal and leaves body structure largely unspecified.

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

Purpose3/5

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

The description states a clear verb and resource ('Create DownloadClient'), so the basic purpose is evident. However, it does not explain what 'action' means or how this differs from the sibling create_downloadclient, leaving ambiguity.

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

Usage Guidelines2/5

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 create_downloadclient or the test variants. The only instruction is to read the GET/schema endpoint first, which is about preparation, not usage context.

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

create_downloadclient_testD
Idempotent

Create DownloadClient.

POST /api/v3/downloadclient/test

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_testNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.6/5.0
Behavior2/5

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

The description adds almost nothing beyond the annotations. It says 'Create' implying mutation, but the endpoint is a test. The idempotentHint is true, but the description doesn't clarify whether this saves anything or just sends a test request. No side effects, authentication needs, or return behavior 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.

Conciseness3/5

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

The description is short and not bloated, but it's essentially a docstring with the HTTP method and a bare-bones args list. It is not well-structured or front-loaded with critical information; it is under-specified rather than concise.

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

Completeness1/5

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

The description is severely incomplete. It misstates the core action (create vs test), omits any mention of the request body structure, doesn't clarify the effect of the test, and fails to distinguish from siblings. Given nested objects and an output schema, an agent cannot reliably call this tool.

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

Parameters2/5

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

The body parameter is given a useful pointer ('Read the matching GET or the /schema endpoint first') which helps, but force_test is only labeled 'Query parameter' with no meaning. Schema coverage is 0%, so the description must compensate more, but it barely does.

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

Purpose1/5

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

The description says 'Create DownloadClient' but the tool name is 'create_downloadclient_test' and the endpoint is /test, indicating this is a test operation, not a creation. It fails to state that this validates a download client configuration, and it is indistinguishable from the sibling 'create_downloadclient' which actually creates a client. The verb and resource are misleading.

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

Usage Guidelines1/5

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 create_downloadclient (actual creation) or create_downloadclient_testall (test all clients). 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.

create_downloadclient_testallD
Idempotent

Create DownloadClient.

POST /api/v3/downloadclient/testall

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.7/5.0
Behavior1/5

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

Annotations already provide readOnlyHint=false and idempotentHint=true, but the description adds no real behavioral context about testing all download clients or side effects. It instead misrepresents the operation as a create action, making the behavioral picture worse than the annotations alone.

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

Conciseness2/5

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

The description is short, but the brevity is due to under-specification rather than efficient writing. 'Create DownloadClient' is a generic and likely incorrect summary, and the endpoint line is the only informative piece.

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

Completeness2/5

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

Despite having no parameters, an output schema, and annotations, the description is not complete enough because it fails to state the actual test-all behavior or when to select it. The endpoint is a hint, but the description itself omits the key semantic.

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

Parameters4/5

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

The input schema has zero properties, so there are no parameter semantics to document. The description cannot add meaningful parameter information, and the baseline for a zero-parameter tool is appropriate.

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

Purpose1/5

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

The description says 'Create DownloadClient.' but the endpoint and tool name indicate a test-all operation. This is misleading, not just vague, and it does not distinguish the tool from create_downloadclient or create_downloadclient_test.

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

Usage Guidelines1/5

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 test-all tool versus the sibling create_downloadclient or create_downloadclient_test tools. The 'Create DownloadClient' phrasing actively misroutes an agent trying to create or test a single client.

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

create_history_failed_by_idC
Idempotent

Create History.

POST /api/v3/history/failed/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false, idempotentHint=true, and destructiveHint=false, and the description adds no behavioral context beyond restating that a POST is made. It does not disclose what side effects creating failed history has, what the id refers to, or what the response implies. No contradiction with annotations, but no added transparency either.

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

Conciseness3/5

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

The description is very short and free of verbosity, and the endpoint plus Args section are clearly structured. However, the opening sentence "Create History." is uninformative and does not earn its place, making the conciseness more a symptom of under-specification than effective economy.

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

Completeness2/5

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

Although the tool has only one parameter and an output schema, the core semantics of the operation are missing: what "failed history" means, what id must be supplied, and what effect the POST has. An agent could invoke the endpoint but would not understand the business meaning or verify correct usage.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only says "id: Path parameter." This tells the parameter's location in the request, not what the id identifies or how it relates to history entries. For a required integer parameter, this is insufficient semantic information.

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

Purpose2/5

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

The description simply says "Create History," which largely restates the tool name without clarifying what "failed" means or what the operation actually accomplishes. The endpoint path /api/v3/history/failed/{id} hints at the domain but is not a human-readable purpose statement. This is closer to tautology than a clear, distinguishing description.

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

Usage Guidelines2/5

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 list_history or other create_* tools. The description provides no context, conditions, or exclusions, leaving the agent to guess the appropriate invocation scenario.

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

create_importlistC
Idempotent

Create ImportList.

POST /api/v3/importlist

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, and the description correctly implies a mutation (create) without contradicting them. The description adds the useful directive to read the matching GET or /schema endpoint first, which hints at how to construct the body, but it does not disclose other behavioral aspects like idempotency semantics (though idempotentHint=true is annotated), required permissions, or the shape of the response.

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

Conciseness3/5

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

The description is brief and front-loaded with the purpose, which is good for scannability. However, it is too sparse: it lists arguments but omits any example or clarification that would help an agent. The structure is acceptable but could be improved by elaborating on the body requirements inline instead of only pointing to another endpoint.

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

Completeness2/5

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

Given the complexity of an open 'body' object, an agent needs to know which fields to include. The description outsources this to the GET or /schema endpoint, which is a valid workaround but not self-contained. It does not explain the output schema, the behavior of force_save, or how this creation relates to other import-list operations. The presence of many siblings and an output schema (which is not described) further reduces completeness.

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

Parameters2/5

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

The description provides minimal parameter meaning: 'body' is described as 'Request payload' (tautological) with a pointer to the GET/schema endpoint, and 'force_save' is only labeled as a 'Query parameter' without explaining its purpose. Since schema coverage is 0% and the body is an open object (additionalProperties: true), the description fails to compensate by explaining expected fields or the effect of force_save. This leaves the agent under-informed.

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

Purpose4/5

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

The description states the verb 'Create' and the resource 'ImportList' clearly, which is specific enough to distinguish it from most other create_* tools. It also provides the exact endpoint (POST /api/v3/importlist), adding precision. However, it does not differentiate from closely related siblings like create_importlist_movie or create_importlist_action_by_name, which might cause confusion about which exact operation to invoke.

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

Usage Guidelines2/5

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 the many sibling tools. The description does not mention any prerequisites, alternatives, or exclusions. An agent would have to infer from the name that it creates an import list, but it is not told when to prefer this over related create operations or how to handle bulk operations.

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

create_importlist_action_by_nameC
Idempotent

Create ImportList.

POST /api/v3/importlist/action/{name}

Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already indicate this is not read-only, is idempotent, and is not destructive, so the description does not contradict them. However, it adds no behavioral context beyond 'Create' and the HTTP method — it does not disclose what the action does, what side effects occur, or what happens to existing data. With annotations present, the bar is lower, but the description still contributes little behavioral insight.

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

Conciseness4/5

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

The description is short and front-loaded: purpose, endpoint, then parameter notes. There is no filler or redundancy. It is concise, though its brevity comes at the cost of semantic richness.

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

Completeness2/5

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

The tool has an output schema and annotations, but the description still fails to clarify the actual operation ('action by name'), the meaning of the name parameter in context, and the relationship to sibling importlist tools. For an action endpoint with a dynamic body, the description is too incomplete for an agent to select and invoke it confidently.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It does add some meaning: 'name' is identified as a path parameter and 'body' as a request payload, plus a pointer to the schema/GET endpoints for expected fields. Yet the body remains an opaque additionalProperties object and no actual field semantics are described, leaving the agent dependent on external lookups.

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

Purpose3/5

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

The phrase 'Create ImportList' states a verb and resource, so the basic action is visible. However, it is too generic: the tool name includes 'action_by_name' and the endpoint is /importlist/action/{name}, but the description does not explain what 'action' means or how this differs from create_importlist, create_importlist_test, or create_importlist_testall.

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

Usage Guidelines2/5

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

The only usage guidance is 'Read the matching GET or the /schema endpoint first to see the fields this resource expects,' which is a useful prerequisite but not selection guidance. There is no statement about when to use this tool versus sibling create/list/update/delete importlist tools, and 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.

create_importlistexclusionB
Idempotent

Create ImportListExclusion.

POST /api/v3/importlistexclusion

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already convey readOnly=false, idempotent=true, and destructive=false. The description adds no extra behavioral details such as side effects, authorization needs, or error behavior. It merely restates the creation action, so it does not go beyond what the structured metadata already provides.

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

Conciseness4/5

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

The description is brief and front-loaded: purpose, endpoint, and argument guidance. The endpoint line is somewhat redundant given the name, but it is not harmful and the body guidance is actionable. There is no wasted text, though it could have been even tighter by omitting the endpoint.

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

Completeness3/5

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

The main unknown (body structure) is addressed via the pointer to GET/schema, and the output schema exists. However, the description omits when to use create versus update/delete, and it doesn't describe what happens if an exclusion already exists. Given the open-world body, the pointer may be sufficient for invocation, but overall the description leaves usage context to the agent.

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

Parameters4/5

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

The schema defines 'body' only as an open object with additionalProperties, giving no field information. The description compensates by directing the agent to consult the matching GET or /schema endpoint to discover expected fields. This is a valuable semantic pointer that enables correct invocation, even though it doesn't enumerate the fields.

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

Purpose4/5

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

The description clearly states the action (Create) and the resource (ImportListExclusion), and includes the endpoint. This distinguishes it from update/delete operations on the same resource, though it doesn't explicitly compare to siblings. The purpose is unambiguous and an agent can tell this is for creating a new exclusion.

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

Usage Guidelines2/5

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

No guidance is given on when to choose this tool over update_importlistexclusion_by_id or delete_importlistexclusion_by_id. The only directive is to read the GET or /schema endpoint for body construction, which is a prerequisite, not a condition for tool selection. This leaves the agent to infer when creation is appropriate.

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

create_importlist_testC
Idempotent

Create ImportList.

POST /api/v3/importlist/test

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_testNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

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

Annotations say the tool is not read-only, is idempotent, and is non-destructive, but the description adds little context beyond that. It does not explain that this tests an import list configuration or what side effects may occur, and 'Create ImportList' actively obscures the endpoint's test behavior.

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

Conciseness3/5

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

The description is short and front-loaded, with no verbose filler. However, the first sentence is misleading, and the force_test line adds no information beyond the parameter name.

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

Completeness2/5

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

The presence of an output schema covers return values, but the definition fails to explain the test nature, force_test's role, or how this differs from related importlist tools. An agent would not know whether this operation persists anything or merely validates a configuration.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden of explaining parameters, but it only labels body as 'Request payload' and force_test as 'Query parameter'. The body guidance to consult the schema is somewhat useful, but force_test's meaning remains entirely unexplained.

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

Purpose2/5

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

The description opens with 'Create ImportList', which is misleading for an endpoint at /api/v3/importlist/test – the operation appears to be a test, not a creation. It repeats the create_importlist pattern and does not distinguish itself from create_importlist or create_importlist_testall.

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

Usage Guidelines2/5

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 create_importlist or create_importlist_testall. The only instruction, to read the GET/schema endpoint first, is workflow advice rather than selection criteria.

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

create_importlist_testallC
Idempotent

Create ImportList.

POST /api/v3/importlist/testall

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already provide idempotentHint=true and destructiveHint=false. The description adds only the endpoint path and no behavioral context; the phrase 'Create ImportList' may actively mislead an agent about the actual testall behavior, though it does not directly contradict the annotations.

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

Conciseness2/5

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

The description is extremely short, but this is under-specification rather than effective conciseness. The opening phrase restates the tool name and the endpoint line adds little explanatory value without clarifying the operation.

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

Completeness2/5

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

Even though there are no parameters and an output schema exists, the description leaves the core purpose ambiguous. An agent cannot determine what 'testall' does or why it should choose this tool over its siblings.

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

Parameters4/5

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

The input schema has zero parameters and schema description coverage is 100%, so there is no parameter meaning for the description to add. The baseline of 4 for a parameterless tool applies.

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

Purpose2/5

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

The description says 'Create ImportList' but the tool name and endpoint ('/testall') indicate a testing operation, not creation. It does not explain what 'testall' does and fails to distinguish this tool from close siblings like create_importlist_test or create_importlist.

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

Usage Guidelines1/5

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

There is no guidance about when to use this tool versus alternatives such as create_importlist_test, create_importlist, or create_importlist_action_by_name. No conditions, exclusions, 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.

create_indexerC
Idempotent

Create Indexer.

POST /api/v3/indexer

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior1/5

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

Annotations already cover the safety profile (idempotent, non-destructive, not read-only). The description contributes no extra behavioral context beyond the action itself; it does not explain side effects, permissions, or the meaning/impact of force_save. There is no contradiction, but the description adds zero transparency beyond annotations.

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

Conciseness5/5

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

The description is extremely lean, with a clear endpoint line and a compact args list. Every sentence is purposeful, with no fluff or redundancy, making it highly scannable for an agent. The structure is consistent and front-loaded.

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

Completeness2/5

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

Given the free-form body object and the large sibling tool set, the description is under-specified. It omits the meaning of force_save, any schema for the body, and any guidance on when to choose this tool over test/action variants. The pointer to GET/schema is a useful survival hint, but the description alone does not equip an agent to correctly construct a request.

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

Parameters2/5

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

Schema coverage is 0% for descriptions, so the description must compensate. It labels body as 'Request payload' and points to the GET/schema endpoint for field discovery, which is helpful but still leaves the actual content unspecified. force_save is only noted as a 'Query parameter' with no explanation of its purpose or effect, offering little semantic value.

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

Purpose4/5

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

The description states a clear verb ('Create') and resource ('Indexer') and includes the explicit POST endpoint, which firmly distinguishes it as the direct creation operation. However, it does not differentiate from related tools like create_indexer_test or create_indexer_action_by_name, so it falls short of a perfect score.

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

Usage Guidelines2/5

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 alternatives. The only operational hint is to read the GET or /schema endpoint first, which is a prerequisite rather than usage context. There is no mention of preferring this over create_indexer_test or other sibling tools.

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

create_indexer_action_by_nameC
Idempotent

Create Indexer.

POST /api/v3/indexer/action/{name}

Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior3/5

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

Annotations already indicate a non-read, non-destructive, idempotent operation, so the bar is lower. The description adds useful behavior by warning that body fields must be discovered from the matching GET or /schema endpoint before constructing the payload. It does not contradict the annotations, though it does little else to describe 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.

Conciseness3/5

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

The description is short and mostly front-loaded, with no fluff or repeated schema information. The misleading 'Create Indexer.' line and the bare Args list keep this from being a polished, high-quality structure.

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

Completeness2/5

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

For a tool with a dynamic body schema and many closely related siblings, the description is too thin: it omits the target of 'name', the nature of the action, and when to use this endpoint. The instruction to consult GET/schema is helpful, but it does not make the definition complete enough for reliable selection and invocation.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It clarifies that name is a path parameter and that body is the request payload whose expected fields are dynamic and should be looked up first. However, it never explains what 'name' identifies (indexer name vs action name), which is a key gap.

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

Purpose1/5

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

The description opens with 'Create Indexer.' and gives the endpoint POST /api/v3/indexer/action/{name}, which strongly implies an action performed on an indexer, not creation of an indexer. Because there is a sibling create_indexer, this statement misleads an agent about what the tool actually does and fails to distinguish the action operation.

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

Usage Guidelines2/5

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

It provides a procedural hint to read the matching GET or /schema endpoint before calling, but it never says when this tool should be chosen over create_indexer, create_indexer_test, or the other indexer-related create tools. No exclusions or alternatives are mentioned, leaving usage selection to inference.

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

create_indexer_testC
Idempotent

Create Indexer.

POST /api/v3/indexer/test

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_testNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already indicate idempotentHint=true, readOnlyHint=false, and destructiveHint=false. The description adds little behavioral context: it does not explain whether a test request is performed, whether a resource is actually created, what side effects occur, or what the response represents. The word 'Create' plus the /test endpoint leaves the actual behavior ambiguous.

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

Conciseness3/5

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

The description is compact and scannable, with the endpoint and args listed without filler. However, the opening 'Create Indexer' is misleading and under-specified, so the structure is clean but does not earn its place by conveying the tool's actual purpose.

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

Completeness2/5

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

The description does not clarify the test-versus-create distinction, the meaning of force_test, or how this relates to create_indexer and create_indexer_testall. Given the large sibling set and an opaque body with additionalProperties: true, an agent needs more context to invoke this correctly.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It does give useful guidance for the required body parameter by telling the agent to consult the matching GET or /schema endpoint for field definitions. However, force_test is only described as 'Query parameter' with no explanation of what forcing a test does, so parameter semantics are only partially addressed.

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

Purpose2/5

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

The description says 'Create Indexer,' which essentially restates the non-test portion of the tool name and omits the 'test' concept. The endpoint /api/v3/indexer/test hints at testing, but the text does not clarify whether this creates a persisted indexer or runs a connectivity test, making it hard to distinguish from siblings like create_indexer and create_indexer_testall.

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

Usage Guidelines2/5

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

The only guidance is procedural: read the matching GET or /schema endpoint first to learn expected body fields. There is no statement about when to use this tool instead of create_indexer, create_indexer_testall, or other *_test tools, and no mention of prerequisites or consequences.

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

create_indexer_testallD
Idempotent

Create Indexer.

POST /api/v3/indexer/testall

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.7/5.0
Behavior1/5

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

The description provides no behavioral transparency beyond the misleading 'Create Indexer.' label. It does not explain that this is a test-all operation, whether it modifies stored configuration, or what kind of results it returns. Annotations are not directly contradicted, but the description adds no useful behavioral context and misrepresents the endpoint's purpose.

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

Conciseness2/5

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

The description is short, but the primary sentence 'Create Indexer.' is inaccurate and generic. The endpoint line is the only useful signal, so this is under-specification rather than effective conciseness.

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

Completeness2/5

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

Although the tool has no parameters and an output schema exists, the description still omits the essential context that this endpoint tests all indexers. An agent cannot understand what action is performed, when to call it, or how it differs from create_indexer_test, leaving the endpoint path and sibling names as the only clues.

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

Parameters4/5

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

The input schema has zero parameters and 100% schema description coverage, so there is no parameter detail for the description to add. The 0-parameter baseline applies; no additional parameter semantics are required.

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

Purpose1/5

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

The description says 'Create Indexer.' but the tool name and endpoint /api/v3/indexer/testall indicate this is a test-all action, not a create action. It never mentions testing, and it does not distinguish itself from create_indexer or create_indexer_test, making the stated purpose actively misleading.

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

Usage Guidelines1/5

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

There is no guidance about when to use this tool versus siblings like create_indexer, create_indexer_test, or other *_testall tools. No context, prerequisites, alternatives, 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.

create_languageprofileB
Idempotent

Create LanguageProfile.

POST /api/v3/languageprofile

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

The description adds no behavior beyond what annotations already state. Annotations declare idempotentHint=trueher and destructiveHint=false, and the description simply says 'Create LanguageProfile.' It does not disclose side effects, required permissions, or expected response behavior. No contradiction exists, but no added value is provided.

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

Conciseness4/5

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

The description is compact and well-structured: a clear purpose statement, the HTTP method/path, and the parameter definition. There is minimal verbosity, and the key pointer to schema documentation earns its place. Slight redundancy exists between the title and the first sentence, but overall it is efficient.

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

Completeness4/5

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

Given the generic body object and the presence of an output schema, the description provides a workable path: it explicitly tells the agent to consult the matching GET or /schema endpoint to discover expected fields. This is likely sufficient for a dynamic REST API, though it does not describe any request constraints or examples beyond that pointer.

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

Parameters3/5

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

With schema description coverage at 0%, the description attempts to compensate by labeling body as 'Request payload' and directing the agent to read the matching GET or /schema endpoint for field details. This is helpful but stops short of enumerating any fields or validation rules, leaving the agent to discover them externally.

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

Purpose4/5

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

The description clearly states a specific verb and resource ('Create LanguageProfile') and gives the exact endpoint (POST /api/v3/languageprofile), which unambiguously identifies the operation. It doesn't explicitly contrast with sibling create_* tools, but the resource name and endpoint make the purpose clear.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus other create_* or update_* tools. It only instructs the agent to read the matching GET or /schema endpoint first, which is a preparation step, not usage selection guidance. No alternatives 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.

create_loginC
Idempotent

Create Authentication.

POST /login

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. return_url: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
return_urlNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

The annotations already convey that this is a non-read-only, idempotent, non-destructive operation, and the description adds no behavioral details beyond that. It does not disclose whether an existing session is replaced, whether credentials are required in the body, or what side effects (e.g., issuing an authentication token) occur.

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

Conciseness4/5

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

The description is compact and logically structured: a one-line summary, the endpoint, then argument descriptions. It contains no filler, though the brevity is achieved by leaving important behavioral and usage context out.

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

Completeness2/5

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

For a login/authentication tool, the description omits the most important context: what the agent should do with the result, whether authentication is required for subsequent calls, and how this relates to the logout/login sibling tools. Output schema existence covers return values, but the missing operational context makes the tool hard to use correctly in a broader workflow.

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

Parameters3/5

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

With 0% schema description coverage, the description partially compensates by explaining that body is a request payload whose expected fields must be discovered from the matching GET or /schema endpoint. return_url, however, is only called a 'Query parameter', which adds location but not its meaning or purpose.

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

Purpose3/5

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

The description opens with 'Create Authentication.' and gives the endpoint 'POST /login', which identifies the operation as creating an authentication/login resource. However, it never explains what 'authentication' means in practice (e.g., logging in, receiving a session/token), so the purpose remains somewhat vague and weakly differentiated from the abstract create_* pattern in the sibling list.

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

Usage Guidelines2/5

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

There is no explicit statement of when to call this tool versus alternatives like list_login or list_logout. The only guidance is to read the matching GET or /schema endpoint before supplying the body, which is parameter preparation rather than usage context for choosing the tool.

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

create_manualimportC
Idempotent

Create ManualImport.

POST /api/v3/manualimport

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the mutation nature is covered. However, the description adds only a prerequisite about reading the schema; it does not disclose what happens after creation (e.g., side effects, reversibility, or processing implications). For a non-read tool, this lack of behavioral context is a gap that annotations partially mitigate but do not fully fill.

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

Conciseness4/5

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

The description is brief and to the point, with a clear 'Args' section. It avoids unnecessary fluff and front-loads the action and endpoint. While sparse, it does not waste words, making it appropriately concise for the limited information it provides.

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

Completeness2/5

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

The tool has a nested object parameter and an output schema, so an agent needs more context than what is given. The description instructs the agent to consult external endpoints, but it never explains what a manual import is, what the effect of creation is, or how the response relates to the request. This reliance on external lookups leaves the definition incomplete for safe and correct invocation.

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

Parameters3/5

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

Schema description coverage is 0%, and the only parameter 'body' is an open object. The description adds value by indicating that 'body' is a request payload and directing the agent to the matching GET or /schema endpoint for field details. This is a useful pointer but does not actually describe any fields, so it only partially compensates for the missing schema documentation.

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

Purpose2/5

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

The description says 'Create ManualImport' which is essentially a restatement of the tool name with a verb. It does not explain what a ManualImport is or what creating one accomplishes, nor does it distinguish this from siblings like create_movie_import or create_importlist_movie. The HTTP endpoint is provided but adds no semantic clarity. This is barely above a tautology.

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

Usage Guidelines1/5

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. The only instruction, 'Read the matching GET or the /schema endpoint first,' addresses parameter preparation, not usage selection. No conditions, exclusions, or alternative tool mentions are given, leaving the agent to guess when this is the right choice among dozens of create_* tools.

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

create_metadataC
Idempotent

Create Metadata.

POST /api/v3/metadata

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already cover the core read/write/idempotent profile, and the description adds a useful caveat: the body fields are not static and must be discovered via GET or /schema. No other behavioral details like auth, error modes, or side effects are provided, so it earns a mid score.

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

Conciseness4/5

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

Tight and organized: action, endpoint, then args. No filler. However, the args section is so terse that it borders on under-specification rather than concise clarity.

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

Completeness2/5

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

Despite an output schema, the description leaves the agent reliant on external endpoints to learn the body shape and gives no semantic for force_save. For a creation tool, it doesn't state response behavior or side effects, making it incomplete in context.

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

Parameters2/5

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

With 0% schema coverage, the description should explain both parameters. For body it points to GET/schema for fields, which is helpful; for force_save it only repeats that it's a query parameter, adding no meaning beyond 'boolean'.

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

Purpose4/5

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

Clearly states verb 'Create' and resource 'Metadata', reinforced by the explicit POST endpoint. It doesn't distinguish itself from siblings like create_metadata_test or create_metadata_action_by_name, but the core action is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus the many sibling create_* tools, no exclusions or alternatives. The only instruction is to consult GET/schema before constructing the body, which is about parameter discovery, not usage context.

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

create_metadata_action_by_nameB
Idempotent

Create Metadata.

POST /api/v3/metadata/action/{name}

Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a meaningful behavioral pointer: the body fields are dynamic and should be discovered from the matching GET or schema endpoint. It does not disclose auth requirements or side effects, but the annotations carry much of that burden.

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

Conciseness5/5

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

The description is compact and front-loaded with the endpoint, followed by minimal parameter explanations. Every line serves a purpose, and there is no redundant prose.

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

Completeness3/5

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

Given the open-ended body and the presence of an output schema, the description points to the right discovery mechanism and covers invocation prerequisites reasonably well. However, it does not explain what a metadata action is, what name refers to, or how this call fits into the broader metadata lifecycle, leaving some context gaps for an agent choosing this tool.

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

Parameters3/5

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

Schema coverage is 0%, and the body is an open additionalProperties object, so the description must compensate. It does clarify that name is a path parameter, body is the request payload, and that the body's expected fields should be discovered via GET or /schema. This is helpful, but it leaves the semantics of 'name' and the actual body structure almost entirely to external discovery.

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

Purpose3/5

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

The description says 'Create Metadata.' and gives the endpoint, which identifies the resource and HTTP method, but it never explains what a 'metadata action' is or how this differs from the sibling create_metadata tool. The resource is vaguely described and the purpose is not substantially clearer than the tool name.

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

Usage Guidelines2/5

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 create_metadata, create_metadata_test, or other create_* tools. The instruction to 'Read the matching GET or the /schema endpoint first' is a useful prerequisite but does not help an agent decide between this tool and its siblings.

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

create_metadata_testC
Idempotent

Create Metadata.

POST /api/v3/metadata/test

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_testNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds no behavioral context beyond those annotations: it does not disclose that this is a test operation, what side effects it has, or how it differs from a regular create. No contradiction was found.

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

Conciseness4/5

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

The description is brief and front-loaded, with the purpose first, then the endpoint, then the parameters. It contains little waste, although the force_test line mostly repeats what the schema already shows.

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

Completeness2/5

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

For a tool sitting among many create_* siblings, the description omits the test-specific purpose, the semantics of force_test, and when this endpoint should be chosen. The body can be discovered through the schema and an output schema exists, but the core decision context is missing.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It gives a useful pointer for body — read the matching GET or /schema endpoint first — which matters because the schema defines body as an opaque object. However, force_test is merely labeled 'Query parameter,' adding no meaning about how the boolean affects behavior.

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

Purpose4/5

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

The description clearly names an action ('Create Metadata') and specifies the endpoint (POST /api/v3/metadata/test), so an agent can identify the basic operation. However, it does not explain that this is the test variant and does not distinguish it from the sibling create_metadata, so differentiation is absent.

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

Usage Guidelines2/5

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

There is no when-to-use guidance or comparison with alternatives. The only hints are the '/test' suffix and the instruction to read a GET or /schema endpoint before supplying the body, but the description never states when to choose this over create_metadata or create_metadata_testall.

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

create_metadata_testallC
Idempotent

Create Metadata.

POST /api/v3/metadata/testall

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

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

Annotations cover read-only, idempotent, and destructive hints, but the description adds no behavioral context beyond the HTTP method and path. It does not explain what "testall" does, whether it triggers side effects, or what kind of response to expect. There is no contradiction with the annotations.

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

Conciseness2/5

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

The description is short, but this is under-specification rather than effective conciseness. "Create Metadata." adds no information beyond the name, and the bare endpoint does not earn its place by clarifying the operation.

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

Completeness2/5

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

Despite having no parameters and an output schema, the description remains incomplete because it fails to state what the testall endpoint actually does. An agent cannot determine the purpose, prerequisites, or effect of calling this tool without relying on the URL path alone.

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

Parameters4/5

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

The tool has zero parameters and 100% schema coverage, so there is nothing the description needs to add about parameter semantics. The baseline of 4 applies for a parameterless tool.

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

Purpose2/5

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

The description is essentially a restatement of the tool name, saying only "Create Metadata." It omits the critical "testall" action, and the endpoint path is the only clue that this may test all metadata providers. The phrase "Create Metadata" is misleading and fails to distinguish this tool from siblings like create_metadata or create_metadata_test.

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

Usage Guidelines1/5

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

There is no guidance about when to use this tool versus alternatives. The description actively misleads by implying a create operation, while the endpoint path suggests a test-all operation. No alternatives, exclusions, or conditions are provided.

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

create_notificationC
Idempotent

Create Notification.

POST /api/v3/notification

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations cover basic read/write/idempotency traits, but the description adds little behavioral context beyond the endpoint and a pointer to the schema. It does not disclose side effects, such as whether creating a notification sends something, requires specific permissions, or has retry consequences. No contradiction with annotations exists, but the description carries little extra behavioral weight.

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

Conciseness4/5

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

The description is compact and well organized: title, endpoint, then argument notes. It avoids filler and front-loads the essential operation. The only minor issue is that 'Create Notification.' repeats the tool name, but the overall structure is efficient.

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

Completeness2/5

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

For a create operation inside a large API with many sibling create tools, this description leaves too much unspecified: what a notification is in this system, when to choose this over notification test/action variants, and what force_save actually does. The output schema exists, so return values do not need explanation, but the surrounding context is still under-specified.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It identifies body as the request payload and instructs the agent to read the matching GET or /schema endpoint for the expected fields, which is genuinely useful for an opaque object. force_save is only labeled as a query parameter with no explanation of its effect, so compensation is partial.

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

Purpose4/5

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

The description states a clear verb and resource: 'Create Notification.' and reinforces it with the endpoint. However, it does not distinguish this from closely related siblings like create_notification_action_by_name, create_notification_test, or create_notification_testall, so the purpose is clear but the differentiation is missing.

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

Usage Guidelines2/5

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 alternative notification-related create tools. The only operational advice is to read the matching GET or /schema endpoint before constructing the body, which is a prerequisite rather than usage guidance. No exclusions, alternatives, or conditions are provided.

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

create_notification_action_by_nameB
Idempotent

Create Notification.

POST /api/v3/notification/action/{name}

Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already provide idempotentHint=true, readOnlyHint=false, and destructiveHint=false, and the description's 'Create Notification' is consistent with those. The description adds little behavioral detail beyond what annotations already convey, but it does not contradict them.

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

Conciseness4/5

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

The description is concise and front-loaded with a clear action. The endpoint and argument notes are relevant, and the text avoids unnecessary filler.

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

Completeness3/5

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

For an open-ended create operation with a body object that allows arbitrary properties, the instruction to read the matching GET or /schema endpoint is necessary and provided. Missing is any explanation of what 'action/{name}' means or when this variant differs from create_notification, which would help an agent invoke it correctly.

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

Parameters3/5

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

With 0% schema description coverage, the description must compensate; it does so for body by directing the agent to consult the matching GET or /schema endpoint for the expected fields, which is important since body has additionalProperties=true. The name parameter, however, is only called a path parameter, adding no semantic meaning beyond the schema's title.

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

Purpose4/5

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

The description opens with a clear verb and resource ('Create Notification') and provides the endpoint path, making the action unambiguous. However, it does not explicitly differentiate this tool from siblings like create_notification or create_notification_test, so the 'action_by_name' variant is not fully distinguished.

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

Usage Guidelines2/5

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 instead of create_notification or create_notification_test. The only practical instruction, to read the matching GET or /schema endpoint before supplying the body, concerns payload preparation rather than tool selection.

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

create_notification_testD
Idempotent

Create Notification.

POST /api/v3/notification/test

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
force_testNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.6/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds no behavioral context beyond that, such as what a test does, whether it triggers external side effects, or what a successful response indicates. The vague 'Create Notification' provides no additional transparency.

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

Conciseness2/5

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

The description is extremely short but not well-structured. It contains a single vague sentence, an endpoint URL, and a list of arguments with minimal explanations. While it is concise, it is under-specified and does not effectively front-load key information like the test nature of the operation.

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

Completeness1/5

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

This is a test endpoint with a nested object parameter, an output schema, and many sibling test tools. The description does not explain what the test does, what the response indicates, or when to use it. It is severely incomplete for an agent to correctly invoke and interpret the result.

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

Parameters1/5

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

Schema description coverage is 0%. The description only tells the agent to read the GET or /schema endpoint for the body fields, offering no semantic meaning for the body payload. It also mentions force_test as a query parameter without explaining its purpose. The description fails to compensate for the lack of schema documentation.

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

Purpose2/5

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

The description says 'Create Notification' but the endpoint is /test, implying a test action rather than actual creation. It fails to clarify that this sends a test notification to verify configuration, and does not distinguish it from sibling tools like create_notification_testall or create_notification. The verb 'Create' is misleading for a test operation.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. It does not mention that this is for testing a single notification configuration, nor does it reference create_notification_testall for testing all notifications or create_notification for permanent creation. No context or exclusions are given.

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

create_notification_testallD
Idempotent

Create Notification.

POST /api/v3/notification/testall

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.8/5.0
Behavior1/5

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

Annotations declare idempotentHint true and destructiveHint false, but the description adds no behavioral context beyond the endpoint. It doesn't disclose that this likely sends test notifications to all configured services, nor any failure modes or side effects. It adds zero value beyond the structured fields.

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

Conciseness2/5

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

The description is extremely brief, with only a single sentence and an endpoint. While it is concise in length, it is under-specified and not well-structured – it lacks context and is not front-loaded with the most important info, which would be the operation's purpose.

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

Completeness1/5

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

The tool has simple semantics (no parameters) but the description fails to explain its core behavior. It doesn't clarify that it's a test operation, which is critical given the sibling create_notification. The presence of an output schema doesn't compensate for the lack of purpose explanation.

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

Parameters4/5

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

There are zero parameters, so the schema is trivially complete. The description does not need to explain parameters, and the baseline for zero-parameter tools is 4. However, the description could have noted that no input is required, but this is not a major gap.

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

Purpose2/5

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

The description is essentially a tautology – 'Create Notification' restates the tool name without explaining the 'testall' action. It does not distinguish this from create_notification, which is a separate sibling. The endpoint is mentioned but not explained, leaving the agent unable to know whether this creates a config or sends test notifications.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus create_notification_test or create_notification. There is no mention of prerequisites, side effects, or alternative operations.

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

create_qualityprofileB
Idempotent

Create QualityProfile.

POST /api/v3/qualityprofile

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

The annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false, but the description adds no side-effect, permission, or failure-mode context beyond the word 'Create'. Mentioning POST is structural rather than behavioral.

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

Conciseness4/5

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

The description is compact and front-loaded, with the core action first and the payload guidance immediately after. It avoids filler and does not redundantly restate the input schema.

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

Completeness4/5

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

Given the single opaque body parameter, the description adequately directs the agent to the schema/GET endpoint for field discovery. The output schema and annotations cover return and safety semantics, so the remaining guidance is sufficient for a competent agent to invoke this tool.

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

Parameters4/5

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

The body parameter is an opaque object with additionalProperties: true, so the schema provides no field-level meaning. The description identifies the body as a 'Request payload' and instructs the agent to consult the matching GET or /schema endpoint for expected fields, which is essential compensating guidance.

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

Purpose4/5

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

The description states the specific action ('Create') and resource ('QualityProfile') and includes the HTTP endpoint. It is clear enough to distinguish from update_qualityprofile_by_id and delete_qualityprofile_by_id, though it does not explicitly differentiate from other create_* tools.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of alternatives like update_qualityprofile_by_id. The only usage hint is to read the matching GET or /schema endpoint first, which helps construct the payload but does not help the agent decide when this tool 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.

create_queue_grab_bulkC
Idempotent

Create QueueAction.

POST /api/v3/queue/grab/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and idempotent (idempotentHint=true), so the description does not contradict them. It adds a hint to fetch the schema first, which is useful, but it does not disclose side effects such as initiating downloads or what happens to the queue. Given the annotations cover the safety profile, 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.

Conciseness4/5

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

The description is very short and to the point, with the verb front-loaded and the endpoint and arg hint in a clear structure. It wastes no words, but the brevity borders on under-specification; still, it earns a 4 for being concise and well-organized.

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

Completeness2/5

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

For a write operation with an open body and no schema coverage, the description is incomplete. It does not explain what a QueueAction is, what bulk grabbing entails, or how it differs from single grabs. The output schema exists so return format is not needed, but the agent still lacks critical context about the operation's semantics and payload requirements. The pointer to schema helps but is not sufficient.

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

Parameters2/5

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

The schema has one 'body' parameter with additionalProperties true and 0% description coverage, so the description carries the burden of explaining the payload. It only says 'Request payload' and tells the agent to read the GET or /schema endpoint for fields, which is a pointer but not actual semantic detail. It does not compensate for the lack of schema documentation, though the pointer is a helpful strategy.

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

Purpose4/5

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

The description states a specific action ('Create QueueAction') and gives the HTTP endpoint, so an agent can tell it is a creation operation for grabbing queue items in bulk. It is not a tautology, but the term 'QueueAction' is somewhat ambiguous without further context; the name and endpoint help distinguish it from single-item operations like create_queue_grab_by_id.

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

Usage Guidelines2/5

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

The only guidance is to read the matching GET or /schema endpoint first, which addresses how to construct the body but not when to use this tool versus alternatives. There is no mention of bulk vs single grabs, or any condition for choosing this over create_queue_grab_by_id or other queue-related operations. The usage context is left to 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.

create_queue_grab_by_idD
Idempotent

Create QueueAction.

POST /api/v3/queue/grab/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.6/5.0
Behavior2/5

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

Annotations already convey readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds no further behavior: it doesn't disclose side effects on the queue (e.g., state changes), prerequisites, or consequences. With annotations present, the bar is lowered but the description still contributes almost nothing beyond them.

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

Conciseness2/5

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

While short, the description is under-specified. It repeats the endpoint and parameter without adding value. Every sentence is redundant with the name or schema, so it does not earn its place. This is not concise; it is sparse and unhelpful.

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

Completeness1/5

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

For a tool that performs an action on a queue item, the description is severely incomplete. It omits what 'grab' does, when to use it, and how it differs from bulk operations. Even with an output schema present, an agent cannot understand the operation's purpose or effect from this definition.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate, but it merely says 'id: Path parameter' which duplicates the endpoint and schema. It provides no additional meaning about the ID, its format, or its role in grabbing. The baseline for low coverage is a failed compensation.

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

Purpose2/5

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

The description says 'Create QueueAction' which is a generic verb+resource but doesn't explain what a QueueAction is or what 'grab' means. It restates the endpoint and parameter but adds no semantic distinction from sibling tools like create_queue_grab_bulk. The purpose is only as clear as the name already is.

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

Usage Guidelines1/5

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 grab a queue item, what the action does, or that a bulk variant exists. The description provides zero context for selection.

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

create_releaseA
Idempotent

Create Release.

POST /api/v3/release

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=true, covering the safety and mutation profile. The description adds the tip to consult GET/schema endpoints, which is a behavioral note about how to construct the request. It does not mention idempotency or what happens on duplicate creation, but with annotations present, the added value is modest.

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

Conciseness5/5

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

The description is extremely concise and well-structured. It leads with the action, provides the exact HTTP endpoint, and gives a clear instruction for handling the body parameter. Every sentence serves a purpose, and there is no redundancy.

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

Completeness3/5

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

Given that an output schema exists and the tool is a straightforward creation POST, the description is adequate but not rich. It does not describe the return value (though the output schema covers that), nor does it mention authentication or error scenarios. The pointer to GET/schema is important, but more context about expected behavior (e.g., idempotency confirmation) could be added. Overall, it is minimally complete for an agent that can follow the schema-reading instruction.

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

Parameters4/5

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

The only parameter is 'body', an open object with additionalProperties true. The schema provides no field details (0% coverage), so the description's guidance to read the matching GET or /schema endpoint is essential and adds real meaning. It tells the agent how to discover the required fields, partially compensating for the sparse schema.

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

Purpose4/5

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

The description states the verb and resource clearly: 'Create Release.' It is distinct from siblings like create_release_push or create_releaseprofile, though it does not explicitly differentiate them. The purpose is unambiguous enough for an agent to know it creates a release resource.

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

Usage Guidelines3/5

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

The description gives a useful prerequisite: 'Read the matching GET or the /schema endpoint first to see the fields this resource expects.' This tells the agent how to prepare, but it does not explain when to choose this tool over alternatives (e.g., create_release_push) or any exclusion criteria. The guidance is implied rather than explicit.

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

create_releaseprofileA
Idempotent

Create ReleaseProfile.

POST /api/v3/releaseprofile

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare idempotent and non-destructive behavior. The description adds the guidance to consult the schema for expected fields, which is a useful behavioral hint. It does not contradict annotations and doesn't add further side-effects or auth details, but given annotation coverage, a 3 is appropriate.

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

Conciseness5/5

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

The description is highly concise: a clear purpose statement, the endpoint, and a single parameter with a helpful hint. There is no redundancy, and every line carries meaningful information, making it an exemplary compact definition.

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

Completeness3/5

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

Given the existence of an output schema and the pointer to GET/schema for field details, the description is reasonably complete for a simple create operation. However, it lacks any mention of response handling, required fields upfront, or potential edge cases, so it is not fully complete on its own.

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

Parameters3/5

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

The description explains that 'body' is the request payload and directs the agent to the schema for field definitions. Since schema description coverage is 0%, this pointer is valuable, but it does not list any specific fields or structure, so it only partially compensates for the absent schema descriptions.

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

Purpose4/5

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

The description clearly states the verb 'Create' and the resource 'ReleaseProfile', and also provides the HTTP endpoint. It is distinguishable from siblings by the resource name, but it does not explicitly contrast with other create tools, so it lacks active differentiation.

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

Usage Guidelines3/5

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

The description advises reading the matching GET or /schema endpoint before constructing the body, which is a clear usage guideline. However, it does not mention when to prefer this tool over alternatives like update_releaseprofile_by_id, nor does it state any exclusions or prerequisites beyond that.

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

create_release_pushB
Idempotent

Create ReleasePush.

POST /api/v3/release/push

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds the instruction to read the schema first, which is a behavioral context about how to construct the body. It does not contradict annotations and provides a small additional hint, but it does not elaborate on side effects, authentication, or rate limits. This is acceptable given the annotations 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.

Conciseness4/5

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

The description is compact and efficient, consisting of two sentences. The action and endpoint are front-loaded, and the instruction to read the schema is clearly placed. There is no wasted wording, and the length is appropriate for the sparse content.

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

Completeness2/5

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

For a create operation with an open-ended body and no field documentation, the description relies on the agent fetching the schema. It does not explain what a ReleasePush is or its purpose, nor does it clarify the distinction from the closely named create_release. Given the large sibling list, more context about when and why to use this tool is needed for an agent to call it correctly.

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

Parameters3/5

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

The input schema only defines 'body' as an open object with additionalProperties:true and no field descriptions. Schema description coverage is 0%. The description compensates by directing the agent to fetch the GET or /schema endpoint to learn the expected fields, which is a practical strategy. However, it does not itself explain the parameters or their semantics, so the added meaning is limited to a discovery instruction.

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

Purpose3/5

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

The description states the verb 'Create' and the resource 'ReleasePush', which is a clear action-resource pair. However, it does not explain what a ReleasePush actually is, nor does it differentiate it from the sibling tool create_release, which also creates a release-related resource. The endpoint is provided but the semantic purpose remains vague.

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

Usage Guidelines3/5

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

The description gives a useful usage hint: 'Read the matching GET or the /schema endpoint first to see the fields this resource expects.' This tells the agent to discover the required body structure before calling. However, it does not specify when to use this tool versus alternatives like create_release, nor does it mention any exclusions or specific scenarios.

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

create_remotepathmappingA
Idempotent

Create RemotePathMapping.

POST /api/v3/remotepathmapping

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

The description aligns with annotations (write operation, non-destructive, idempotent) and adds a practical pointer to fetch the schema first. It does not contradict any annotation, but it does not disclose additional behavioral traits such as side effects, required permissions, or rate limits. Given annotations already carry the safety profile, the added context is modest.

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

Conciseness5/5

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

The description is extremely concise: two sentences and an args line, with the core purpose front-loaded. Every sentence earns its place, and there is no redundant information. It is well-structured for quick parsing.

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

Completeness4/5

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

Given that an output schema exists and the single parameter is a free-form object, the description adequately directs the agent to the necessary schema documentation. It does not explain the semantic purpose of a RemotePathMapping, but that is not essential for correct invocation. The description is complete enough for an agent to know how to proceed, though it lacks any note on required vs optional fields.

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

Parameters3/5

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

The schema has 0% description coverage for the single 'body' parameter, which is a free-form object. The description compensates by explicitly instructing the agent to consult the GET or /schema endpoint for field definitions. This is helpful but stops short of enumerating any fields or required properties, so the agent must perform an extra step to understand the payload.

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

Purpose4/5

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

The description clearly states the action ('Create') and the resource ('RemotePathMapping'), and includes the HTTP endpoint. It is specific enough to distinguish from update/delete/get operations, though it relies on the resource name rather than elaborating what a RemotePathMapping is.

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

Usage Guidelines3/5

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

It gives the explicit instruction to read the matching GET or the /schema endpoint first to understand expected fields, which is useful for invocation. However, it does not contrast with update or delete tools, nor does it state when this tool is preferred over alternatives. The guidance is present but not comparative.

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

create_rootfolderB
Idempotent

Create RootFolder.

POST /api/v3/rootfolder

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

Annotations already indicate this is a mutating, non-destructive, idempotent operation. The description adds little behavioral context beyond 'Create' and the HTTP method; it does not disclose side effects, validation behavior, or error conditions.

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

Conciseness5/5

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

The description is short, direct, and front-loaded with the action and endpoint. Every sentence earns its place, and the pointer to GET/schema is a compact and useful addition.

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

Completeness4/5

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

For a single-body create tool with an output schema and relevant annotations, the description is adequately complete. The main missing piece is behavioral detail, but the instruction to read GET/schema covers the primary unknown: what body fields are expected.

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

Parameters3/5

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

The schema only documents 'body' as an opaque object, so the description's clarification that it is a request payload and the guidance to consult GET or /schema for expected fields adds actionable value. Still, it does not enumerate any RootFolder fields, leaving a discovery round-trip necessary.

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

Purpose4/5

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

The description clearly states the action ('Create') and the resource ('RootFolder'), and provides the HTTP endpoint. While it doesn't explain what a RootFolder is, the resource name is enough to distinguish it from the many sibling create_* tools.

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

Usage Guidelines3/5

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

It implies use when creating a RootFolder and gives a useful prerequisite: read the matching GET or /schema endpoint first. However, it does not state when to prefer this tool over alternatives or provide any exclusion criteria.

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

create_seasonpassB
Idempotent

Create SeasonPass.

POST /api/v3/seasonpass

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare the operation is not read-only, is idempotent, and is not destructive. The description adds a useful hint to read the matching GET or /schema endpoint to understand the request body fields, which is a behavioral trait (how to obtain the input schema). It does not contradict annotations and adds modest context, so a 3 is appropriate.

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

Conciseness5/5

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

The description is minimal and front-loaded with the core purpose ('Create SeasonPass'). It includes the endpoint and a single argument note without extraneous wording. It is efficient and easy to parse, warranting a 5.

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

Completeness4/5

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

For a create operation with an open body, the description provides the essential instruction to consult the GET/schema endpoint for the field definitions. The output schema exists, so return details are not needed. Annotations cover safety and idempotency. The only gap is the lack of usage guidance, which is already accounted for. Overall, it is reasonably complete for an agent to call it correctly, though it could be more explicit about when to use it. A 4 reflects that it is mostly complete.

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

Parameters3/5

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

The input schema has a single 'body' parameter of type object with additionalProperties allowed, and the schema description coverage is 0%. The description instructs the agent to read the matching GET or /schema endpoint to see the fields, which is a practical pointer but does not describe any specific fields. This partially compensates for the lack of schema documentation, but leaves the agent to fetch the details elsewhere, so a 3 is fair.

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

Purpose4/5

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

The description states a clear verb ('Create') and resource ('SeasonPass'), and the endpoint is given. It is distinct from other create_* tools because 'SeasonPass' is unique among siblings. However, it does not explicitly contrast with alternatives, so it earns a 4 rather than a 5.

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

Usage Guidelines2/5

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 only states the action and endpoint. There is no mention of prerequisites, exclusions, or alternative tools. This leaves the agent to infer usage from the name alone, which is insufficient.

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

create_seriesC
Idempotent

Create Series.

POST /api/v3/series

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false, idempotentHint=true, and destructiveHint=false, and the description adds little behavioral context beyond the HTTP method and path. It does not explain side effects, auth requirements, duplicate handling, or validation behavior, so it fails to enrich what the annotations already convey.

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

Conciseness4/5

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

The description is brief and front-loads the action and endpoint, with no filler. The structured Args section is efficient, though it relies heavily on an external endpoint rather than providing direct parameter detail.

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

Completeness3/5

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

Given a single dynamic body parameter and an existing output schema, the pointer to the schema/GET endpoint is the critical missing piece and is present. Still, the description lacks details about required nested fields, idempotency implications, and how this tool differs from create_series_import, leaving some ambiguity for the agent.

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

Parameters3/5

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

Schema coverage is 0%, so the description bears the burden for the body parameter. It helpfully identifies body as the request payload and instructs the agent to read the matching GET or /schema endpoint to discover expected fields, which is meaningful for an additionalProperties:true object. However, it does not enumerate any concrete fields or provide examples.

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

Purpose4/5

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

The description states a specific verb and resource ('Create Series') plus the HTTP endpoint POST /api/v3/series, making the operation clear. It does not explicitly distinguish from related siblings like create_series_import, but the primary 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.

Usage Guidelines2/5

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

The description provides a prerequisite (read the matching GET or /schema endpoint first) but gives no guidance on when to use create_series versus related create or update tools. There are no alternatives or exclusions mentioned.

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

create_series_importB
Idempotent

Create SeriesImport.

POST /api/v3/series/import

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the core behavioral profile is covered. The description adds the HTTP method and the important precondition that the body fields must be discovered via GET or /schema. It does not describe side effects or response behavior, but the burden on the description is lower because annotations are present.

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

Conciseness5/5

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

The description is only a few lines with no filler. The purpose and endpoint are front-loaded, and the only extra instruction is essential because the body schema is opaque. Every sentence earns its place.

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

Completeness3/5

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

For an open-body create operation, the description provides the critical workaround of consulting GET or /schema and gives the endpoint. However, it does not explain what a SeriesImport is, when to use it instead of related create tools, or what behavioral effects to expect beyond the annotations. Since an output schema exists and annotations cover idempotency and destructiveness, the description is adequate but not complete.

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

Parameters4/5

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

The input schema has 0% description coverage and body is an open additionalProperties object, so the description carries the parameter-documentation burden. It explicitly identifies body as the request payload and tells the agent to read the matching GET or /schema endpoint to learn the expected fields. That is meaningful compensation for an otherwise empty parameter schema.

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

Purpose4/5

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

The description names the verb 'Create' and the resource 'SeriesImport' and gives the exact endpoint, so what the tool does is clear. It is distinguishable from nearby siblings like create_series and create_importlist by the dedicated resource and route. It does not explain what a 'SeriesImport' is, but the endpoint removes most ambiguity.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to choose this tool versus sibling create tools. The instruction to 'Read the matching GET or the /schema endpoint first' is procedural preparation, not a usage-selection criterion. The agent must infer that creating a SeriesImport is the intended use based on the name and endpoint.

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

create_system_backup_restore_by_idD
Idempotent

Create Backup.

POST /api/v3/system/backup/restore/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.6/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the description needs to add behavioral context such as 'triggers a restore of the backup identified by id' or 'replaces current database state.' It adds none; 'Create Backup.' only mislabels the behavior.

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

Conciseness2/5

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

The text is short but not usefully concise: the phrase 'Create Backup.' is wrong, and 'Args: id: Path parameter' only restates the URL. No meaningful information has been organized or front-loaded.

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

Completeness2/5

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

Although this is a simple one-parameter call with an output schema, the core action is mislabeled and the meaning of the id parameter is undocumented. An agent could not reliably choose or invoke this tool correctly from this definition alone.

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

Parameters2/5

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

Schema description coverage is 0% and the only parameter is a bare 'id' integer. The description repeats that id is a path parameter, which the endpoint template already shows, but never explains that the id refers to a system backup to restore. This is minimal compensation for the missing schema documentation.

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

Purpose1/5

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

The description says 'Create Backup.' but the endpoint is POST /api/v3/system/backup/restore/{id}, which is a restore operation, not backup creation. This is actively misleading and does not tell an agent what resource is acted on or how it differs from sibling restore/backup tools.

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

Usage Guidelines1/5

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

There is no guidance on when to call this tool versus alternatives like create_system_backup_restore_upload or delete_system_backup_by_id. The wrong action label ('Create Backup') further obscures the correct use case instead of clarifying it.

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

create_system_backup_restore_uploadC
Idempotent

Create Backup.

POST /api/v3/system/backup/restore/upload

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already indicate this is a non-read-only, idempotent, non-destructive operation, but the description adds no behavioral context. It does not mention that this is an upload/restore action or reveal any effects on the system, such as replacing or restoring backup state.

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

Conciseness4/5

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

The definition is very concise, with the endpoint included and no filler text. However, the brevity comes at the expense of necessary meaning, since 'Create Backup.' is skeletal and somewhat misleading.

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

Completeness2/5

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

Critical context is missing: the description does not explain that this is a restore/upload operation, how it differs from related backup tools, or what request body or file is required. The endpoint path provides only a weak signal, and the annotations and output schema do not fill the gap.

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

Parameters4/5

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

The input schema has zero parameters, so the description is not required to document parameter details. However, the description also does not mention that this operation may require an upload body or file content, so it adds no meaningful parameter-level clarification.

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

Purpose2/5

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

The description reads 'Create Backup.' but the tool name and endpoint path indicate a backup restore/upload operation. It does not clearly state that this tool uploads a backup file to restore the system, and it is likely to be confused with creating a backup or with create_system_backup_restore_by_id.

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

Usage Guidelines1/5

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, what problem it solves, or which sibling tool should be chosen instead. There is no mention of alternatives such as create_system_backup_restore_by_id, leaving the agent to infer usage from the endpoint alone.

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

create_system_restartC
Idempotent

Create System.

POST /api/v3/system/restart

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already indicate this is non-read-only, idempotent, and non-destructive, but the description adds no behavioral context beyond repeating the endpoint. It never warns that restarting the system will temporarily interrupt service or that privileged access may be required. No contradiction with the annotations exists.

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

Conciseness2/5

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

The description is short but not effectively concise: 'Create System.' is filler that obscures the restart action, and the useful endpoint is separated from that misleading label. This is under-specification rather than disciplined conciseness.

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

Completeness2/5

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

For a zero-parameter tool with an output schema and annotations, the description does not need to document parameters or returns. However, it omits the operational consequence of restarting the system and the misleading 'Create System.' wording makes it less complete than a simple 'Restarts the system' would be.

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

Parameters4/5

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

The tool has zero parameters and the input schema fully covers that, so the description owes no parameter-level detail. The endpoint implies a parameterless call, and there is nothing more the description needs to explain here.

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

Purpose2/5

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

The first sentence 'Create System.' is vague and misleading—it does not name 'restart' and merely restates part of the operation name. The embedded POST /api/v3/system/restart URL reveals the intended action, but the prose itself fails to clearly state that this tool restarts the system or to distinguish it from create_system_shutdown.

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

Usage Guidelines2/5

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 contains only a generic label and an HTTP endpoint, with no preconditions, no effect context, and no mention of related operations like create_system_shutdown.

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

create_system_shutdownC
Idempotent

Create System.

POST /api/v3/system/shutdown

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already indicate the operation is not read-only, is idempotent, and is not marked destructive, but the description adds no behavioral detail beyond the endpoint. It does not disclose that the action powers the system down, what side effects occur, or what the response represents; the misleading 'Create System.' line actively obscures the behavior.

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

Conciseness2/5

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

The description is short, but the opening sentence 'Create System.' is filler and misleading, while the genuinely useful endpoint is buried after a blank line. It should lead with the shutdown action and omit the rest.

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

Completeness3/5

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

Given zero parameters and an output schema, the tool is invocable from the endpoint alone, making this minimally viable. However, it lacks a plain statement of the operation's purpose and effects, so the agent must infer shutdown semantics from the URL.

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

Parameters4/5

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

The input schema has zero properties, so there are no parameter semantics for the description to clarify. Baseline 4 is appropriate because nothing is missing for invocation.

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

Purpose2/5

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

The description leads with 'Create System.' which is misleading and does not convey that this tool shuts down the system. The endpoint path 'POST /api/v3/system/shutdown' gives a technical hint, but the natural-language purpose is missing and it fails to distinguish the tool from create_system_restart.

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

Usage Guidelines2/5

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 or when to prefer an alternative such as create_system_restart. The description only contains an endpoint, not situational context, prerequisites, or exclusions.

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

create_tagB
Idempotent

Create Tag.

POST /api/v3/tag

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already flag this as a mutating, idempotent, non-destructive operation; the description adds only the HTTP verb and a payload-discovery instruction, not deeper behavioral context such as auth requirements or error/side-effect behavior. It does not contradict the annotations, but it contributes little beyond them.

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

Conciseness5/5

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

The description is compact and front-loaded: operation, endpoint, and the single argument are each stated in a few short lines. Every sentence serves a purpose, and there is no redundant filler.

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

Completeness3/5

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

Because the body schema is opaque, the description's instruction to first read a GET or /schema endpoint is essential and partially fills the gap. It remains vague about which matching GET is intended and gives no tag-specific shape or required-field information, so an agent must still do extra discovery before invoking the tool correctly.

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

Parameters3/5

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

With one opaque `body` object (additionalProperties true) and 0% schema description coverage, the description wisely tells the agent to read the matching GET or /schema endpoint to learn the expected fields, which is an actionable discovery path. It still gives no concrete tag fields or constraints, so it only partially compensates for the schema's lack of information.

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

Purpose4/5

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

The description opens with a specific verb and resource, 'Create Tag', and includes the exact REST endpoint 'POST /api/v3/tag', so the basic operation is unambiguous. It does not explain what a tag is nor explicitly contrast it with sibling tools like create_autotagging, update_tag_by_id, and list_tag, which prevents a 5.

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

Usage Guidelines3/5

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

The operation itself gives an implied usage: use this tool when creating a tag. The description also provides one concrete prerequisite, to read a matching GET or /schema endpoint before supplying the body, but it never states when not to use this tool or how it compares with related tag/autotagging operations.

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

delete_autotagging_by_idC
DestructiveIdempotent

Delete AutoTagging.

DELETE /api/v3/autotagging/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

The annotations already indicate destructiveHint=true, readOnlyHint=false, and idempotentHint=true, so the basic safety profile is covered. However, the description adds no behavioral context beyond the endpoint and operation, such as whether deletion is permanent, what resources are affected, 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.

Conciseness3/5

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

The description is short and front-loaded with the core operation, but it is under-specified. The endpoint line and the first line largely restate each other, and the Args section only repeats what the schema already shows with a negligible 'path parameter' detail.

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

Completeness3/5

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

For a single-parameter delete operation with annotations and an output schema, the definition is close to minimally viable. Still, it leaves gaps: it never defines AutoTagging, explains what deletion does to related data, or tells the agent how to source a valid id. These gaps matter even for a simple delete tool.

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

Parameters2/5

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

The input schema only states that id is a required integer. The description adds that id is a path parameter, which is mildly useful, but it does not explain what the id refers to, where to find it, or any constraints. With 0% schema description coverage, the description should compensate more than this.

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

Purpose4/5

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

The description clearly states the operation 'Delete AutoTagging' and provides the REST endpoint with the id path parameter, so an agent can identify the resource and action. It is not vague, but it adds little beyond what the tool name already conveys and does not explicitly contrast with sibling delete tools.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of alternatives such as update_autotagging_by_id or delete_tag_by_id. No context is given about prerequisites, consequences, or how to obtain the id (e.g., via list_autotagging), so the agent must infer usage entirely from the name.

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

delete_blocklist_bulkC
DestructiveIdempotent

Delete Blocklist.

DELETE /api/v3/blocklist/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already provide destructiveHint and idempotentHint, so the description adds little behavioral context. It names the DELETE method and points to GET/schema but never states what gets destroyed or whether the payload selects specific entries versus deleting the entire blocklist. No contradiction with annotations.

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

Conciseness4/5

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

The description is short and front-loads the purpose line, followed by the endpoint and an argument note. It is not padded, though the 'Args:' section largely restates what the input schema already shows.

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

Completeness2/5

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

For a destructive bulk operation, the description leaves the request body shape, requiredness, and deletion scope ambiguous. The pointer to GET/schema is a partial mitigation, but the description is not sufficient for an agent to confidently invoke the tool correctly without additional discovery.

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

Parameters2/5

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

With 0% schema description coverage, the description carries the burden of explaining the body parameter, but it only says 'body: Request payload' and directs the agent elsewhere for fields. It does not name expected fields, requiredness, or how to identify which blocklist entries to delete.

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

Purpose4/5

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

The description states an action ('Delete') and a resource ('Blocklist'), and the endpoint path makes the bulk nature explicit. It is clear at a basic level, though it does not explicitly differentiate itself from the sibling delete_blocklist_by_id.

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

Usage Guidelines2/5

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 bulk deletion tool versus delete_blocklist_by_id or other bulk deletion tools. The only instruction, 'Read the matching GET or the /schema endpoint first,' addresses request construction rather than tool selection.

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

delete_blocklist_by_idC
DestructiveIdempotent

Delete Blocklist.

DELETE /api/v3/blocklist/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations indicate destructiveHint=true and idempotentHint=true, which are helpful but already available. The description adds no behavioral detail beyond the raw endpoint, such as effects of deleting, any cascading deletions, or error responses. It does not contradict annotations, but it fails to enrich the agent's understanding of the operation's consequences.

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

Conciseness4/5

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

The description is efficiently concise, with a short summary and the endpoint. However, it repeats the endpoint verbatim and includes 'Args:' section, which is slightly redundant with the schema. Still, every line has a purpose and it is front-loaded.

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

Completeness2/5

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

Given the tool's simplicity (one param, no nested objects), the description is minimal but lacks context about the blocklist entity's purpose and the effect of deletion. Output schema exists but the description doesn't mention it. An agent would struggle to know when to use this over bulk deletion or how to interpret the response.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate, but it only states 'id: Path parameter.' without explaining its meaning (e.g., the blocklist entry ID). The description provides minimal added value over the schema's type and title.

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

Purpose3/5

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

The description 'Delete Blocklist' clearly states the verb and resource, and the endpoint URL makes the purpose unambiguous. It distinguishes from siblings like delete_blocklist_bulk by the singular 'by_id' in the name, though the description itself could be more explicit about deleting a single blocklist entry by its ID.

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

Usage Guidelines2/5

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 such as delete_blocklist_bulk or list_blocklist. It only states the operation and the endpoint, with no context for prerequisites or use cases.

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

delete_command_by_idB
DestructiveIdempotent

Delete Command.

DELETE /api/v3/command/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

The annotations already communicate destructiveHint=true, readOnlyHint=false, and idempotentHint=true, so the safety profile is covered. The description adds the exact HTTP DELETE endpoint but does not disclose additional behavioral context such as permanence, side effects, or authorization requirements. This is acceptable 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.

Conciseness4/5

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

The description is brief and organized into purpose, endpoint, and arguments. It avoids unnecessary prose, though 'Delete Command.' is somewhat redundant with the tool name and endpoint.

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

Completeness3/5

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

For a simple one-parameter delete endpoint, the description is minimally viable: the path and parameter are present, and the output schema plus annotations cover response and safety. However, it lacks any usage context or indication of what happens when a command is deleted, so it is not complete on its own.

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

Parameters2/5

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

With 0% schema coverage, the description must carry parameter meaning. It only identifies 'id' as a path parameter, which adds location but not what the ID represents or its constraints. The endpoint and tool name imply it is the command ID, but the description itself does not state this.

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

Purpose4/5

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

The description states the verb and resource directly ('Delete Command') and the HTTP endpoint DELETE /api/v3/command/{id} makes the operation unambiguous. It is distinguishable from sibling tools like get_command_by_id, list_command, and create_command, though it does not provide extra clarification about the command lifecycle.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or situations where a different tool should be used. The agent must infer from the name that this is for deleting a command by ID.

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

delete_customfilter_by_idC
DestructiveIdempotent

Delete CustomFilter.

DELETE /api/v3/customfilter/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, and the description aligns by stating 'Delete'. However, it adds no additional behavioral context, such as permanence, irreversibility, or any side effects beyond the basic action. It does not contradict annotations but fails to enrich the safety profile.

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

Conciseness4/5

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

The description is very short and efficiently structured: a single sentence, the HTTP endpoint, and an Args section. It is easy to parse, but the brevity is partly because it omits important information. It is appropriately sized for what it conveys, but could be more informative without losing conciseness.

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

Completeness2/5

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

Given the destructive nature of the tool and the presence of an output schema, the description is incomplete. It does not mention that the operation is permanent or irreversible, nor does it specify any error conditions (e.g., if the id does not exist). Even with annotations covering destructiveHint, the description should add context like 'This will permanently remove the filter.' The output schema exists, so return values are not needed, but overall the description is too minimal for a destructive operation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only says 'id: Path parameter', which adds the trivial fact that it is a path parameter but does not explain that the id identifies the custom filter to delete. This is insufficient semantic meaning for an agent to correctly interpret the parameter.

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

Purpose5/5

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

The description clearly states the action ('Delete') and the resource ('CustomFilter'), and includes the HTTP method and path, which distinguishes it from other delete tools for different resources. It is specific and not a tautology.

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

Usage Guidelines2/5

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 (e.g., get_customfilter_by_id, update_customfilter_by_id, or other delete_by_id tools). It does not mention prerequisites, exclusions, or conditions under which deletion should be performed.

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

delete_customformat_bulkC
DestructiveIdempotent

Delete CustomFormat.

DELETE /api/v3/customformat/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the agent knows it is destructive. The description adds no additional behavioral context such as cascade effects, atomicity, or confirmation requirements. The only extra information is a pointer to read the GET or /schema endpoint for body fields, which is more about parameters than behavior.

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

Conciseness5/5

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

The description is very short and to the point, with the core action stated first and the endpoint immediately following. The parameter note is concise and front-loaded with the most important instruction. There is no redundant text or filler.

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

Completeness2/5

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

For a destructive bulk operation, the description lacks essential context such as whether the operation is atomic, what the response contains (though an output schema exists), and when to prefer this over the single-item variant. It provides only the endpoint and a directive to read the schema, which is minimal for an agent to invoke it safely and correctly. The presence of an output schema lowers the need to describe return values, but the missing usage guidance and behavioral notes make it incomplete.

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

Parameters3/5

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

The schema for 'body' has no description, so the parameter semantics are entirely dependent on the description. The description instructs the agent to 'Read the matching GET or the /schema endpoint first to see the fields this resource expects,' which provides a useful strategy but does not enumerate the fields themselves. This partially compensates for the 0% schema coverage but falls short of fully describing the expected payload.

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

Purpose4/5

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

The description clearly states the verb ('Delete') and resource ('CustomFormat'), and the endpoint '/api/v3/customformat/bulk' clarifies it is a bulk operation. It does not explicitly mention that this is for multiple items vs. single-item deletion, but the name and endpoint make that evident. It is distinguishable from delete_customformat_by_id by the 'bulk' in the name.

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

Usage Guidelines2/5

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 bulk endpoint versus the single-item delete_customformat_by_id, nor any prerequisites or side effects. It only states the HTTP method and endpoint. There is no explicit 'when to use' or 'alternatives' advice, leaving the agent to infer from the name.

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

delete_customformat_by_idC
DestructiveIdempotent

Delete CustomFormat.

DELETE /api/v3/customformat/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

The annotations already declare destructiveHint=true and idempotentHint=true, so the destructive nature is covered. The description adds no behavioral context beyond 'Delete' and the HTTP route, such as irreversibility, authorization needs, or cascading effects. No contradiction with annotations.

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

Conciseness4/5

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

The description is very short and front-loads the core operation. The endpoint and args lines are compact and free of fluff, though the sparse content limits usefulness.

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

Completeness3/5

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

Given the simple single-parameter delete operation, an output schema, and annotations covering destructiveness and idempotency, the core invocation is decipherable. However, the lack of usage differentiation and parameter meaning leaves gaps in the overall context needed for confident tool selection.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate, but it only states 'id: Path parameter.' This confirms the id is path-located but does not explain that it identifies the CustomFormat to delete or provide any semantic meaning beyond the schema's integer type.

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

Purpose4/5

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

The description clearly states the action ('Delete') and the resource ('CustomFormat'), and the included endpoint '/api/v3/customformat/{id}' indicates this deletes a single item by ID. It does not explicitly contrast with delete_customformat_bulk, 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.

Usage Guidelines2/5

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_customformat_bulk or update_customformat_by_id. No conditions, prerequisites, or exclusions are provided, so an agent must infer usage 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_delayprofile_by_idD
DestructiveIdempotent

Delete DelayProfile.

DELETE /api/v3/delayprofile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the destructive nature is known. The description adds nothing beyond the word 'Delete' and does not elaborate on consequences, reversibility, or any side effects. It fails to add value beyond the structured annotations.

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

Conciseness2/5

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

The description is extremely terse, but it is not efficiently concise; it is under-specified. It lacks structure and does not front-load any helpful information beyond the endpoint. A single, well-crafted sentence could convey more while remaining concise.

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

Completeness2/5

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

For a simple delete operation, the description is minimal but incomplete. It does not mention what happens on success or failure, whether the deletion is permanent, or any prerequisites. While annotations cover destructive and idempotent aspects, the description fails to provide the kind of context that would help an agent make a confident decision.

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

Parameters1/5

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

The description merely repeats 'id: Path parameter', which is already fully specified in the input schema. It does not explain what the ID represents (e.g., the ID of the delay profile to delete) or any constraints. Since schema coverage is effectively zero in the description, it does not compensate for the lack of parameter documentation.

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

Purpose3/5

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

The description states 'Delete DelayProfile', which clearly identifies the action and resource. However, this essentially restates the tool's name, and it does not distinguish this from the many other delete_* tools. It provides no additional context about the specific behavior beyond the name.

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

Usage Guidelines1/5

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. The description gives no context about prerequisites, conditions, or scenarios where this deletion is appropriate or not. It is a bare endpoint description with no usage advice.

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

delete_downloadclient_bulkC
DestructiveIdempotent

Delete DownloadClient.

DELETE /api/v3/downloadclient/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the destructive nature is covered. The description adds no further behavioral details such as what gets deleted, irreversibility, or side effects. The only addition is the endpoint and a generic payload note, which provides minimal extra value beyond the annotations.

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

Conciseness4/5

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

The description is short and front-loaded with the purpose, then the endpoint, then the args. It is efficient with no filler. It is appropriately concise, though it may be too minimal given the complexity of the operation.

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

Completeness2/5

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

The description lacks critical context: it does not clarify that this is a bulk operation (though the name implies it), does not mention the response format, and provides insufficient guidance on constructing the payload beyond a generic pointer. Given the open schema (additionalProperties true), the agent may not know what to send. It also does not differentiate from delete_downloadclient_by_id, leaving room for confusion.

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

Parameters3/5

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

The schema has one parameter 'body' with no description (0% coverage). The description advises 'Read the matching GET or the /schema endpoint first to see the fields this resource expects,' which is a useful pointer for discovering the expected structure. However, it does not specify that the payload likely contains an array of IDs or any concrete fields, so the agent still must consult another endpoint to construct a valid request.

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

Purpose4/5

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

The description states 'Delete DownloadClient.' which is a clear verb+resource pair. However, it does not explicitly mention 'bulk' or differentiate from the sibling delete_downloadclient_by_id, though the name and endpoint include 'bulk'. The purpose is evident but lacks explicit sibling differentiation.

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

Usage Guidelines2/5

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 bulk delete versus the single delete or other bulk operations. The description does not mention alternatives, exclusions, or context for when this tool is appropriate, leaving the agent to infer from the name.

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

delete_downloadclient_by_idC
DestructiveIdempotent

Delete DownloadClient.

DELETE /api/v3/downloadclient/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds no behavioral context beyond that—no mention that deletion is permanent, affects related objects, or requires specific permissions. It merely restates the resource being acted upon.

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

Conciseness3/5

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

The description is short and front-loaded with the action, but it is under-specified. The HTTP path and an 'Args' section that merely restates the schema's id parameter take up space without adding meaningful content. It is concise but not effectively structured for tool selection.

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

Completeness2/5

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

For a destructive operation with no annotations describing consequences, the description is incomplete. It does not explain what a DownloadClient is, what removal entails, or whether deletion is irreversible. The presence of an output schema reduces the need to describe return values, but the missing context around the action's implications remains a gap.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only says 'id: Path parameter', identifying the parameter's location but not what the id represents (e.g., an integer identifier of a specific download client). This minimal information adds almost nothing over the schema's name and type.

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

Purpose4/5

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

The description states 'Delete DownloadClient' with the HTTP endpoint, making the verb and resource clear. It does not explicitly differentiate from the sibling delete_downloadclient_bulk, but the resource name uniquely identifies this operation.

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

Usage Guidelines1/5

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, such as delete_downloadclient_bulk or update_downloadclient_by_id. It also omits any prerequisites, side effects, or conditions that might influence the decision to delete.

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

delete_episodefile_bulkC
DestructiveIdempotent

Delete EpisodeFile.

DELETE /api/v3/episodefile/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations indicate destructiveHint=true and idempotentHint=true, but the description does not specify the payload format for bulk deletion or clarify whether partial failures are possible. The destructive nature is clear from the name, but the description adds no detail about side effects or idempotency.

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

Conciseness4/5

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

The description is very short, with just two sentences. The HTTP endpoint is front-loaded)SkipDeleted. The brevity is appropriate for the simplicity, though the lack of critical detail reduces the score slightly.

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

Completeness2/5

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

There is an output schema, so return value details are not needed. However, for a bulk delete operation, the agent needs to know exactly what the body should contain, e.g., an array of IDs. The description's advice to consult the GET or schema endpoint is a workaround, not a complete spec, leaving the description incomplete for effective invocation.

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

Parameters2/5

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

The schema shows a single 'body' parameter with no type constraints, and the description merely says 'body: Request payload' without the required structure. Since schema coverage is 0%, the description fails to compensate by specifying that the body should contain an array of episode file IDs or similar.

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

Purpose4/5

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

The description clearly states it deletes EpisodeFile resources via the bulk endpoint. It includes the HTTP method and path, which helps distinguish it from single-delete and update operations. However, it does not explicitly differentiate from delete_episodefile_by_id, so it is not a 5.

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

Usage Guidelines2/5

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 bulk delete versus the single delete, nor any discussion of the body structure needed for bulk deletion (e.g., an array of IDs). The hint to read the GET or schema endpoint is generic and not specific to this tool.

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

delete_episodefile_by_idC
DestructiveIdempotent

Delete EpisodeFile.

DELETE /api/v3/episodefile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

The annotations already communicate destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds no behavioral context beyond the endpoint—such as whether the file on disk is permanently removed, whether confirmation is needed, or what happens to associated data. It does not contradict the annotations.

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

Conciseness4/5

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

The description is short and front-loaded with the core action. The endpoint line and Args line are mildly redundant with the tool name and schema, but there is no filler or unnecessary prose.

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

Completeness3/5

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

For a simple single-parameter delete operation, the strong annotations cover the safety profile and idempotency adequately. However, the description omits any mention of side effects, the bulk alternative, or when this tool is appropriate, so an agent has to infer some context from the tool name.

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

Parameters3/5

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

The schema only provides that id is a required integer. The description adds that id is a path parameter, which is useful for invocation. However, it does not explain what the id represents beyond what is already obvious from the tool name and endpoint.

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

Purpose4/5

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

The description begins with 'Delete EpisodeFile', a clear verb and resource that states what the tool does. Including 'DELETE /api/v3/episodefile/{id}' reinforces that this operates on a single episode file by ID, though it does not explicitly distinguish itself from the sibling delete_episodefile_bulk tool.

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

Usage Guidelines2/5

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 delete_episodefile_bulk or other related deletion tools. The description only provides the endpoint and parameter, with no context about prerequisites, alternative routes, or conditions that should trigger this tool.

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

delete_importlist_bulkC
DestructiveIdempotent

Delete ImportList.

DELETE /api/v3/importlist/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

The description adds no behavioral detail beyond the annotations. It confirms deletion, but doesn't explain side effects, reversibility, or scope. The instruction to read GET/schema is about input, not behavior. Since annotations already declare destructiveHint=true and idempotentHint=true, the description contributes little to behavioral transparency.

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

Conciseness4/5

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

The description is terse and front-loaded with the purpose, then the endpoint, then the args. It avoids wasted words and is well-structured. However, it omits essential details, so while concise, it's not comprehensive.

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

Completeness2/5

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

The description lacks crucial information about the body format and the semantics of bulk deletion. It relies on external references (GET/schema) to fill in gaps. While an output schema exists, the input requirements are not explained, making the tool difficult to use correctly without external discovery.

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

Parameters2/5

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

The description identifies the body as a request payload and directs to schema, but with 0% schema coverage, this is insufficient. It doesn't describe the expected structure (e.g., list of IDs) or any constraints. The guidance to read the schema is a pointer, not a semantic explanation.

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

Purpose3/5

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

The description states 'Delete ImportList.' which is a clear verb and resource, but it fails to clarify the 'bulk' aspect, making it ambiguous whether it deletes multiple items or a single one. It also doesn't distinguish from the sibling delete_importlist_by_id, which is a single-item delete. The endpoint is provided but that's not purpose. It's a step above a tautology but lacks specificity.

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

Usage Guidelines1/5

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_importlist_by_id. It doesn't mention prerequisites, permissions, or the difference between bulk and single deletion. The only instruction is to read the GET/schema endpoint for the body, which is about parameter structure, not usage context.

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

delete_importlist_by_idB
DestructiveIdempotent

Delete ImportList.

DELETE /api/v3/importlist/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered. The description adds no behavioral context beyond the verb 'Delete' and the HTTP method; it does not describe permanence, side effects, or error behavior.

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

Conciseness5/5

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

The description is very short and front-loaded with the action, followed by the endpoint and argument. There is no filler or redundant content; every element serves a purpose.

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

Completeness4/5

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

For a single-parameter delete operation, the description, schema, required id, destructive/idempotent annotations, and output schema together provide enough information to invoke the tool. The missing single-vs-bulk usage distinction is a gap, but it is more about usage guidance than completion for a direct call.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It usefully specifies that id is a path parameter, which the schema does not convey. However, it does not elaborate on what the id identifies or any additional constraints beyond the schema's integer type and required flag.

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

Purpose4/5

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

The description starts with 'Delete ImportList.' which clearly states the verb and resource, and the included path parameter id indicates a single item. However, the text itself does not explicitly differentiate from the sibling delete_importlist_bulk beyond the by_id naming convention.

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

Usage Guidelines2/5

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. It does not mention that delete_importlist_bulk should be used for multiple items, nor does it state any preconditions or exclusions. The only implied signal is the required id path parameter.

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

delete_importlistexclusion_bulkC
DestructiveIdempotent

Delete ImportListExclusion.

DELETE /api/v3/importlistexclusion/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true. The description adds no behavioral context about what gets deleted, whether an empty body deletes everything, or what the response indicates. It merely restates the delete operation, so it adds little beyond the annotations.

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

Conciseness4/5

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

The description is short, front-loaded with the operation and endpoint, and includes a practical instruction to consult GET/schema. It contains no filler, though its brevity contributes to missing semantic details.

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

Completeness2/5

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

For a destructive bulk endpoint with zero parameter documentation, this description is incomplete. The agent still does not know the expected payload shape, scope of deletion, or whether the body is required. The pointer to GET/schema helps but does not fully compensate.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden. It says body is a 'request payload' and advises reading GET or /schema first, which is useful direction but does not explain how the bulk payload should be structured (e.g., array of IDs, object shape).

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

Purpose4/5

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

States a specific verb and resource ('Delete ImportListExclusion') and includes the full endpoint path 'DELETE /api/v3/importlistexclusion/bulk', which conveys the bulk scope. It doesn't explicitly contrast with delete_importlistexclusion_by_id, so it stops just 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.

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given. There is no mention of alternatives like delete_importlistexclusion_by_id or any conditions favoring bulk deletion. The only usage clue is the word 'bulk' in the endpoint, which the agent must infer.

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

delete_importlistexclusion_by_idC
DestructiveIdempotent

Delete ImportListExclusion.

DELETE /api/v3/importlistexclusion/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate destructiveHint=true, readOnlyHint=false, and idempotentHint=true. The description adds no behavioral context beyond the HTTP DELETE verb and path; it does not mention side effects, error behavior, or whether the target must exist. With the safety profile already covered by annotations, this is minimal added value.

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

Conciseness4/5

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

The description is very short and front-loaded with the action and endpoint. The Args section is minimal but not wasteful; however, it largely repeats information already implied by the tool name and schema.

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

Completeness3/5

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

For a one-parameter destructive operation with annotations and an output schema, the description is adequate to identify the target and HTTP verb. It is incomplete in that it gives no usage context, alternatives, or behavioral expectations beyond what the annotations already state, but the simplicity of the tool limits the gap.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden for the single parameter. It clarifies that 'id' is a path parameter, which is useful, but it does not explain that id is the ImportListExclusion identifier or provide any format details. This partially compensates for the schema gap.

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

Purpose4/5

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

The description states a clear verb and resource: 'Delete ImportListExclusion.' The included HTTP path with {id} reinforces that this targets a single resource by ID, distinguishing it from the bulk delete sibling. It does not explain what an ImportListExclusion is, but the core 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.

Usage Guidelines2/5

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 instead of alternatives such as delete_importlistexclusion_bulk or when deletion is appropriate. The description only restates the operation and endpoint, leaving the agent to infer usage 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_indexer_bulkC
DestructiveIdempotent

Delete Indexer.

DELETE /api/v3/indexer/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already provide destructiveHint=true and idempotentHint=true, so 'Delete Indexer' is consistent. The description adds a note about reading the schema before constructing the body, which gives some context, but it does not disclose side effects, scope of deletion, or response behavior beyond what annotations imply.

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

Conciseness4/5

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

The description is compact and front-loaded with the action. The endpoint and Args sections are clearly structured, though the endpoint line is somewhat redundant with the tool name and the pointer to GET/schema could be more concise.

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

Completeness2/5

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

For a destructive bulk operation, the description is incomplete: it does not state what the request body must contain to identify indexers, any limits, or what the output schema represents. The pointer to the schema endpoint shifts the burden to the agent and does not make the tool self-sufficient.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate. It identifies 'body' as a request payload and directs the agent to the GET or /schema endpoint for field details, which is a useful pointer. However, it does not specify how to express which indexers are deleted (e.g., list of IDs), leaving the payload semantics underspecified.

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

Purpose4/5

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

The description states a specific verb and resource ('Delete Indexer'), and the endpoint URL adds bulk context. However, it does not explicitly differentiate from delete_indexer_by_id or describe the bulk nature beyond the tool name and endpoint, so it lacks clear sibling differentiation.

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

Usage Guidelines2/5

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 bulk endpoint versus single-delete alternatives like delete_indexer_by_id. The only advice, to read the GET or /schema endpoint first, is about constructing the request body, not about tool selection.

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

delete_indexer_by_idC
DestructiveIdempotent

Delete Indexer.

DELETE /api/v3/indexer/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds no extra behavioral context, such as irreversibility or side effects, and merely restates the deletion action. It does not contradict annotations but contributes nothing beyond them.

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

Conciseness4/5

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

The description is extremely concise, with no superfluous content, and front-loads the action. It is easy to scan, but the brevity comes at the cost of missing necessary context. Still, it is efficiently structured for its minimal length.

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

Completeness3/5

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

For a simple delete-by-id operation with annotations covering destructiveness, the description is minimally adequate. It lacks guidance on when to use this versus bulk delete and does not mention any special behaviors or error conditions. The output schema exists, so return values are covered, but the description still feels incomplete for an agent.

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

Parameters3/5

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

The description identifies 'id' as a path parameter, which is not explicitly stated in the schema (which only gives type integer). This adds minor semantic context about parameter placement. However, it does not explain the meaning of the id or any constraints, so value is limited.

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

Purpose4/5

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

States the verb 'Delete' and resource 'Indexer' clearly, making the action unambiguous. The name includes 'by_id' which distinguishes it from bulk operations, though the description does not explicitly mention this distinction. It is specific enough for an agent to know what it does.

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

Usage Guidelines2/5

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 like delete_indexer_bulk. It only gives the HTTP method and path, leaving the agent to infer usage context without any explicit conditions or exclusions.

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

delete_languageprofile_by_idC
DestructiveIdempotent

Delete LanguageProfile.

DELETE /api/v3/languageprofile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose any behavioral traits beyond the verb 'Delete'. It says nothing about irreversibility, cascading deletion, permission requirements, or side effects. The annotations already declare destructiveness and idempotency, but the description itself adds no value beyond what the structured data already conveys.

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

Conciseness4/5

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

The description is extremely brief and front-loaded, stating the operation in the first line. The endpoint and Args lines are structured logically, though the Args section adds little beyond the schema. There is no fluff or unnecessary detail.

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

Completeness2/5

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

The description is not complete enough for a destructive operation. It omits what happens when the language profile is deleted (e.g., whether associated resources are removed or if records are hidden), the need for existing id, and any error behavior. The output schema and annotations cover only part of the gap.

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

Parameters2/5

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

The schema has no property description and the description only adds 'id: Path to id', which is nearly redundant with the endpoint and schema. It does not clarify that the id references a specific language profile, nor any value constraints, even though schema description coverage is 0%.

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

Purpose5/5

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

The description states the specific action ('Delete') and the target resource ('LanguageProfile'), which is unambiguous and clearly distinguishes it from sibling tools like get_languageprofile_by_id, update_languageprofile_by_id, and create_languageprofile. The HTTP DELETE endpoint reinforces the intent.

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

Usage Guidelines2/5

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, no mention of prerequisites, and no exclusions such as 'do not use if the profile is in use'. The only hint is the verb 'Delete', leaving the decision to the agent without explicit context.

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

delete_metadata_by_idC
DestructiveIdempotent

Delete Metadata.

DELETE /api/v3/metadata/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the description does not need to restate those. It adds no behavioral context beyond the raw endpoint, such as whether deletion is permanent, cascades, or requires confirmation. With annotations covering the core safety profile, a 3 is appropriate.

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

Conciseness3/5

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

The description is very short and front-loads the action, but it includes redundant endpoint documentation and a docstring-style 'Args' block that adds no value. It is concise but under-specified rather than efficiently complete.

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

Completeness2/5

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

For a destructive single-parameter tool, the description is minimal. It does not explain what metadata entity is targeted, what the response contains, or any side effects. The output schema exists, but the description still lacks enough context for an agent to confidently select and invoke this tool among dozens of similar delete tools.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only says 'id: Path parameter.' It adds no meaning beyond the schema's type and required flag. The description does not explain what the id refers to or how to obtain it, so it fails to compensate for the low schema coverage.

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

Purpose3/5

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

The description states 'Delete Metadata' and includes the HTTP DELETE endpoint, which clearly identifies the operation and resource. However, it does not specify what kind of metadata is being deleted or how this differs from the many other delete_*_by_id siblings, so it is clear but not differentiated.

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

Usage Guidelines2/5

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_movie_by_id or delete_tag_by_id. The description only repeats the endpoint and parameter, leaving the agent to infer usage from the name.

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

delete_notification_by_idC
DestructiveIdempotent

Delete Notification.

DELETE /api/v3/notification/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

The description adds no behavioral context beyond what the annotations already declare: destructiveHint=true and idempotentHint=true. It does not mention irreversibility, permission requirements, related resources that might be affected, or any side effects of deletion.

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

Conciseness4/5

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

The description is compact and front-loaded with the core purpose. The endpoint and argument declaration are minimal and readable, with no wasted words.

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

Completeness3/5

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

For a simple single-parameter delete operation, the description is minimally adequate because the annotations and output schema fill in the safety and response details. Still, it lacks usage context, alternative routing, and any behavior notes that would make it genuinely complete.

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

Parameters3/5

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

The input schema only defines 'id' as an integer, so the description's note that 'id' is a path parameter adds some useful structural meaning. However, it does not explain what the id identifies or any constraints beyond the schema, and schema description coverage is 0%.

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

Purpose4/5

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

The description states a clear verb and resource: 'Delete Notification.' This is unambiguous and identifies the target object. It does not explicitly distinguish itself from sibling delete tools, but the resource name makes that differentiation easy.

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

Usage Guidelines2/5

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 delete_notification_by_id's update/list counterparts or other bulk-delete tools. The intended use is implied by the name and endpoint, but no explicit context 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.

delete_qualityprofile_by_idC
DestructiveIdempotent

Delete QualityProfile.

DELETE /api/v3/qualityprofile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the agent knows this is a destructive but idempotent operation. The description adds the HTTP DELETE method and path, which reinforces the destructive nature, but it does not disclose what happens to associated data, whether deletion is permanent, or any authorization requirements. It does not contradict the annotations.

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

Conciseness3/5

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

The description is very short and front-loaded with the core action, which is good, but it includes the raw HTTP endpoint and an Args section that mostly duplicates the schema. It is concise but under-specified; the space could have been used for behavioral or usage context.

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

Completeness2/5

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

For a destructive operation with one required parameter and no output schema details, the description is too thin. It lacks any mention of side effects, error conditions, or relationship to other quality profile tools. The annotations cover safety hints, but the description does not provide enough context for an agent to confidently invoke this tool in a real workflow.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only says 'id: Path parameter.' This adds minimal meaning beyond the schema's 'id' integer property. It does not explain what the id refers to (e.g., the quality profile's unique identifier), how to obtain it, or any constraints like existence requirements.

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

Purpose3/5

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

The description states a clear verb and resource ('Delete QualityProfile') and includes the HTTP endpoint, so an agent can tell it performs deletion of a quality profile by id. However, it does not differentiate from the many other delete_*_by_id siblings beyond the resource name, and the description is essentially a restatement of the tool name with the endpoint appended.

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

Usage Guidelines2/5

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 alternatives such as delete_qualityprofile_by_id vs list_qualityprofile or update_qualityprofile_by_id. The description only states the HTTP method and path, with no context about prerequisites, consequences, or 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_queue_bulkC
DestructiveIdempotent

Delete Queue.

DELETE /api/v3/queue/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. remove_from_client: Query parameter. blocklist: Query parameter. skip_redownload: Query parameter. change_category: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
blocklistNo
change_categoryNo
skip_redownloadNo
remove_from_clientNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the description adds little beyond restating the destructive delete operation. It does not explain what the bulk deletion does to queue items, whether removal from client/blocklisting are permanent, or what side effects occur.

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

Conciseness4/5

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

The description is compact and well-structured: a one-line summary, endpoint, and an args list. There is no filler, though the brevity comes at the cost of substantive explanation.

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

Completeness2/5

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

For a destructive bulk operation with five undocumented parameters, this description is not sufficient for an agent to understand the effects or invoke it confidently. The output schema and annotations cover some metadata, but the key behavioral and parameter context is missing.

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

Parameters2/5

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

With 0% schema description coverage, the description was expected to explain the parameters, but it only labels the query params as 'Query parameter' with no meaning. The body parameter gets useful advice to read the matching GET or /schema endpoint, but remove_from_client, blocklist, skip_redownload, and change_category remain semantically opaque.

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

Purpose4/5

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

The description states the action and resource clearly ('Delete Queue' with the DELETE endpoint), so an agent knows it performs bulk queue deletion. It does not explicitly contrast with delete_queue_by_id, but the endpoint and name make the bulk scope apparent.

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

Usage Guidelines2/5

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

There is no guidance about when to choose this tool over delete_queue_by_id or other queue-related operations. The only contextual hint is indirectly provided by the endpoint and sibling names, but the description never states conditions, prerequisites, or alternatives.

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

delete_queue_by_idC
DestructiveIdempotent

Delete Queue.

DELETE /api/v3/queue/{id}

Args: id: Path parameter. remove_from_client: Query parameter. blocklist: Query parameter. skip_redownload: Query parameter. change_category: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
blocklistNo
change_categoryNo
skip_redownloadNo
remove_from_clientNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

The annotations already declare destructiveHint=true and idempotentHint=true, but the description adds little behavioral context beyond 'Delete Queue.' It does not explain side effects of the delete operation or what the query flags such as blocklist, remove_from_client, and skip_redownload actually do. There is no contradiction with the annotations, but the description also adds none of the missing operational detail.

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

Conciseness4/5

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

The description is compact, front-loads the core action and endpoint, and presents the parameters as a clean list. There is no unnecessary prose, though the brevity is achieved by omitting semantic detail.

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

Completeness2/5

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

For a five-parameter destructive endpoint with 0% schema description coverage, the description is not complete enough. It gives the required id and endpoint for a minimal call, but it omits the meaning of all optional flags and provides no guidance for common scenarios such as removing from the client, blocklisting, or skipping redownload.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to clarify the five parameters, but it only lists their names and labels each as 'Path parameter' or 'Query parameter.' That path/query classification adds some value beyond the schema, but the meanings and behavioral consequences of blocklist, remove_from_client, skip_redownload, and change_category remain unexplained.

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

Purpose4/5

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

The description clearly states 'Delete Queue' and gives the explicit DELETE /api/v3/queue/{id} endpoint, so the verb and resource are unmistakable. The required id path parameter signals this removes a single queue item, but the description does not explicitly distinguish it from the sibling delete_queue_bulk tool.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives such as delete_queue_bulk or list_queue. The description only restates the endpoint and parameters, leaving the agent to infer usage 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_releaseprofile_by_idA
DestructiveIdempotent

Delete ReleaseProfile.

DELETE /api/v3/releaseprofile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds no behavioral context beyond the DELETE endpoint and does not mention permanence, side effects, or error behavior.

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

Conciseness5/5

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

The description is extremely concise and front-loaded with the core purpose. The endpoint and Args lines add practical invocation details with no wasted words.

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

Completeness4/5

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

For a simple single-parameter delete operation, the description is largely sufficient because annotations cover the destructive/idempotent behavior and an output schema exists. The main missing piece is explicit usage guidance, but this does not prevent a correct call.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden for the parameter. It identifies id as a path parameter, which is useful, but it does not explain that id is the ReleaseProfile ID or provide additional semantic context.

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

Purpose5/5

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

The description states a specific action ('Delete ReleaseProfile') and resource, reinforced by the explicit DELETE endpoint. This clearly distinguishes it from sibling tools such as delete_qualityprofile_by_id or update_releaseprofile_by_id.

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

Usage Guidelines3/5

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

The purpose statement implies when to use the tool: to delete a ReleaseProfile by its ID. However, it provides no explicit guidance on prerequisites, alternatives, or when not to use it, leaving usage to inference.

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

delete_remotepathmapping_by_idC
DestructiveIdempotent

Delete RemotePathMapping.

DELETE /api/v3/remotepathmapping/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

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

The annotations already declare destructiveHint=true and idempotentHint=true, so the destructive and idempotent behavior is known. However, the description adds nothing beyond the endpoint—no mention of side effects, irreversible deletion consequences, cascade effects, or any behavioral details that would help an agent understand what happens on delete. With annotations present, the bar is lower, but the description still contributes essentially zero behavioral context beyond what annotations already convey.

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

Conciseness3/5

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

The description is short and front-loaded with the action, which is good for conciseness. The endpoint line and the Args line are structured clearly. However, brevity here is under-specification rather than efficient compression—each line is technically useful but the total content is thin, and the description is essentially a restatement of the tool name plus a schema echo.

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

Completeness2/5

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

The tool is simple (one required param) and has an output schema, so the bar for completeness is modest. But the description does not explain what a RemotePathMapping is, when deletion is appropriate, whether deletion is reversible, or anything about expected results. An agent would need to infer most context from the name and endpoint alone. The output schema presence reduces the return-format burden, but the semantic gaps remain significant.

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

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It states 'id: Path parameter,' which adds one small fact (that id is a path parameter rather than a body/query parameter) beyond the schema's integer type and title. This is minimal and does not explain what the id refers to, what values are valid, or any constraints. For a tool with a single required parameter, the compensation is weak.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Delete RemotePathMapping' is essentially a tautology of the tool name 'delete_remotepathmapping_by_id'. The endpoint URL adds marginal context (the API path and that it uses an {id} path segment), but the description does not differentiate this tool from its many delete siblings (delete_movie_by_id, delete_tag_by_id, etc.) beyond the resource name. The verb and resource are stated, but nothing distinguishes it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The sibling list includes update_remotepathmapping_by_id, create_remotepathmapping, and get_remotepathmapping_by_id, but the description never mentions them or any selection criteria. There are no when-to-use, when-not-to-use, or prerequisite instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_rootfolder_by_idB
DestructiveIdempotent

Delete RootFolder.

DELETE /api/v3/rootfolder/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool destructive and non-read-only, and idempotent. The description does not contradict these and adds no additional behavioral context such as irreversibility or cascading effects, but with the annotations covering the safety profile this is adequate rather than deficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose, HTTP method, and parameter list appear in a few lines with no filler. It earns its place by specifying the endpoint and path parameter, though it could be slightly richer without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter delete operation with a destructive annotation and an output schema present, the description is largely complete. The endpoint and path parameter are provided, and the minimal scope means an agent has enough to call the tool correctly, though more context about side effects would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions for the required 'id' parameter, and schema coverage is 0%. The description only notes that 'id' is a path parameter, without explaining that it represents the root folder ID or how to obtain the value. This is minimal compensation for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete RootFolder') and the REST endpoint, so the tool's purpose is immediately recognizable. It does not explicitly contrast with sibling tools like get_rootfolder_by_id or create_rootfolder, but the verb and resource make the distinction unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, no prerequisites, and no caveats. An agent is left to infer that this is for deleting a root folder by its id, with no indication of conditions that should be checked first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_series_by_idC
DestructiveIdempotent

Delete Series.

DELETE /api/v3/series/{id}

Args: id: Path parameter. delete_files: Query parameter. add_import_list_exclusion: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
delete_filesNo
add_import_list_exclusionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true. The description adds no behavioral context beyond listing parameter names; it does not explain that delete_files physically removes media files or that add_import_list_exclusion prevents re-import. Thus it adds little beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and avoids fluff, but it is not well-structured for an agent; it lists arguments in a raw format. The most important call-to-action (deleting) is first, but the rest is a bare enumeration. No front-loading of critical caveats.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with optional parameters that have major side effects, this description is inadequate. It omits what happens on deletion, whether it is reversible, and the implications of the two boolean flags. The output schema exists but the description does not mention return values or confirmations. Overall, an agent cannot safely invoke this without external knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully explain parameter semantics. It merely labels each parameter as 'path' or 'query' without explaining their effects. For a destructive operation, the agent cannot know that delete_files=true deletes files from disk or what add_import_list_exclusion does. This is a critical gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Delete Series', which clearly identifies the verb and resource. However, it does not differentiate from the many other delete_*_by_id siblings; the agent must infer that 'series' refers to a specific TV show entity. The endpoint line adds technical detail but no semantic distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like delete_series_editor or other delete operations. It does not mention prerequisites, consequences, or typical scenarios. The agent is left to guess when this is the appropriate delete method.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_series_editorC
DestructiveIdempotent

Delete SeriesEditor.

DELETE /api/v3/series/editor

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is covered outside the description. However, the description adds no behavioral context beyond that: it does not say what gets destroyed, whether the operation is reversible, whether any related resources are affected, or what happens when the body is null. The note to read the schema is about request construction, not runtime behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the operation, which is good. But 'Delete SeriesEditor.' essentially restates the tool name, and the explicit DELETE URL is redundant with the description. The brevity is not a virtue here because the remaining text provides little new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with a free-form body parameter and no parameter documentation, the description is incomplete. It fails to explain what the SeriesEditor resource is, what the body should contain, how to distinguish this from related delete tools, or what the matching GET/schema endpoint actually is. The presence of an output schema helps for return values but not for understanding the request payload.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description bears the burden of explaining the body parameter. It only says 'Request payload' and tells the agent to read a GET or schema endpoint first, without listing any fields or indicating what the payload should contain. That is useful procedural direction but not substantive parameter semantics, especially since no matching get_series_editor or list_series_editor_schema tool appears among the siblings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a clear verb and resource ('Delete SeriesEditor') and the HTTP endpoint, so it is more than a pure tautology. However, 'SeriesEditor' is never explained, and the description mostly restates the tool name. An agent cannot tell whether this deletes a single series, a bulk editing selection, or some other entity without additional context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool instead of delete_series_by_id, delete_episodefile_bulk, or update_series_editor. The only procedural note, 'Read the matching GET or the /schema endpoint first,' concerns payload discovery rather than tool selection. 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.

delete_system_backup_by_idC
DestructiveIdempotent

Delete Backup.

DELETE /api/v3/system/backup/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already carry destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is known. However, the description adds no behavioral context on top of that - it does not say the backup is permanently removed, whether it is recoverable, or that an existing backup ID is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and ordered: a one-line summary, the API endpoint, and the parameter mapping. The first sentence is redundant with the tool name, but the endpoint and path-parameter note are genuinely useful and the overall length is appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter destructive tool with annotations and an output schema, the execution path is mostly clear. The description does not state the irreversible nature of deleting a backup or suggest retrieving the ID first, which is a moderate gap for an agent deciding how to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the only added parameter information is 'id: Path parameter'. While this is a useful structural detail, it does not describe what the id represents, what IDs are valid, or the semantic relationship to the backup entity, so it gives only minimal compensation for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Delete Backup' and gives the DELETE endpoint, which is an explicit verb and resource. It is unambiguous about what the tool does and is distinct from sibling backup tools, though it leaves the 'system backup by id' precision to the tool name and path rather than stating it directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as create_system_backup_restore_by_id or list_system_backup. No prerequisites, exclusions, or context are given, so an agent must infer selection from the raw operation alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_tag_by_idC
DestructiveIdempotent

Delete Tag.

DELETE /api/v3/tag/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, so the description doesn't need to restate those. The description adds no behavioral context beyond the annotations, such as whether deletion is permanent, cascades, or requires confirmation. With annotations covering the safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded with the core action 'Delete Tag.' The endpoint and args are clearly presented. It earns its place but is under-specified rather than verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no output schema details and 0% schema coverage, the description is too thin. It doesn't mention what happens on success, whether the deletion is permanent, or any related resources affected. The annotations cover safety but not operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only says 'id: Path parameter.' This adds minimal meaning beyond the schema's integer type and required flag. It doesn't explain what the id refers to (tag id), how to obtain it, or any constraints like positive integer.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Delete Tag' and shows the DELETE endpoint, which clearly identifies the operation and resource. However, it doesn't distinguish this from the many other delete_*_by_id siblings beyond the resource name, and the title is null. It is clear but minimal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 delete_tag_by_id vs update_tag_by_id or list_tag. The description only shows the endpoint and parameter, with no context about prerequisites, side effects, or 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.

get_autotagging_by_idC
Read-onlyIdempotent

Read AutoTagging.

GET /api/v3/autotagging/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no behavioral context beyond restating the endpoint and parameter. It does not mention error handling, auth requirements, or what the response contains. Since annotations cover safety, the description fails to add any value on top of them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief—three lines—and front-loads the purpose. However, it is under-specified rather than appropriately concise. The args section merely repeats schema information, adding no new value. It is not wasteful, but it lacks necessary content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter) and the presence of an output schema, the description is minimally adequate. Yet it omits important context: it does not explicitly state that it returns a single AutoTagging object or mention what happens if the ID does not exist. An agent could infer this from the endpoint, but the description itself leaves room for ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only says 'id: Path parameter' which is redundant with the endpoint and does not explain that the id refers to the AutoTagging identifier. No meaning is added beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read AutoTagging' which is a clear verb+resource. The endpoint '/api/v3/autotagging/{id}' makes it evident this fetches a single resource by ID, distinguishing it from list_autotagging. However, it does not explicitly name alternatives or contrast with sibling tools, so it falls 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.

Usage Guidelines2/5

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 that this is for fetching a specific AutoTagging when its ID is known, nor does it point to list_autotagging for retrieving all records. An agent receives no context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_by_pathC
Read-onlyIdempotent

Read StaticResource.

GET /{path}

Args: path: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description only adds 'GET /{path}', which is redundant and adds no new behavioral context such as response format, error handling, or 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and the 'Read StaticResource.' line is front-loaded, but the rest is redundant (HTTP method and parameter repetition). It is under-specified rather than effectively concise, as sentences do not add value beyond what the schema already provides.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and a simple read operation, the description still lacks essential context: what constitutes a StaticResource, what the output schema contains, or any error conditions. Even with an output schema present, the description does not help an agent understand the tool's domain or usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description merely repeats 'path: Path parameter.', which is tautological given the schema property name 'path'. With 0% schema description coverage, the description was expected to compensate but offers no additional meaning, format constraints, or examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read StaticResource.' which includes a specific verb and a resource type. It is clear that the tool reads a static resource, but 'StaticResource' is not defined further and the name 'get_by_path' is generic. It does not differentiate from the sibling 'get_content_by_path' which likely serves a similar purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 is no mention of contexts, exclusions, or comparisons to similar tools. The agent has no information to decide between this and 'get_content_by_path'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_calendar_by_idC
Read-onlyIdempotent

Read Calendar.

GET /api/v3/calendar/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description only adds the HTTP method and endpoint, which are routing details rather than behavioral traits like error handling, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded with "Read Calendar," followed by the endpoint and args. There is no fluff, though the endpoint line partially duplicates information inferable from the tool name. Overall, it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with an output schema, the description is nearly sufficient. However, it lacks usage context and alternative routing, which matters given the large sibling list. 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.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It merely notes "id: Path parameter," which is also visible in the endpoint; it does not explain that the id refers to a calendar identifier beyond what the tool name implies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Read Calendar" is a clear verb+resource statement, and the GET endpoint with {id} makes it evident this fetches a single calendar by id. It is distinguishable from list_calendar by the singular resource and tool name, though it does not explicitly mention any sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_calendar or other get-by-id siblings. Usage context is only implied by the tool name and the id parameter; there is no explicit when/when-not or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_command_by_idC
Read-onlyIdempotent

Read Command.

GET /api/v3/command/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the HTTP method and path, not additional behavioral context like response details, error behavior, or authorization, so it provides no value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded: 'Read Command' immediately conveys the purpose. The Args line is mostly redundant with the schema but adds the path-parameter detail, so it earns its place without adding bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-by-id operation with strong annotations and an output schema, the description is nearly adequate. However, it does not point to list_command for enumerating commands or describe any relevant error semantics, leaving a small but real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate, but it only says 'id: Path parameter.' This barely extends the schema's integer type and does not explain that id is the command identifier or how to obtain it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read Command' and gives the exact GET /api/v3/command/{id} endpoint, clearly identifying a specific verb and resource. It does not explicitly contrast with siblings like list_command, so it falls just 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus list_command or other get_*_by_id tools. The description provides no alternatives, exclusions, or usage context beyond the bare statement 'Read Command.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_config_downloadclient_by_idC
Read-onlyIdempotent

Read DownloadClientConfig.

GET /api/v3/config/downloadclient/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's 'Read' adds no behavioral information beyond them. It does not mention response behavior, error cases, or any additional side effects, though annotations already cover the main safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core action, then gives the endpoint and parameter. No filler is present. It is appropriately sized for such a simple tool, though it is sparse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one required parameter, a clear endpoint, an output schema, and safety annotations, the description is mostly sufficient to invoke the tool. However, it lacks clarification of what DownloadClientConfig is and how it differs from related download-client tools, leaving some contextual gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description only says 'id: Path parameter.' This adds the useful detail that id is a path parameter rather than query or body, but it does not explain what the id represents or any expected format beyond the schema's integer type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Read DownloadClientConfig.' The endpoint path further clarifies the target. However, it does not explicitly distinguish this from the sibling get_downloadclient_by_id, leaving potential ambiguity about the difference between a download client and its config.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus alternatives such as list_config_downloadclient, get_downloadclient_by_id, or update_config_downloadclient_by_id. The agent must infer usage from the name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_config_host_by_idB
Read-onlyIdempotent

Read HostConfig.

GET /api/v3/config/host/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the HTTP method (GET) and the path structure, which reinforces the read-only nature. However, it doesn't disclose any additional behavioral traits such as response format, error conditions, or whether the id must reference an existing host config.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at three lines, with the core purpose front-loaded in the first line. The endpoint and parameter note are useful additions. It loses one point because the 'Args:' section is redundant with the input schema and could be omitted without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-by-id tool with one parameter and an output schema, the description is mostly adequate. The annotations cover safety, and the schema covers the parameter. However, the description doesn't clarify what HostConfig is or what the output represents, which could matter for an agent deciding between this and get_config_ui_by_id or list_config_host. The output schema exists but the description doesn't reference it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The description mentions 'id: Path parameter' which adds the crucial information that id is a path parameter rather than a query or body parameter. However, it doesn't explain what the id refers to (e.g., host config ID) or provide any format constraints beyond the schema's integer type. The description adds some value but leaves the semantic meaning of the parameter largely to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('HostConfig'), which clearly identifies the operation. It also includes the HTTP endpoint, which helps disambiguate from sibling tools like get_config_downloadclient_by_id or get_config_ui_by_id. However, it doesn't explicitly explain what HostConfig represents, so an agent unfamiliar with the domain might not know what it is.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 doesn't mention that this is for reading host configuration settings, nor does it contrast with update_config_host_by_id or list_config_host. The only usage signal is the endpoint and the 'Read' verb, which is 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.

get_config_importlist_by_idC
Read-onlyIdempotent

Read ImportListConfig.

GET /api/v3/config/importlist/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description only repeats the 'Read' action without adding any new behavioral context such as auth requirements, response format, or error behavior. It adds no value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and well-structured with a clear title, HTTP method, and argument list. However, it is so sparse that it borders on under-specification, offering minimal information despite the format being efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one integer parameter and an output schema, the description is minimal. It lacks any explanation of what an ImportListConfig is, how the id relates to the config, or when to use this endpoint. Given the simplicity, it is still under-specified for an agent to call correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the id parameter, so the description must compensate. It only states 'id: Path parameter', which is already obvious from the schema and adds no meaning about what the id represents or how to obtain it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Read ImportListConfig' with a specific verb and resource, and includes the HTTP method and path. It distinguishes from siblings like get_importlist_by_id by the 'config' prefix, though it does not explicitly call out that distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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 get_importlist_by_id or update_config_importlist_by_id. The description provides no context for selection or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_config_indexer_by_idA
Read-onlyIdempotent

Read IndexerConfig.

GET /api/v3/config/indexer/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive behavior so the bar is lower. The description adds the HTTP method and path, which is useful but does not disclose additional behavioral details like error handling or authentication requirements. The GET method and 'Read' align with annotations with no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely tight and front-loaded: the core operation comes first, followed by the exact endpoint and argument definition. There is zero fluff and every sentence earns its place. It is an example of appropriately minimal documentation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool with a rich output schema and annotations covering safety, the description is largely sufficient. It includes the full path and parameter location, and the output schema explains the return value. The main missing piece is a clearer definition of what an IndexerConfig ID is, but the endpoint and name make this reasonably inferable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the lone 'id' parameter. It merely labels it as 'Path parameter', which adds minimal value beyond the schema's type of integer. It does not explain what the id refers to or any constraints, leaving the agent to infer meaning from the endpoint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Read IndexerConfig.' which is a specific verb and resource, clearly indicating this tool reads a single indexer config. The included HTTP endpoint GET /api/v3/config/indexer/{id} further disambiguates it from sibling tools like list_config_indexer or get_indexer_by_id, making the tool's purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternative guidance is provided. The usage is implied by the 'by_id' pattern and the endpoint, suggesting an agent would call this when it has a specific indexer config ID, but the description does not state this or contrast it with list_config_indexer. The context is not misleading but relies on convention.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_config_mediamanagement_by_idA
Read-onlyIdempotent

Read MediaManagementConfig.

GET /api/v3/config/mediamanagement/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds the GET method and path but no additional behavioral context such as authentication, error behavior, or response details. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise and front-loaded: the first line states the operation clearly, then the endpoint and single argument are documented without filler. Every line contributes useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity, one required parameter, output schema availability, and strong annotations, the description is mostly complete for invoking the tool correctly. It lacks only explicit sibling differentiation and potential error context, which are not essential for a simple read-by-id endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It identifies id as a path parameter and places it in the URL, adding meaning beyond the bare integer property in the input schema. It does not explain the full domain of valid IDs, but for a single-config GET this is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Read MediaManagementConfig.' The GET /api/v3/config/mediamanagement/{id} path makes clear this retrieves a single config by ID. It does not explicitly contrast with sibling list_config_mediamanagement, so it stops short of perfect sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance about when to use this tool versus alternatives. It does not mention list_config_mediamanagement for fetching all configs or update_config_mediamanagement_by_id for modifications. The endpoint and parameter indirectly imply single-item retrieval, but no selection criteria or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_config_naming_by_idC
Read-onlyIdempotent

Read NamingConfig.

GET /api/v3/config/naming/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no behavioral context beyond 'Read' and the HTTP GET method, both of which are already implied by the annotations and tool name. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core action. The endpoint adds concrete API detail, though it is somewhat redundant with the tool name. There is no filler or unnecessary prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple single-parameter read tool with a rich output schema and safety annotations, so an extensive description is not essential. However, it lacks any mention of how to find a valid id, its relationship to list_config_naming, or potential error conditions. It is adequate for a basic fetch but leaves some gaps for an agent without prior domain knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description's 'Args: id: Path parameter' is the only added parameter context. It clarifies the location of id but does not explain what the id identifies, its valid values, or its relationship to NamingConfig. This is minimal compensation for the missing schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read NamingConfig' and gives the exact GET endpoint, making the action and resource clear. It does not explicitly contrast with list_config_naming or update_config_naming_by_id, but the '/{id}' path and by_id name make the singular read intent evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 sibling tools such as list_config_naming or update_config_naming_by_id. It does not mention prerequisites, such as how to obtain a valid id, or any conditions that would make another tool more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_config_ui_by_idB
Read-onlyIdempotent

Read UiConfig.

GET /api/v3/config/ui/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the HTTP method and path, which is useful but does not disclose additional behavior such as error responses or whether the config is cached. This is acceptable given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and front-loaded: 'Read UiConfig' followed by the endpoint and argument. Every sentence is informative and there is no extraneous content. For a simple one-parameter get-by-id tool, this is an ideal size.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one parameter, output schema present, annotations cover safety). The description, combined with the path and parameter, is minimally sufficient but lacks clarity about the UiConfig resource itself and any failure behavior. Given the low complexity accrues, a score of 3 reflects that the essential facts are present but no extra context is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain the parameter. It only states 'id: Path parameter', which conveys the parameter location but not its meaning or permissible values. It does not mention that id identifies the UiConfig resource, leaving an agent to infer this from the tool name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read UiConfig' with the explicit endpoint GET /api/v3/config/ui/{id}, which clearly identifies the action and resource. It distinguishes from siblings like list_config_ui (which lists) and update_config_ui_by_id (which updates), though it does not name them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 alternatives. The 'by_id' suffix and path parameter imply it is for fetching a single UI config, but the description does not state when to prefer it over list_config_ui or how it differs from other get_*_by_id tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_content_by_pathC
Read-onlyIdempotent

Read StaticResource.

GET /content/{path}

Args: path: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the HTTP method (GET) and endpoint path, which are not in the annotations. However, it does not describe response format, error handling, or any additional behavioral nuances. Given the annotations, this is acceptable 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded with the purpose and endpoint. It contains no filler and is structured logically: purpose, HTTP method, and argument. It earns a 4 for being succinct without being wasteful, though it could benefit from a bit more detail without losing efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is very brief and lacks context about what constitutes a 'StaticResource', how the path should be formatted, or how this differs from the similar sibling get_by_path. An output schema exists, so return values need not be described, but the tool's purpose and parameter semantics are insufficiently elaborated for an agent to use it correctly in ambiguous situations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter 'path' with 0% schema description coverage. The description says 'path: Path parameter.' which is essentially redundant with the parameter name and does not explain expected format, examples, or how the path should be constructed. It adds minimal meaning beyond the schema, and with no schema description, this is a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read StaticResource.' which indicates a specific action (read) on a resource type (StaticResource), and the tool name get_content_by_path clarifies the resource is content accessed by path. It is not a tautology, but it does not explicitly differentiate from the sibling get_by_path, which might serve a similar purpose. The verb and resource are clear enough for a basic understanding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description does not mention any prerequisites, exclusions, or when to choose this over similar tools like get_by_path. It simply provides the endpoint and argument, leaving the agent without context on appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_customfilter_by_idA
Read-onlyIdempotent

Read CustomFilter.

GET /api/v3/customfilter/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is fully covered. The description adds only the endpoint and 'Read' label, which does not go beyond the annotations but does not contradict them either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise: a one-line purpose, the endpoint, and the parameter definition. Every sentence adds value, and the main purpose is front-loaded with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool with annotations covering safety and an output schema documenting the return, the description covers all essential call semantics. It omits optional error behavior and prerequisites, which are not critical here, making it nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds the minimal semantic that 'id' is a path parameter. Since the tool name and endpoint make the meaning clear, this is adequate but not rich; it does not fully compensate for the schema gap but is sufficient for a single self-explanatory parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource – 'Read CustomFilter' – and provides the exact GET endpoint. This clearly distinguishes it from sibling get_*_by_id tools and list_customfilter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_customfilter or update_customfilter_by_id. The usage is only implicitly conveyed by the tool name, with no explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_customformat_by_idB
Read-onlyIdempotent

Read CustomFormat.

GET /api/v3/customformat/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only the HTTP GET method and path parameter, which is consistent but does not add behavioral context such as response shape or pagination (output schema covers response). No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely compact with the main action front-loaded. The endpoint and Args block are directly useful, though the endpoint line partially repeats the 'Read' intent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read operation with output schema and safe annotations, the description is nearly sufficient. However, it lacks any context on when to choose this over list_customformat or get_customfilter_by_id, and it does not elaborate what the returned CustomFormat represents.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It identifies 'id: Path parameter', clarifying that the single required parameter belongs in the URL path rather than the query body, which goes beyond the bare schema property.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('Read CustomFormat') and includes the exact endpoint GET /api/v3/customformat/{id}, which identifies a single-resource read. It does not explicitly contrast with list_customformat or other read siblings, so it misses full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 the many sibling list/update/delete customformat tools or other get_*_by_id tools. The agent must infer usage from the name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_delayprofile_by_idB
Read-onlyIdempotent

Read DelayProfile.

GET /api/v3/delayprofile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only, idempotent, non-destructive nature of the tool, and the description aligns with those. The description adds the HTTP GET method and URL template, but it does not provide further behavioral details such as error responses when the id does not exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core operation stated first and no redundant or promotional language. It is direct, although the Args section is slightly terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The low complexity, one required parameter, output schema presence, and strong read-only annotations on the tool make the description mostly adequate. Still, the lack of clarity around the id semantics and any error/response behavior leaves a small but relevant gap for an agent operating without further context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameter description, and the tool description only says 'id: Path parameter,' which adds little beyond the schema's required integer field. It does not explain that the id is the delay profile identifier, any value constraints, or how it maps to the path.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with 'Read DelayProfile,' making the specific operation and resource clear, and the GET /api/v3/delayprofile/{id} line confirms that it fetches a single profile by id. It does not explicitly name the analogous list_delayprofile or update/delete tools, but the by-id read intent is recognizable from the name and path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to fetch a single delay profile versus using a sibling such as list_delayprofile, create_delayprofile, or update_delayprofile_by_id. Any selection between these alternatives is left to the agent's 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.

get_downloadclient_by_idB
Read-onlyIdempotent

Read DownloadClient.

GET /api/v3/downloadclient/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description's 'Read' and 'GET' are consistent with those annotations and add path-level context, but they do not reveal additional behavioral traits such as error behavior 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three terse lines with no filler. The core action is front-loaded in 'Read DownloadClient,' followed by the endpoint and argument, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read operation, the annotations cover safety and the output schema covers the return shape. However, the description lacks sibling differentiation and usage context, so the agent must infer selection criteria from the tool name alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single id parameter. It only labels id as a path parameter, without explaining that it identifies the specific DownloadClient to fetch, how it relates to the response, or how the id can be obtained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read DownloadClient' and gives the HTTP GET endpoint, clearly identifying the verb and resource. It does not explicitly differentiate it from sibling tools like list_downloadclient or get_config_downloadclient_by_id, but the name and path make the target unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus listing download clients or fetching other by-id resources. The description only restates the endpoint and argument, leaving tool selection to inference from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_episode_by_idC
Read-onlyIdempotent

Read Episode.

GET /api/v3/episode/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the HTTP method and path, which is minor context but not a meaningful behavioral disclosure beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded with the core action 'Read Episode.' The endpoint and argument lines are redundant with the schema but do not add much noise. It is concise, though it could be more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-by-id tool with an output schema and strong safety annotations, the description is mostly adequate. However, it lacks any context about what the returned episode object contains, how it relates to list_episode, or any special cases, so it is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but there is only one parameter, 'id', and the description explicitly states 'Args: id: Path parameter.' This adds the path-parameter role, which is useful, though the schema already defines the parameter name and type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read Episode' and includes the HTTP endpoint, which clearly identifies the resource and action. However, it does not distinguish this from sibling tools like get_episodefile_by_id or list_episode, and the name already conveys most of the meaning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only states the endpoint and parameter, leaving the agent to infer that this is the single-episode lookup counterpart to list_episode.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_episodefile_by_idA
Read-onlyIdempotent

Read EpisodeFile.

GET /api/v3/episodefile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description need not cover safety. It adds only the HTTP method/path, which is structural rather than a deeper behavioral trait like permissions, error cases, or response alternatives. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and front-loaded: a one-line purpose, the endpoint, and the single parameter. Every piece contributes to invoking the tool correctly, with no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-ID read operation, the description plus the annotations and output schema cover the essentials: what it reads, how to pass the ID, and the fact that it is safe/idempotent. It could be slightly richer by stating the expected return behavior, but the output schema mitigates that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for what the schema doesn't say. It does add meaningful value by specifying that 'id' is a path parameter, which is necessary for correct invocation beyond the schema's bare 'integer' type and 'Id' title.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Read') and resource ('EpisodeFile') and includes the REST path with {id}, so an agent can tell it is a single-resource retrieval operation. It does not explicitly contrast itself with sibling tools like list_episodefile or get_episode_by_id, so it falls short of a top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the tool reads an EpisodeFile by its ID. There is no explicit guidance about when to prefer this over list_episodefile or other get_*_by_id tools, so the agent must infer usage from the name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_importlist_by_idC
Read-onlyIdempotent

Read ImportList.

GET /api/v3/importlist/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it's a safe read. The description adds no additional behavioral context (e.g., error handling, response format). It doesn't contradict annotations, but also doesn't add value beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief, with a single line and a code snippet. It's concise but not well-structured; it lacks any contextual sentences. While it's short, it's under-specified rather than efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and annotations, the description is still incomplete. It doesn't explain the semantics of the ImportList resource, nor does it provide any usage context. With many sibling get_*_by_id tools, the agent may not know which one to pick. The minimal description is insufficient for a tool with zero schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description only repeats the schema's 'id: Path parameter' without explaining what the ID represents or any format expectations. Since schema coverage is 0%, the description should compensate, but it doesn't. The parameter's meaning is left entirely to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read ImportList' clearly, indicating a read operation on a specific resource. The name itself suggests fetching by ID, and it's distinct from list_importlist and create/update/delete tools. However, it doesn't elaborate on what an ImportList is, so it's not fully self-contained.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_importlist or other get_*_by_id tools. It doesn't mention prerequisites or when to choose this over listing. Lacks explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_importlistexclusion_by_idB
Read-onlyIdempotent

Read ImportListExclusion.

GET /api/v3/importlistexclusion/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the HTTP method and path, which is minor context. It does not describe 404 behavior, response shape, or any side effects, but for a simple read operation with strong annotations, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded with the core purpose. The HTTP path and Args section are useful but somewhat redundant with the schema. No wasted words, though it could be slightly more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-ID read tool with an output schema present and strong annotations, the description is mostly adequate. The main gap is the lack of guidance on when to use this versus the list variants, and no mention of what happens if the ID does not exist. Given the low complexity, this is a reasonable but not outstanding level of completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but there is only one parameter, 'id', which is self-explanatory as a path parameter. The description explicitly says 'Args: id: Path parameter,' which adds a small amount of context beyond the schema. However, it does not explain what the ID refers to or any format constraints beyond the integer type in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Read ImportListExclusion.' The HTTP path GET /api/v3/importlistexclusion/{id} reinforces that this is a single-resource read operation. It does not explicitly distinguish itself from list_importlistexclusion or list_importlistexclusion_paged, but the name and path make the distinction fairly obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like list_importlistexclusion or list_importlistexclusion_paged. It only shows the endpoint and a path parameter, leaving the agent to infer that this is for fetching a single item by ID.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_indexer_by_idC
Read-onlyIdempotent

Read Indexer.

GET /api/v3/indexer/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. However, the description adds no additional behavioral context such as error handling, authentication needs, or what happens if the ID does not exist. It only repeats the endpoint and parameter, providing no value beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with only three lines. It is front-loaded with the purpose ('Read Indexer.') and then includes the endpoint and parameter list. Every part is relevant, though the raw URL might be redundant with the tool name, but it does not detract. Overall, it is efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a simple single-parameter read, the description is minimally sufficient for an agent to call it correctly: it knows the action, the resource, and the parameter. The output schema covers return values, and annotations cover safety. However, it lacks usage guidance and fails to distinguish from similar tools, making the context incomplete in a broader sense.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate for parameter semantics. It does state that 'id' is a path parameter, which clarifies its location, but it does not explain what the ID represents or any constraints beyond the schema's type and required status. This is minimal additional meaning; a bit more explanation about the indexer ID would be warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Read Indexer.' and provides the endpoint path, indicating a read operation on a specific indexer resource by ID. It is not a tautology and the verb 'Read' plus the resource 'Indexer' is unambiguous. However, it does not differentiate from sibling tools like get_config_indexer_by_id or list_indexer, which might also involve reading indexer-related data, so it misses explicit distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description simply states the HTTP verb and path without any context about typical use cases, prerequisites, or exclusion conditions. An agent would have to infer that this is the straightforward way to fetch an indexer by ID, but no explicit direction is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_language_by_idA
Read-onlyIdempotent

Read Language.

GET /api/v3/language/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false; 'Read' and the GET method are consistent with those. The description adds no further behavioral context such as authentication, rate limits, or error behavior, but there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short lines with the core action first, followed by endpoint and the single argument. No filler or redundant explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read operation with an output schema and read-only annotations, the endpoint, method, and path parameter are sufficient to invoke it correctly. It is not as complete as a description that also names alternatives or return semantics, but the output schema covers return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description's 'id: Path parameter' adds the useful fact that id is passed in the path rather than the body or query. It does not, however, elaborate on what the id represents, leaving the schema's integer type and tool name to carry that meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states the verb 'Read' and the resource 'Language', and the endpoint '/api/v3/language/{id}' makes it a fetch-by-ID operation. This cleanly distinguishes it from the sibling collection tool list_language.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no mention of when to use this tool versus alternatives such as list_language, nor any exclusion or prerequisite. The only context is the endpoint and parameter, so the agent must infer usage from the name and path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_languageprofile_by_idC
Read-onlyIdempotent

Read LanguageProfile.

GET /api/v3/languageprofile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds no behavioral context beyond the HTTP method and path, such as error behavior or return format, which is not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and to the point, with 'Read LanguageProfile' front-loaded. It avoids unnecessary verbosity, though it could be slightly more informative without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-id tool with an output schema and safe annotations, the description is minimally adequate. However, it doesn't differentiate from list_languageprofile or mention any error conditions, making it slightly incomplete for an agent unfamiliar with the API.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description says 'id: Path parameter', which clarifies the parameter's location in the URL, a small addition over the schema. However, it doesn't explain that the id refers to a language profile ID, though the tool name implies it. With only one parameter and 0% schema coverage, the description adds minimal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Read') and resource ('LanguageProfile'), and the path includes the {id} placeholder, making it obvious this retrieves a single profile by ID. It distinguishes from list_languageprofile by implying a targeted fetch, though it doesn't explicitly name the sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this vs alternatives. It doesn't mention that it should be used when a specific language profile ID is known, or that list_languageprofile is for retrieving all profiles. The agent is left to infer from the name and path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_localization_by_idC
Read-onlyIdempotent

Read Localization.

GET /api/v3/localization/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the endpoint and parameter but doesn't disclose any additional behaviors like error handling or response structure. Given the annotations, a 3 is fair—it adds minimal context beyond what's already structured.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with no fluff, and the purpose is front-loaded. It efficiently states the verb, resource, and parameter, though it could be slightly more informative without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-ID tool with an output schema and annotations, the description is arguably minimal but sufficient to call the tool. However, it lacks any context about when to use it, potential errors, or the nature of the returned object. Given the tool's simplicity, a 2 reflects the bare minimum—it's not completely inadequate but leaves room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only restates 'id: Path parameter,' which adds no meaning beyond the schema's type and required flag. It doesn't explain what the ID represents or how it's used, so the description fails to compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Read') and resource ('Localization'), and the tool name includes 'by_id' so it's evident this fetches a specific localization. It distinguishes from siblings like list_localization and list_localization_language, though it doesn't explicitly say 'by ID' in the description itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention when to prefer this over list_localization or other localization endpoints, nor any exclusions or prerequisites. The description is purely a route template.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_log_file_by_filenameB
Read-onlyIdempotent

Read LogFile.

GET /api/v3/log/file/{filename}

Args: filename: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the HTTP endpoint and the fact that the filename is a path parameter, but it does not add behavioral context like return format or potential size limits. It is consistent with annotations but adds little beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded with the verb and resource. It contains no fluff or repetition, and the endpoint and argument are presented clearly. It is appropriately sized for a simple read operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and an output schema, and annotations cover safety. However, the description does not clarify what the output contains (e.g., file content) or any usage considerations (e.g., filename discovery via list_log_file). It is adequate but not thorough for a complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It does mention that filename is a 'Path parameter', which adds a small bit of context beyond the schema's type/title. However, it does not explain what filenames are valid or how they relate to the log file listing, leaving the parameter meaning mostly implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action 'Read LogFile' and provides the endpoint, which clearly indicates it retrieves a specific log file by filename. It distinguishes from siblings like list_log_file and get_log_file_update_by_filename via the filename path parameter. However, it is terse and could be more explicit about returning the file content, so not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention any context, exclusions, or comparisons to sibling tools such as list_log_file or get_log_file_update_by_filename. The agent receives no routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_log_file_update_by_filenameC
Read-onlyIdempotent

Read UpdateLogFile.

GET /api/v3/log/file/update/{filename}

Args: filename: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds no further behavioral context such as file content format, error behavior, or special constraints, merely restating that it reads the resource.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded with the core statement, followed by the endpoint and argument. It avoids waste, though a single additional sentence about usage or filename format would improve it without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite being a simple one-parameter read with an output schema and safety annotations, the description leaves critical ambiguity: what exactly 'UpdateLogFile' is, what filename to supply, and how it differs from the similar sibling get_log_file_by_filename. This is insufficient for confident selection and invocation among many sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only says 'filename: Path parameter,' which tells the agent the parameter goes in the URL path but not what filename values are valid, whether an extension is needed, or how it maps to the update log.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Read UpdateLogFile.' The endpoint confirms it is a GET operation for a specific log file. However, it does not explicitly distinguish this from the closely related sibling get_log_file_by_filename, leaving the 'update' qualifier in the name as the only differentiator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives like get_log_file_by_filename or list_log_file_update. The endpoint path hints at the update log, but no explicit context, exclusions, 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_mediacover_by_series_id_by_filenameC
Read-onlyIdempotent

Read MediaCover.

GET /api/v3/mediacover/{seriesId}/{filename}

Args: series_id: Path parameter. filename: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYes
series_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey read-only, idempotent, and non-destructive behavior, so the description's 'Read' adds little. It discloses the HTTP method and path structure but does not add behavioral context such as output characteristics, cache implications, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the core purpose. The endpoint and argument layout are clean, though slightly terse; no words are wasted, but additional useful context could be included without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with only two path parameters, the endpoint plus argument list is largely sufficient, especially with strong annotations and an output schema. It lacks usage context and deeper parameter semantics, but nothing essential for making the call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only labels both parameters as path parameters, which is useful for request construction, but it does not explain what series_id or filename mean semantically or how they relate to MediaCover.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads MediaCover, naming a specific verb and resource. It does not explicitly differentiate itself from siblings such as get_content_by_path, but the resource name and endpoint are distinctive enough for basic identification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It simply provides the endpoint and parameters, leaving the agent to infer usage context from the tool name and annotations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_metadata_by_idB
Read-onlyIdempotent

Read Metadata.

GET /api/v3/metadata/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the HTTP method and path parameter but does not disclose response behavior, error cases, or what the metadata represents. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and clearly structured with a summary, endpoint, and args section. There is no filler or redundancy, though the terseness leaves out sibling routing and domain context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with output schema and annotations, the description is nearly sufficient to make a correct call. It lacks context about what 'metadata' refers to and does not relate to list_metadata, but the endpoint and path parameter provide the essential mechanics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds that 'id' is a path parameter, which is meaningful location semantics beyond the schema's integer type. However, it does not explain what the ID refers to or provide any constraints or format details beyond the obvious.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read Metadata' and provides the exact endpoint GET /api/v3/metadata/{id}, making it clear this fetches a single metadata resource by ID. It does not explicitly distinguish itself from list_metadata or other get_*_by_id siblings, but the endpoint and name convey the core operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives. It does not mention that list_metadata should be used to retrieve all metadata, or that this tool requires a known ID. The intended usage is only implied by the path parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_notification_by_idB
Read-onlyIdempotent

Read Notification.

GET /api/v3/notification/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description merely restates the read-only behavior already declared by readOnlyHint=true, idempotentHint=true, and destructiveHint=false. It adds no further behavioral context such as error behavior, authentication needs, or what happens when the id is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and front-loaded: 'Read Notification' immediately conveys the operation, followed by the endpoint and arguments. There is no unnecessary wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only get-by-id with an output schema and safety annotations, the description covers the essential routing and parameter location. It is complete enough to invoke, though it lacks any note on when to prefer it over list_notification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates by identifying the single parameter as a path parameter, which is not stated in the schema. For one required integer id, this is sufficient to construct the call correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a verb and resource ('Read Notification') and includes the exact GET endpoint, so an agent can tell it fetches a single notification. It does not explicitly contrast with list_notification or other get_*_by_id siblings, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to choose this tool over list_notification or other retrieval tools. The only implicit signal is the 'by_id' name and the {id} path parameter, which suggests single-resource lookup, but no exclusions or alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_qualitydefinition_by_idA
Read-onlyIdempotent

Read QualityDefinition.

GET /api/v3/qualitydefinition/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds only the HTTP GET path and path-parameter detail, which is consistent but does not disclose additional behavioral context such as error behavior or response characteristics. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: one sentence states the purpose, followed by the endpoint and an args list. 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-ID read operation, the description covers the essential endpoint and parameter details. The annotations cover safety, and an output schema exists, so the absence of deeper behavioral explanation is acceptable. It could mention the relationship to list_qualitydefinition, but that is not necessary for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only lists id as an integer with no description, so the description's clarification that it is a 'Path parameter' adds meaningful binding information. This compensates for the 0% schema description coverage, though it does not explain what the identifier refers to beyond the tool name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Read QualityDefinition.' This is specific enough to distinguish it from the many sibling tools like get_qualityprofile_by_id or list_qualitydefinition. It could be stronger by explaining what a QualityDefinition is, but the core 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.

Usage Guidelines2/5

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 list_qualitydefinition or update_qualitydefinition_by_id. The phrase 'Read QualityDefinition' implies the general use case, but it does not state conditions, exclusions, or when a different tool should be chosen.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_qualityprofile_by_idC
Read-onlyIdempotent

Read QualityProfile.

GET /api/v3/qualityprofile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description is not required to restate safety. The description adds only 'Read' and the HTTP method, which is consistent with annotations and adds minimal context. No contradiction; the description is neutral but does not provide additional behavioral details like response structure or 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and contains no fluff, but it is under-specified. It includes the endpoint and an arg listing, yet omits useful context like when to use this over list_qualityprofile. It is not verbose, but it could be more informative without being lengthy, so it earns a middle score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a simple read with one parameter and an output schema exists, the description is incomplete because it lacks usage context (when to call this vs. list_qualityprofile) and does not clarify the semantic meaning of the id. The output schema covers the return value, so that gap is acceptable, but the missing usage and id clarification make it inadequate for an agent to correctly choose and invoke this tool in all situations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only states that 'id' is a path parameter, which adds a tiny bit of context (location in URL) beyond the schema's type and required flag, but it does not explain what the id refers to (e.g., the quality profile ID) or any constraints or formatting. This is insufficient compensation for the lack of schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Read') and the resource ('QualityProfile'), which distinguishes it from create, update, and delete siblings. However, it does not explicitly differentiate from list_qualityprofile, relying on the name and the singular path parameter to imply a single-item fetch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention that list_qualityprofile is for fetching all profiles, nor does it explain the intended use case (e.g., retrieving a specific quality profile by its ID). The HTTP endpoint is given, but that is not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_releaseprofile_by_idA
Read-onlyIdempotent

Read ReleaseProfile.

GET /api/v3/releaseprofile/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering safety. The description adds the HTTP method and path, which is contextual but not a behavioral disclosure beyond what annotations provide. It does not mention potential 404 errors, authentication needs, or rate limits. With annotations covering the core safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded with the core purpose. It consists of a single declarative sentence followed by the endpoint and a minimal parameter note. No unnecessary words or redundant details. It is efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter, read-only, output schema present), the description is largely complete. It identifies the endpoint and parameter role. It does not explicitly state that it returns the release profile object, but 'Read' and the output schema imply that. The absence of error handling or return details is acceptable given the output schema and the trivial complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only states 'id: Path parameter,' which adds the role but not the meaning or purpose of the ID. It does not explain that the ID refers to a specific release profile, though that is inferable from the tool name. The description fails to provide substantive semantic value beyond the schema's type/title.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('ReleaseProfile'), and the HTTP path with {id} clearly indicates this fetches a single record by ID. This distinguishes it from siblings like list_releaseprofile (list all) and create/update/delete operations. The 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a specific release profile ID, but it does not explicitly mention alternatives or exclusion criteria. There is no guidance on when to prefer this over list_releaseprofile or other get_*_by_id tools. The usage is implied from the resource and path, but not made explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_remotepathmapping_by_idB
Read-onlyIdempotent

Read RemotePathMapping.

GET /api/v3/remotepathmapping/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the HTTP endpoint and parameter location, but says nothing about error handling, required permissions, or return behavior beyond what annotations and schema already tersely convey. Since annotations exist, the bar is lower and 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and free of filler: a one‑line purpose, an endpoint line, and an argument clarification. All content is relevant and easy to scan. It could arguably be condensed further, but for an API tool the structure is clean and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the tool has a single required parameter, has an output schema, and has annotations covering read-only/behavior, the description provides enough to invoke it correctly. It names the endpoint and the path parameter. Appreciably, it doesn't explain what a RemotePathMapping is or any of the return traits, but that lower gap is minimal because the JSON output schema provides the structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for 'id', and the description only says 'id: Path parameter.' This adds that the value goes in the request path, which is mildly useful but already implied by the endpoint. It does not explain what the ID represents or any constraints, so the description only marginally compensates for the schema's lack of explanatory text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'Read' and names the resource 'RemotePathMapping', which states a concrete operation. The endpoint GET /api/v3/remotepathmapping/{id} makes clear it fetches a single instance by ID, differentiating it from list operations, though it does not 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.

Usage Guidelines2/5

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 doesn't mention list_remotepathmapping for bulk retrieval, get_by_path for path-based lookup, or suggest any exclusions. A callable agent must rely on the tool name and endpoint alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rootfolder_by_idC
Read-onlyIdempotent

Read RootFolder.

GET /api/v3/rootfolder/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds no new safety context. It only restates 'Read' and gives the HTTP endpoint, which does not disclose return format, pagination, or any edge-case behavior. The description carries no additional behavioral information beyond what annotations already provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, but it is under-specified rather than efficiently informative. It lacks front-loaded critical details and feels like a placeholder. While it is short, it does not earn its place by adding value beyond the tool name and endpoint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-id tool, the description is incomplete. It does not explain what a RootFolder is, what the response contains, or any error handling. Given the large set of sibling tools, the lack of guidance on when to use this specific getter makes it hard for an agent to choose correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description only says 'id: Path parameter', which is already implicit from the schema and the URL pattern. It does not explain what the id represents (e.g., the root folder's unique identifier) or any constraints. With schema description coverage at 0%, the description fails to compensate for the missing semantic meaning of the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Read RootFolder' with a specific verb and resource, which is unambiguous. However, it does not explicitly differentiate from the many other get_*_by_id sibling tools, though the resource name is specific enough to infer the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical use cases, or how it differs from other get_*_by_id tools like get_movie_by_id or get_collection_by_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_series_by_idC
Read-onlyIdempotent

Read Series.

GET /api/v3/series/{id}

Args: id: Path parameter. include_season_images: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
include_season_imagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds no behavioral context beyond the verb 'Read' and the GET method. No additional traits like response behavior or error cases 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with 'Read Series' followed immediately by the endpoint and a compact Args block. It is structured and free of filler, though the Args section partially duplicates schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter GET with an output schema and safety annotations, the basic invocation details are mostly sufficient. However, it lacks tool-selection guidance and does not define the semantic effect of include_season_images, 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.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate, but it only labels id as a path parameter and include_season_images as a query parameter. It does not explain what include_season_images controls or how the default null behaves, leaving meaning to be guessed from the name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Read Series' and the GET /api/v3/series/{id} endpoint, clearly identifying the action and resource. It does not explicitly differentiate this from sibling tools like get_series_by_id_folder or list_series, so it misses the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance about when to use this tool versus alternatives such as list_series or get_series_by_id_folder. It only restates the endpoint and parameters, leaving selection entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_series_by_id_folderD
Read-onlyIdempotent

Read SeriesFolder.

GET /api/v3/series/{id}/folder

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. However, the description adds no behavioral context beyond those annotations – it does not mention return format, potential side effects, or any constraints. For a simple read operation this is acceptable but still minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, but this is under-specification rather than concise efficiency. It front-loads the endpoint but provides no explanatory value. Every word is wasted on repeating what the name already says.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (single integer parameter, read-only operation, output schema present), a terse description might suffice if the resource were obvious. However, 'SeriesFolder' is ambiguous, and the description fails to explain what it returns or when to use it. The output schema exists but does not compensate for the lack of purpose context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, id, has zero schema description coverage. The description merely labels it as 'Path parameter', which adds no semantic meaning. It does not clarify that the id refers to a series ID or what value it expects beyond being an integer. The agent must guess from the tool name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read SeriesFolder' which is a verb and resource, but it is essentially a restatement of the tool name. It does not clarify what a SeriesFolder is or how it differs from get_series_by_id. The endpoint path adds some context but the description itself is tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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 the many sibling get_*_by_id tools. No mention of when fetching a folder is appropriate or what distinguishes it from fetching the series itself. The agent is left to infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_system_task_by_idB
Read-onlyIdempotent

Read Task.

GET /api/v3/system/task/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the lower bar applies. The description adds the HTTP GET method, which is consistent with those annotations, but it does not disclose non-relevant behaviors such as 404 handling for a missing id or what a system task represents. It adds modest value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the purpose line 'Read Task.' Each remaining line is short, though the 'Args: id: Path parameter' line partially duplicates the schema and the endpoint line adds only marginal value. For a 1-parameter tool this is appropriately distilled, if slightly skeletal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (1 required integer parameter, annotations and an output schema present), so the minimal description reaches viability. Still, a single sentence saying it returns the task with a given id and that ids come from the system-task list endpoint would meaningfully close the gap; the current text leaves the semantics of 'system task' implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does add meaning by labeling 'id' as a path parameter, which is not inferable from the schema's type/title alone. However, it never explains the id's provenance or meaning (e.g., a task id returned by list_system_task), so compensation is only partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource: 'Read Task' with the endpoint 'GET /api/v3/system/task/{id}'. The path containing '{id}' distinguishes it from the sibling 'list_system_task' (which would target the collection), but it does not explicitly name or contrast that sibling, 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.

Usage Guidelines2/5

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. It does not mention that 'list_system_task' exists for enumerating tasks, does not say where the id comes from, and provides no context about preconditions. Agents are left to infer usage entirely from the tool name and URL.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tag_by_idC
Read-onlyIdempotent

Read Tag.

GET /api/v3/tag/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds no behavioral context beyond restating that it is a read/GET. It does not mention auth requirements, 404 behavior, or what a successful read returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the core verb and resource, and contains no filler. It could be slightly more informative, but every line earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter GET with an output schema and safety annotations, the essentials for invocation are present: the endpoint and path parameter. However, the lack of sibling differentiation and absence of any behavioral note make it only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does clarify that id is a path parameter rather than a query/body field, which is meaningful for invocation. It does not explain the meaning of the id, but the tool name and endpoint make that reasonably clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action ('Read Tag') and resource ('Tag') and includes the exact endpoint, so an agent knows this fetches a tag by ID. However, it does not distinguish this from the sibling get_tag_detail_by_id, so it misses the differentiation that would make it a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to call this tool versus list_tag, list_tag_detail, or get_tag_detail_by_id. The description only shows the endpoint and parameter, leaving the selection decision entirely 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_tag_detail_by_idC
Read-onlyIdempotent

Read TagDetails.

GET /api/v3/tag/detail/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description's "Read" verb and GET method are consistent with these annotations. It adds the endpoint path but discloses no further behavioral traits (e.g., 404 behavior, partial detail fields), so credit is limited beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely compact — a single operative sentence, the endpoint, and one argument line. There is zero redundancy and the verb is front-loaded. It is appropriately short for a trivial one-parameter read, though the brevity borders on under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and strong annotations covering safety, the description does not need to explain return values or mutation risk. What is missing is the semantic context of TagDetails and how this tool differs from get_tag_by_id and list_tag_detail. For a simple read, this is a moderate but not severe gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the lone parameter. It only says "id: Path parameter," which adds placement context beyond the schema's bare integer type, but it never explains what the id refers to (tag id vs. detail id) or how it maps to the resource. This is minimal compensation for a zero-coverage schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Read TagDetails." states a clear verb and resource, and the endpoint URL adds concrete context. However, the sentence largely restates the name get_tag_detail_by_id, and nothing defines what a TagDetail is or distinguishes it from the sibling get_tag_by_id or list_tag_detail. The purpose is not vague, but it is under-explained.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 alternatives such as list_tag_detail or get_tag_by_id. There are no usage conditions, exclusions, or prerequisites described. The agent must infer the appropriate context entirely from the name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wanted_cutoff_by_idB
Read-onlyIdempotent

Read Cutoff.

GET /api/v3/wanted/cutoff/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description's 'Read' and GET method are consistent with these annotations but add no additional behavioral context such as error cases, permissions, or response shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very brief and front-loaded with the core action. The Args section is somewhat redundant with the schema, but there is no padding or irrelevant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with strong annotations and an output schema, the description is minimally adequate, but it lacks any explanation of what a wanted cutoff is, leaving the agent to guess the domain meaning and the source of the ID.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only repeats the parameter name and notes 'id: Path parameter,' which adds a location detail but no meaning about what the ID represents or how to obtain it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Read Cutoff.' The endpoint GET /api/v3/wanted/cutoff/{id} clarifies this is a single-item fetch by ID, and the singular path distinguishes it from list_wanted_cutoff, though it never explains what a 'cutoff' is.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_wanted_cutoff or get_wanted_missing_by_id. The only implied usage is through the path parameter, leaving the agent to infer selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wanted_missing_by_idC
Read-onlyIdempotent

Read Missing.

GET /api/v3/wanted/missing/{id}

Args: id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds only the HTTP path and path parameter, which is interface information rather than behavioral context such as error cases, authentication, or response semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and structured with endpoint and args, which is easy to parse. However, 'Read Missing.' is vague and adds little value, so brevity borders on under-specification rather than efficient clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema and strong read-only annotations, the basic invocation surface is covered, but the tool lacks domain context about what a 'missing' record is and how this endpoint relates to sibling wanted/cutoff endpoints. An agent cannot confidently select or interpret this tool from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining the 'id' parameter. It only says 'id: Path parameter,' which adds no meaning beyond the parameter name and schema type; it does not say what entity the id refers to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read Missing.' which essentially restates the tool name without explaining what 'Missing' refers to in this domain. It does not distinguish the resource from closely related siblings like get_wanted_cutoff_by_id or list_wanted_missing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_wanted_missing or get_wanted_cutoff_by_id. The description only gives the HTTP endpoint and argument, leaving selection entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_apiB
Read-onlyIdempotent

Read ApiInfo.

GET /api

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover the safety profile. The description adds the HTTP endpoint and the resource name, but no additional behavioral context like response structure or pagination. Since the tool is simple and read-only, the description doesn't contradict annotations and provides marginal extra value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two lines: a concise statement and the HTTP method. It is efficient and front-loaded, with no wasted words. It could be slightly more descriptive but remains appropriately brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, a clear read-only intent, and an output schema exists, the description is sufficiently complete. The agent can infer the action and resource. There is no missing information that would prevent correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema already fully documents the input. The description doesn't need to add parameter details. The baseline for 0 params is 4, and the description doesn't detract from that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Read') and resource ('ApiInfo'), and includes the HTTP endpoint 'GET /api'. It distinguishes this tool as a read operation for API information, though it doesn't explicitly differentiate from other list_* siblings beyond the resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention any conditions, alternatives, or exclusions. The description is purely functional without routing the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_autotaggingA
Read-onlyIdempotent

Read AutoTagging.

GET /api/v3/autotagging

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds only the HTTP method 'GET', which is trivial. It does not add behavioral context like pagination or return structure, but given the rich annotations, the description is consistent and adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, containing exactly one meaningful sentence plus the HTTP method. Every word earns its place, and it is front-loaded with the core action. This is an ideal level of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with no parameters, an output schema, and annotations covering safety, the description is minimally sufficient. It could benefit from stating 'returns all autotagging rules' to be more explicit, but the resource name and endpoint make the behavior clear. The presence of an output schema reduces the need to describe the return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema is empty (coverage 100% trivially). The description does not need to explain parameters, and no ambiguity exists. The baseline for 0 parameters is 4, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read AutoTagging.' uses a specific verb and resource, clearly indicating a retrieval operation. It is distinguished from create/delete/update and from get_autotagging_by_id by the resource name and HTTP method, though it does not explicitly say 'list all', which is implied by the collection-style endpoint. It is clear enough to avoid confusion with the per-id getter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 its siblings, such as get_autotagging_by_id for a specific rule or list_autotagging_schema for the schema. Since the tool name is self-explanatory, the lack of explicit alternatives is a gap, but it is not misleading.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_autotagging_schemaB
Read-onlyIdempotent

Read AutoTagging.

GET /api/v3/autotagging/schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true/list idempotentHint=true and destructiveHint=false, so the description need not repeat these. However, it adds no behavioral context beyond the operation itself, such as that the response contains the schema definition, or any formatting details. With no annotation contradiction, the description adds minimal value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of only two short lines. It is front-loaded with the action phrase 'Read AutoTagging.' and then provides the endpoint. It wastes no words, though it could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a simple read of a schema, with no parameters and a provided output schema, so the description is largely sufficient. However, it does not explain what the 'schema' contains, such as that it defines the structure for creating an autotagging rule, or how it relates to create_autotagging. This missing context makes it slightly incomplete for an agent deciding between similar tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no need for parameter documentation. The schema already covers all parameters (100% coverage). The description's inclusion of the endpoint path adds a useful context for understanding the resource. With 0 parameters, a baseline of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read AutoTagging.' is clear that this tool reads the AutoTagging schema, and the HTTP path is included. It distinguishes from sibling tools like list_autotagging (which likely lists actual tags) via the '/schema' suffix. However, it does not explicitly state the resource type (schema) beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides the specific API endpoint, which implies how to use it, but it does not state when to use this tool versus alternatives. There are many sibling 'list_*' tools, and no guidance is given on when to call this one, such as before creating an autotagging rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_blocklistC
Read-onlyIdempotent

Read Blocklist.

GET /api/v3/blocklist

Args: page: Query parameter. page_size: Query parameter. sort_key: Query parameter. sort_direction: Query parameter. series_ids: Query parameter. protocols: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sort_keyNo
page_sizeNo
protocolsNo
series_idsNo
sort_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds 'Read' and 'GET', which merely restate the annotations, and it repeats parameter names already present in the schema. No additional behavioral traits are disclosed, such as pagination behavior, default sort order, or response format. The description contributes no value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with 'Read Blocklist', and the parameter list is organized. However, listing all six parameters with only 'Query parameter' duplicates the schema in a less informative way, which slightly reduces the value of each sentence. It earns a mediocre 3 for being concise but not maximally purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with six parameters and no schema descriptions, the description is incomplete. It omits any explanation of what each filter does, how to combine them, or what the response contains (though an output schema exists). There is no mention of when to apply this tool in a workflow. The presence of an output schema lightens the return-value burden, but the missing parameter semantics and usage guidance leave an agent underprepared to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only lists each parameter with the label 'Query parameter', which adds no semantic meaning. It does not explain the purpose of page, page_size, sort_key, sort_direction, series_ids, or protocols, nor does it specify formats or allowed values (e.g., what sort_key refers to, how protocols are encoded). This leaves an agent guessing about how to correctly set these parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Read Blocklist', which clearly states a verb ('Read') and a resource ('Blocklist'), and the endpoint GET /api/v3/blocklist confirms the exact operation. This is sufficiently specific to distinguish it from most sibling tools, though it does not explicitly name alternative list tools or contrast its scope. A minor lack of explicit differentiation 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.

Usage Guidelines2/5

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 that this is the read-only counterpart to delete_blocklist_* tools, nor does it suggest scenarios (e.g., 'use to fetch all blocked items'). With many list_* siblings, the lack of usage direction leaves an agent to infer context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_calendarC
Read-onlyIdempotent

Read Calendar.

GET /api/v3/calendar

Args: start: Query parameter. end: Query parameter. unmonitored: Query parameter. include_series: Query parameter. include_episode_file: Query parameter. include_episode_images: Query parameter. tags: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
tagsNo
startNo
unmonitoredNo
include_seriesNo
include_episode_fileNo
include_episode_imagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description carries a lower burden. However, the description adds no behavioral detail beyond restating 'Read' and 'GET', and does not mention default date ranges, filtering behavior, or return characteristics. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the endpoint, but the Args block repeats all seven parameter names already present in the input schema, with only the low-value phrase 'Query parameter' added. It is not verbose enough to be penalized heavily, yet some lines do not earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even with annotations and an output schema, the description lacks essential context for correct invocation: it does not explain the start/end date range semantics, tag syntax, or the meaning of the include_* flags relative to other calendar endpoints. For a seven-parameter tool with no schema descriptions, this is a notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description needed to explain the seven parameters. It only labels each as 'Query parameter', adding minimal information about placement but no semantics about formats, meanings, or relationships. This is insufficient compensation for completely undocumented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Read Calendar' with the endpoint 'GET /api/v3/calendar'. This is not a tautology and is understandable, but it does not differentiate the tool from siblings like get_calendar_by_id or list_feed_v3_calendar_sonarr_ics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description simply lists the endpoint and parameters without stating context, prerequisites, or comparing against sibling calendar/list tools. An agent would have to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_commandB
Read-onlyIdempotent

Read Command.

GET /api/v3/command

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the description adds little about side effects. It contributes the concrete HTTP mapping GET /api/v3/command, confirming the read-only behavior, but it doesn't mention response shape, pagination, or authorization, so it remains minimal rather than rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two short lines with no filler, and the endpoint is immediately visible. It is appropriately sized for a trivial zero-parameter read tool, though the phrase 'Read Command' is somewhat terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only tool with an output schema, the description is nearly sufficient, but it doesn't explicitly state that it returns the collection of commands and doesn't distinguish itself from get_command_by_id. The context signals compensate for much of the missing behavior, making it adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema already documents an empty argument object, so there is nothing for the description to add. This matches the baseline for no-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the verb 'Read' and the resource 'Command' and gives the GET endpoint, so an agent can identify it as a retrieval operation. However, it doesn't explicitly say it lists all commands or contrast it with get_command_by_id, which prevents a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description simply restates the operation and endpoint, leaving the agent to infer from the tool name and sibling set that this lists commands rather than fetching a single command.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_config_downloadclientA
Read-onlyIdempotent

Read DownloadClientConfig.

GET /api/v3/config/downloadclient

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the description carries little safety-disclosure burden. It adds the explicit GET endpoint but no additional behavioral context such as auth requirements, response semantics, or side effects; there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short lines stating the verb, resource, and endpoint with no filler. For a zero-parameter read-only tool, this is appropriately sized and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich annotations, empty parameter schema, and presence of an output schema, the description is mostly complete: it names the resource and gives the HTTP endpoint. It is slightly thin on semantic context about what DownloadClientConfig represents and how this differs from the get-by-id sibling, but the endpoint and schema compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema description coverage is 100%, so the baseline for zero params applies. The description adds no parameter details, but none are necessary because there is nothing for an agent to populate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear read operation ('Read') on a specific resource ('DownloadClientConfig') and includes the exact GET endpoint. This differentiates it from sibling config-resource listers, though it does not elaborate on what the config contains or how it differs from the id-scoped get by id variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided for when to use this tool versus alternatives such as get_config_downloadclient_by_id, list_downloadclient, or update_config_downloadclient_by_id. The agent must infer the intended usage from the endpoint and name, with no explicit exclusions or routing hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_config_hostA
Read-onlyIdempotent

Read HostConfig.

GET /api/v3/config/host

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds no behavioral context beyond restating that it reads, such as auth requirements, response semantics, or configuration scope, so it adds little beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short lines with no filler: the action is front-loaded and the endpoint is provided. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a trivial zero-parameter read endpoint, and the output schema plus annotations carry most of the contextual burden. The description is enough for a basic call, but it could briefly clarify what HostConfig represents and how it differs from get_config_host_by_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema description coverage is 100%, so the baseline is 4. There are no parameters for the description to document, and it correctly avoids inventing any.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Read HostConfig.' and gives the exact HTTP endpoint, making it clear this is a read operation for host configuration. It is distinguishable from siblings like update_config_host_by_id and list_config_naming by the resource name, though it doesn't explicitly contrast with get_config_host_by_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need to read the host configuration, and the GET endpoint reinforces that. However, it provides no explicit guidance about when to prefer this over the similar get_config_host_by_id or other list_config_* alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_config_importlistA
Read-onlyIdempotent

Read ImportListConfig.

GET /api/v3/config/importlist

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description's 'Read' is consistent with this and adds only the endpoint; it does not describe any additional side effects or data-return characteristics, but none are needed given the read-only nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, leading with the purpose and then giving the endpoint. Every word is useful and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool with a rich output schema and strong annotations, the description is sufficient for the agent to invoke it correctly. It could be slightly more explicit about its relationship to related import-list tools, but the resource name and endpoint make the role clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics to document. The schema already reflects this with an empty properties object, and the description's focus on the resource is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific action ('Read') and the resource ('ImportListConfig'), and includes the REST endpoint. This clearly differentiates it from sibling tools that read other config sections (e.g., list_config_indexer) or that mutate config (e.g., update_config_importlist_by_id).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys that this is a read-only list operation for import list configuration, so an agent can infer that it is appropriate when they need the full configuration. However, it does not explicitly name alternatives or mention when to prefer get_config_importlist_by_id for a single record 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.

list_config_indexerA
Read-onlyIdempotent

Read IndexerConfig.

GET /api/v3/config/indexer

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is consistent with annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) and adds the exact GET endpoint, but does not provide additional behavioral context such as response shape, configuration scope, or any edge cases. It is 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence plus the endpoint. It is tightly focused, front-loaded with the action and resource, and contains no filler or redundant wording for a zero-parameter read operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with no parameters, rich annotations, and an output schema, the description is largely complete. It includes the HTTP method and path needed to call the tool correctly, though it could better clarify the scope of 'IndexerConfig' relative to sibling config tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

This tool has zero parameters, so the input schema already covers all parameter semantics completely. The description does not need to compensate for any missing parameter documentation, and the 100% schema coverage makes this a non-issue.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the explicit verb 'Read' and the resource 'IndexerConfig', and the endpoint 'GET /api/v3/config/indexer' clarifies the exact operation. It is clear, but it does not differentiate itself from siblings such as list_config_downloadclient or get_config_indexer_by_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus the many similar siblings, such as get_config_indexer_by_id or list_indexer. The description implies it is for reading the indexer config but does not state when to prefer it or what distinguishes it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_config_mediamanagementB
Read-onlyIdempotent

Read MediaManagementConfig.

GET /api/v3/config/mediamanagement

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description only restates this via 'Read.' The only additional information is the HTTP endpoint GET /api/v3/config/mediamanagement, which conveys the request method but not behavioral context such as response shape or filtering behavior. With annotations carrying the safety profile, the description adds minimal extra value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short with no wasted words, and the purpose is front-loaded. The GET endpoint line is informative. However, it is so terse that it reads more like under-specification than efficient conciseness, missing opportunities to add value in the same space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with a full output schema and safety annotations, the description is mostly sufficient. However, it does not state what MediaManagementConfig contains or what the response represents, leaving an agent to infer meaning entirely from the name and output schema. This is adequate but has a noticeable gap in explanatory context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing for the description to document beyond the schema. The baseline of 4 applies since the description cannot add parameter meaning where none exists, and no contradictions or gaps are introduced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Read MediaManagementConfig.' This is clear and unambiguous. However, it does not differentiate from the sibling tool get_config_mediamanagement_by_id, so an agent cannot tell which of the two read-style tools to select.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. Siblings like get_config_mediamanagement_by_id and update_config_mediamanagement_by_id exist, but the description gives no conditions for choosing this listing variant. The inclusion of the GET endpoint hints at a read operation but offers no exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_config_namingB
Read-onlyIdempotent

Read NamingConfig.

GET /api/v3/config/naming

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description doesn't need to repeat that. It adds the HTTP method and path, which is informative but doesn't disclose additional behavioral traits such as the response structure or pagination. Given the output schema exists, the description adds minimal extra context, so a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, two short lines, with the purpose front-loaded. It contains no unnecessary words and is easy to parse. It could be argued it's under-specified, but for a simple read it's appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no params and an output schema, so the description is mostly adequate. However, it lacks guidance on when to use this versus get_config_naming_by_id, and it doesn't explicitly state it returns the full configuration. This gap reduces completeness slightly, so a 3 is given.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and schema coverage is 100% trivially. The description doesn't need to explain parameters, and it doesn't. Baseline for 0 params is 4, and nothing detracts from that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read NamingConfig' which is a specific verb and resource, and the HTTP endpoint further clarifies it. It is distinguishable from sibling get_config_naming_by_id by the list vs single resource implication, though not explicitly stated. Clear but could be more explicit about listing all configurations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 get_config_naming_by_id or update_config_naming_by_id. The description simply gives the endpoint without contextual direction, so an agent has to infer when this is the appropriate choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_config_naming_examplesD
Read-onlyIdempotent

Read NamingConfig.

GET /api/v3/config/naming/examples

Args: rename_episodes: Query parameter. replace_illegal_characters: Query parameter. colon_replacement_format: Query parameter. custom_colon_replacement_format: Query parameter. multi_episode_style: Query parameter. standard_episode_format: Query parameter. daily_episode_format: Query parameter. anime_episode_format: Query parameter. series_folder_format: Query parameter. season_folder_format: Query parameter. specials_folder_format: Query parameter. id: Query parameter. resource_name: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
resource_nameNo
rename_episodesNo
multi_episode_styleNo
anime_episode_formatNo
daily_episode_formatNo
season_folder_formatNo
series_folder_formatNo
specials_folder_formatNo
standard_episode_formatNo
colon_replacement_formatNo
replace_illegal_charactersNo
custom_colon_replacement_formatNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds only the HTTP endpoint and a list of parameter names, without explaining how parameters affect the returned examples or what the response contains. It adds little behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but not effectively concise. The parameter list is repetitive and provides no value, while the opening 'Read NamingConfig' lacks clarity. Important information such as purpose and output is missing, making the structure unhelpful despite its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 13 parameters and no schema descriptions, this description is severely incomplete. It omits the purpose of the examples, the meaning of each parameter, the response format, and any usage context. An agent cannot correctly call this tool based on the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain each parameter's meaning and effect. It merely repeats the parameter names and says 'Query parameter' for each, adding no semantic value. An agent cannot know what values are valid or how they influence the result.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read NamingConfig' which gives a verb and resource, but it is vague. The tool name suggests it lists naming configuration examples, yet the description does not clarify what 'examples' are, nor does it distinguish this from the sibling list_config_naming (which likely reads the actual config). It also does not explain what the output represents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention prerequisites, typical use cases, or situations where list_config_naming or other tools would be more appropriate. An agent has no context for selecting this over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_config_uiA
Read-onlyIdempotent

Read UiConfig.

GET /api/v3/config/ui

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, and the description's 'Read' aligns with those. It adds minor context via the HTTP method/path but does not disclose behavior beyond what the annotations already provide. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short lines with no fluff: a one-line statement of purpose and the exact endpoint. Every part earns its place and is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, annotated read-only GET with an output schema, the definition is close to complete: the agent knows the operation, the endpoint, and safety. It could briefly note the relationship to get_config_ui_by_id, but nothing needed to invoke the call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters and the schema properties are empty, so there is no parameter semantics for the description to add. Baseline 4 applies because nothing is left undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Read UiConfig') and gives the exact endpoint, so the agent can tell what operation this is. It does not explicitly distinguish itself from sibling get_config_ui_by_id, but the list_ prefix and parameterless path signal a global read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to choose this tool over get_config_ui_by_id or other list_config_* siblings. The endpoint implies whole-resource reading, but there are no explicit exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_customfilterA
Read-onlyIdempotent

Read CustomFilter.

GET /api/v3/customfilter

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds the HTTP GET endpoint but discloses little beyond that, such as scope or explicit collection semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, front-loads the verb and resource, and includes the concrete API path with no filler. Every element contributes to understanding the call.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only GET endpoint with an output schema and supporting annotations, the description is nearly sufficient to invoke the tool correctly. It could be more explicit about returning all custom filters, but the collection endpoint and tool name make this reasonably clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is fully covered, so parameter-level explanation is unnecessary. The baseline of 4 for a zero-parameter tool applies here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Read CustomFilter', and the GET endpoint confirms this is a list operation. It does not explicitly differentiate from sibling get_customfilter_by_id, so it is clear but not maximally distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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_customfilter_by_id or other list_* tools. The description provides no context for selection, leaving the agent to infer usage from the tool name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_customformatB
Read-onlyIdempotent

Read CustomFormat.

GET /api/v3/customformat

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description does not need to repeat those. It adds only the HTTP method and endpoint, which is mild extra context. There is no contradiction between the description and annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short, consisting of a one-line purpose and the API path. It is not bloated, but the first sentence is near-redundant with the tool name, and the sparseness means it does little to educate the agent beyond the structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple no-parameter read list, the description plus output schema may be nearly sufficient, but it fails to clarify that it returns all custom formats and does not distinguish itself from the by-ID getter. A sentence stating the listing scope would make it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, there are no parameter semantics to explain. The schema coverage is trivially complete, so the baseline of 4 applies; the description does not need to describe any inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read CustomFormat' and includes the API path GET /api/v3/customformat, which identifies a read operation on the CustomFormat resource. However, it does not explicitly say it lists all custom formats, and it lacks any contrast with the sibling get_customformat_by_id, so the scope of the operation is left for the agent to infer from the name and path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. There is no mention of when to prefer this list tool over get_customformat_by_id or list_customformat_schema, nor any indication of prerequisites or alternatives. The agent gets no hint about selection conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_customformat_schemaB
Read-onlyIdempotent

Read CustomFormat.

GET /api/v3/customformat/schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe, non-mutating nature is clear. The description's 'Read' aligns with those annotations and adds no additional behavioral context such as authentication requirements, rate limits, or empty-result behavior. The output schema covers return structure, so the description does not need to explain response fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: a two-line phrase plus endpoint. There is no wasted text, and the core action is front-loaded. However, the first line is slightly imprecise and could have said 'Read CustomFormat schema' instead of 'Read CustomFormat', which would make the purpose unmistakable without adding bulk.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool with a rich output schema and safety annotations, the description covers the basic call. However, it does not explain why one would call this schema endpoint, how it relates to create/update workflows, or how it differs from simply listing custom formats. The missing usage context leaves the agent to infer the tool's role from the name and endpoint alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so there is no parameter semantics to document. The description consistently implies a simple GET request with no inputs, matching the empty parameter schema. With 0 params, the baseline of 4 applies and no deduction is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description reads 'Read CustomFormat.' and provides the endpoint. The verb and resource are present, but the tool's actual function—retrieving the schema for CustomFormat—is only implied by the endpoint URL and the tool name, not stated in the prose. This leaves ambiguity with sibling tool list_customformat, which may have an almost identical one-line description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool instead of list_customformat or the other list_*_schema tools. The description does not mention typical use cases such as discovering custom format fields before creating or updating a custom format. No exclusions or alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_delayprofileB
Read-onlyIdempotent

Read DelayProfile.

GET /api/v3/delayprofile

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the HTTP GET method and resource path but does not disclose anything like whether all profiles are returned or how results are ordered; with strong annotations this is acceptable though minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loads the operation before the endpoint. It contains no filler, though the first sentence is largely a paraphrase of the tool name rather than a richer explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, read-only list operation with an output schema and robust annotations, the description is nearly complete. The only small gap is not explicitly stating that it lists all delay profiles, but the endpoint and sibling naming make that reasonably clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description needs to add no parameter meaning. The empty input schema fully documents the parameter list, and the endpoint reinforces that no path or query parameters are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action ('Read') and the resource ('DelayProfile'), and the GET endpoint identifies the collection API. It is clear enough, but it does not explicitly differentiate from get_delayprofile_by_id beyond the collection-vs-id sibling naming.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 alternatives such as get_delayprofile_by_id or update_delayprofile_by_id. There are no when-to-use or exclusion statements; the agent must infer usage from the tool name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_diskspaceB
Read-onlyIdempotent

Read DiskSpace.

GET /api/v3/diskspace

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey read-only, idempotent, non-destructive behavior. The description adds only 'Read' and the HTTP method GET, which duplicate rather than extend the annotations. No additional behavioral context, such as what the disk space response includes, is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded, with a clear statement followed by the endpoint. There is no filler or redundant explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, comprehensive annotations, and an output schema, the description is sufficient for invoking the tool. A brief note about what disk space is reported would improve completeness, but nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing for the description to add beyond the schema. The baseline of 4 applies because no parameter documentation burden exists.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('Read DiskSpace') and includes the exact endpoint. It does not explicitly differentiate from sibling list tools, but the resource name is self-explanatory enough for an agent to identify its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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_filesystem or list_system_status. The agent must infer usage from the name and endpoint alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_downloadclientA
Read-onlyIdempotent

Read DownloadClient.

GET /api/v3/downloadclient

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds no behavioral context beyond the endpoint, such as whether it returns all items or applies any default filtering. Since annotations carry the burden, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two short sentences with no fluff. The action 'Read DownloadClient' is front-loaded, and the endpoint follows as a reference. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read operation, the description is largely sufficient given the output schema and annotations. However, it lacks any context about when to use this tool versus siblings (e.g., to list all download clients vs. fetch by ID), which is a notable gap for an agent deciding which tool to invoke.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema is an empty object, giving 100% schema coverage. With no parameters, the description does not need to add parameter clarifications, so the baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and a specific resource ('DownloadClient'), which clearly distinguishes it from sibling tools like 'list_downloadclient_schema' or 'get_downloadclient_by_id'. Including the endpoint further clarifies the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 that this lists all download clients, nor does it indicate when to choose this over 'get_downloadclient_by_id' or 'list_downloadclient_schema'. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_downloadclient_schemaB
Read-onlyIdempotent

Read DownloadClient.

GET /api/v3/downloadclient/schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description's 'Read' and GET method are consistent with those. The description adds only the exact API route and no further behavioral context, but for a simple schema-fetch with an output schema, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loads the operation, and includes the concrete endpoint without filler. It could have used one more clause to clarify 'schema,' but as a compact description it is not padded or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter GET with an output schema and strong read-only annotations, the technical requirements are mostly covered. The main completeness gap is semantic: the description does not clarify that this returns DownloadClient schema definitions rather than configured DownloadClients, which is important given the many client-related sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters and the input schema already reflects this completely. With no parameters to document, the description does not need to add parameter-level context, so the baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read DownloadClient' and includes the GET endpoint, so the operation is recognizable. However, it does not explicitly say in prose that this returns the schema/definition for DownloadClient types, and it could be confused with list_downloadclient for reading configured clients.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus list_downloadclient (actual DownloadClients), get_downloadclient_by_id, or create_downloadclient. The only clue is the '/schema' path, but no alternative is named and no selection condition is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_episodeC
Read-onlyIdempotent

Read Episode.

GET /api/v3/episode

Args: series_id: Query parameter. season_number: Query parameter. episode_ids: Query parameter. episode_file_id: Query parameter. include_series: Query parameter. include_episode_file: Query parameter. include_images: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
series_idNo
episode_idsNo
season_numberNo
include_imagesNo
include_seriesNo
episode_file_idNo
include_episode_fileNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description only restates 'Read' and the GET method without adding behavioral details like filtering behavior or response characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded, and well-structured with the endpoint followed by arguments. It is not bloated, though the Args section largely duplicates the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given seven optional parameters and no parameter semantics, an agent cannot reliably know how to construct a correct episode listing request. The output schema covers return shape, but invocation behavior and filtering rules are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description lists parameter names and says they are query parameters, which adds minimal location information. With 0% schema description coverage, it does not compensate by explaining what each parameter means, how they combine, or when include_* flags matter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read Episode' and gives the GET endpoint, which identifies the resource and operation. However, it does not clarify that this lists/filters episodes or how it differs from get_episode_by_id and list_episodefile.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 get_episode_by_id or list_episodefile. The parameter list is present, but no usage context or selection criteria is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_episodefileC
Read-onlyIdempotent

Read EpisodeFile.

GET /api/v3/episodefile

Args: series_id: Query parameter. episode_file_ids: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
series_idNo
episode_file_idsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to repeat that. However, the description adds no additional behavioral context, such as pagination, authentication, or output format. It only states the HTTP method and path, which is trivial and already implied by the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief and contains no fluff, which is concise. However, it is under-specified: it lacks critical details about the tool's behavior and parameters. The structure is a simple sentence followed by a list, which is functional but not front-loaded with the most important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two optional filter parameters and an output schema, the description is inadequate. It does not clarify that it returns a list of episode files, how the filters interact, or any default behavior. The description would force an agent to infer the tool's purpose from the name and endpoint, which is insufficient for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no descriptions (0% coverage), so the description is the only source of parameter meaning. It only says 'Query parameter' for each parameter, which is redundant with the schema's type. It does not explain that series_id filters by series or that episode_file_ids filters by specific file IDs, leaving the agent without any semantic understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb ('Read') and a resource ('EpisodeFile'), but it is ambiguous whether this is a list or single-item operation. The tool name 'list_episodefile' implies listing, but the description does not explicitly say it lists multiple files, nor does it distinguish from 'get_episodefile_by_id'. It provides no specificity beyond a generic read action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention that it returns a list, that series_id filters by series, or that episode_file_ids filters by specific IDs. It also does not point to sibling tools like 'get_episodefile_by_id' for single-file retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_feed_v3_calendar_sonarr_icsC
Read-onlyIdempotent

Read CalendarFeed.

GET /feed/v3/calendar/sonarr.ics

Args: past_days: Query parameter. future_days: Query parameter. tags: Query parameter. unmonitored: Query parameter. premieres_only: Query parameter. as_all_day: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
past_daysNo
as_all_dayNo
future_daysNo
unmonitoredNo
premieres_onlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the read-only behavior is covered structurally. The description adds only the endpoint and a bare list of query params; no rate limits, pagination, auth needs, or output-volume behavior are disclosed. It adds no meaningful behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The two-line preamble is appropriately brief and front-loaded, but the six-line 'Args' block merely repeats the property names already present in the input schema without adding a single detail. The redundant listing makes the description under-specified rather than genuinely concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given six optional parameters, a calendar-and-feed domain, and a closely related sibling list_calendar, the description is far from complete. It does not explain what the returned calendar data represents, what each filter controls, or why an agent would choose this tool over alternatives, so the agent must guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate, but it only restates each parameter name followed by 'Query parameter' — no meaning beyond what the schema already lists. The agent cannot learn what past_days/future_days mean, whether unmonitored/excludes unmonitored episodes, or how as_all_day affects the feed, which is effectively functional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb ('Read') and a resource ('CalendarFeed') and gives the exact GET endpoint URI, so an agent can guess it reads an iCal calendar feed. However, it never says what the feed contains, how it differs from list_calendar/get_calendar_by_id, or what format the response is beyond the .ics in the endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description never says when to use this tool instead of sibling list_calendar or get_calendar_by_id, nor does it mention any preconditions, output audience, or selection criteria. The agent is left to infer the choice from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_filesystemC
Read-onlyIdempotent

Read FileSystem.

GET /api/v3/filesystem

Args: path: Query parameter. include_files: Query parameter. allow_folders_without_trailing_slashes: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
include_filesNo
allow_folders_without_trailing_slashesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds the HTTP GET method and indicates that the arguments are query parameters, which is mildly useful operational context, but it does not describe behaviors like path resolution or trailing-slash handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and clearly structured with an endpoint and an Args block, so it is not bloated. However, most of the content is redundant with the tool name and input schema, so it earns little credit beyond being compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although the output schema covers return values and annotations cover safety, the description omits crucial context about parameter meanings and does not clarify how this tool differs from sibling filesystem tools. An agent cannot confidently decide what values to pass or when this is the right tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to explain what 'path', 'include_files', and 'allow_folders_without_trailing_slashes' actually mean. It merely restates their names and says they are query parameters, adding no real semantic value beyond the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read FileSystem' and gives the endpoint, so it identifies a verb and resource, but it never states what is actually returned (e.g., folders/files at a path). This is vague compared to the closely related sibling tools list_filesystem_mediafiles and list_filesystem_type, and the description does not differentiate from them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool instead of alternatives. No explicit or implicit preference is expressed, and the large sibling list includes very similar filesystem-related tools, so an agent has no basis for choosing this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_filesystem_mediafilesC
Read-onlyIdempotent

Read FileSystem.

GET /api/v3/filesystem/mediafiles

Args: path: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description's 'Read' matches those. However, the description adds no behavioral context beyond the annotations, such as what the path filters, whether traversal is recursive, or what happens with a null path.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, but it is under-specified rather than appropriately concise. The endpoint line adds some value, while the args line mostly repeats what the input schema already shows.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only one parameter, the description still leaves key context missing: the meaning of path, the expected resource type, and the relationship to sibling filesystem tools. The output schema and annotations exist, but the description alone is not enough for correct tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to explain the path parameter, but it only restates it as 'path: Query parameter.' This does not clarify what the path represents, what formats are accepted, or how a null default behaves.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read FileSystem,' which gives a verb and general resource but is vague and does not mention media files. The endpoint URL clarifies the target, but it does not distinguish this tool from siblings like list_filesystem or list_filesystem_type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 alternatives. The description does not explain how this differs from list_filesystem or list_filesystem_type, nor does it state any conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_filesystem_typeC
Read-onlyIdempotent

Read FileSystem.

GET /api/v3/filesystem/type

Args: path: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already mark the tool as readOnly, idempotent, and non-destructive. The description adds no behavioral context beyond that, such as expected path validation, error behavior, permissions, or what the response represents.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short and structurally organized with an endpoint and an Args section, but 'Read FileSystem.' is redundant with the endpoint and the Args line duplicates schema information. It is compact yet underspecified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even with annotations and an output schema present, the description lacks any explanation of what filesystem type means, what path should contain, or when this tool is appropriate. The sibling tool names make the ambiguity worse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to explain the path parameter's meaning. It only restates 'path: Query parameter', which adds no semantics beyond the schema's property name and type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says only 'Read FileSystem.' and gives the raw endpoint. It never explains what 'type' means, what is returned, or how this differs from sibling list_filesystem and list_filesystem_mediafiles tools. This is essentially a restatement of the tool name with no functional detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, no exclusions, and no mention of prerequisites. The raw endpoint is the only contextual clue, which does not help an agent decide between this and the many sibling filesystem listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_healthA
Read-onlyIdempotent

Read Health.

GET /api/v3/health

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the HTTP method and path, but no additional behavioral details such as what the health status includes or any rate limits. With annotations covering the core safety attributes, the description provides adequate but not enriched transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of 'Read Health.' and the endpoint. Every word is purposeful; there is no redundancy. The purpose is front-loaded, and the endpoint provides direct reference. It demonstrates exemplary conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (no parameters), the presence of an output schema, and annotations that cover safety, the description is nearly complete for making a correct call. It could explain what 'health' indicates or when to invoke it, but those are not essential for execution. An agent can safely call this endpoint without further context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is empty with 100% coverage. Per the baseline for zero-parameter tools, the description need not explain parameters. There is nothing omitted that would confuse an agent about inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the purpose clearly: 'Read Health' with the endpoint. It is specific about the verb and resource, and while it doesn't explicitly contrast with siblings, it is the only tool dedicated to health checks among many list_* tools. It is not a tautology and gives a precise action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention any exclusions or conditions, nor does it name sibling tools that might overlap. An agent would have to infer that this is the health check tool without any context on when it is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_historyC
Read-onlyIdempotent

Read History.

GET /api/v3/history

Args: page: Query parameter. page_size: Query parameter. sort_key: Query parameter. sort_direction: Query parameter. include_series: Query parameter. include_episode: Query parameter. event_type: Query parameter. episode_id: Query parameter. download_id: Query parameter. series_ids: Query parameter. languages: Query parameter. quality: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
qualityNo
sort_keyNo
languagesNo
page_sizeNo
episode_idNo
event_typeNo
series_idsNo
download_idNo
include_seriesNo
sort_directionNo
include_episodeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description merely repeats the read-only nature. It adds no behavioral context beyond that, such as pagination behavior, history retention limits, or how filtering by event_type works.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with a clear one-line summary. However, the long list of parameters repeated without any descriptive content makes the structure boilerplate-heavy and less informative than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and safety annotations, the tool has 12 parameters with no meaningful descriptions and no usage guidance. An agent would struggle to know what values to provide for several parameters or how this history listing differs from sibling history tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate, but it only lists parameter names as 'Query parameter' without explaining types, allowed values, or meanings. It provides slightly more than nothing, but it does not clarify ambiguous parameters like sort_direction, event_type, languages, or quality.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read History.' and gives the explicit endpoint 'GET /api/v3/history', making the action and resource clear. It does not distinguish itself from related siblings like list_history_series or list_history_since, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as list_history_series or list_history_since. No conditions, exclusions, or recommendations are provided, so an agent has no help choosing this over sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_history_seriesC
Read-onlyIdempotent

Read History.

GET /api/v3/history/series

Args: series_id: Query parameter. season_number: Query parameter. event_type: Query parameter. include_series: Query parameter. include_episode: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
series_idNo
event_typeNo
season_numberNo
include_seriesNo
include_episodeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, and non-destructive behavior Reward. The description adds no extra behavioral context such as pagination, filtering semantics, or effects of parameters. The only additional detail is that parameters are query parameters, which is a minor structural note, not a behavioral trait.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded with the action 'Read History.' The parameter list is clean and tidy, with no fluff. It is appropriately sized for a simple read tool, though it sacrifices essential semantic detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 5 optional parameters with zero schema descriptions and no parameter explanations, the description is incomplete for correct invocation. The output schema exists and annotations cover safety, but input semantics are missing. An agent would need external knowledge or guessing to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description needed to explain each parameter's meaning and allowed values. It only labels them as 'Query parameter,' which adds location info but no semantics. Parameter names like event_type and include_series remain ambiguous, leaving the agent without enough information to construct a correct request.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Read History' with endpoint /api/v3/history/series. It conveys the tool's basic function, but it does not explicitly differentiate this from sibling tools like list_history or list_history_since, relying instead on the tool name to imply the 'series' scoping.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not mention alternatives, when to use this tool over list_history or list_history_since, or any conditions for choosing it. It merely states the endpoint and lists parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_history_sinceD
Read-onlyIdempotent

Read History.

GET /api/v3/history/since

Args: date: Query parameter. event_type: Query parameter. include_series: Query parameter. include_episode: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
event_typeNo
include_seriesNo
include_episodeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description does not need to repeat those. However, it adds no extra behavioral context such as pagination limits, authentication requirements, or how parameters affect results. It is essentially just a label and endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief, but brevity is not conciseness when it omits essential information. The structure (one sentence and a bare list of args) is minimal and does not earn its place beyond restating schema field names. It could be trimmed further without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 optional parameters, no schema descriptions, and an output schema that is not referenced, the description is severely incomplete. It does not explain the 'since' semantics, valid event types, or what the include flags control. An agent cannot call this tool correctly with the information provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameters. It merely lists the parameter names without any descriptions or examples. The agent cannot infer what 'date', 'event_type', 'include_series', or 'include_episode' mean or how to format them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read History' and gives the endpoint, which is a clear verb+resource. However, it does not explain what 'since' means or what differentiates it from sibling tools like list_history and list_history_series. It is not a tautology but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of filtering by date, event type, or when to prefer list_history or list_history_series. The agent is left without any routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_importlistB
Read-onlyIdempotent

Read ImportList.

GET /api/v3/importlist

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds only the HTTP endpoint, which is not behavioral context. It does not disclose return format, pagination, or any side effects, but given the annotations, the bar is lower. However, it adds no meaningful behavioral information beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two lines: the purpose and the HTTP endpoint. It is front-loaded with the core action. The endpoint line may be considered unnecessary detail for an agent but is not harmful. It is appropriately sized for a simple list operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no parameters and an output schema present, so the description doesn't need to explain return values. However, given the large number of sibling tools, it could benefit from explicitly stating that it lists all import lists and differentiating from related tools. As it stands, it is minimal but functional, lacking a bit of context to fully disambiguate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters in the schema, so schema description coverage is trivially 100%. The description does not need to elaborate on parameters. With 0 parameters, the baseline is 4, and the description is adequate for the absence of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read ImportList.' which clearly identifies the verb (read) and resource (ImportList). The HTTP endpoint adds a concrete reference. It is distinct from siblings like list_importlist_schema and get_importlist_by_id, though it doesn't explicitly name them. The purpose is clear and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as get_importlist_by_id or list_importlist_schema. It merely restates the operation without offering context on selection criteria or exclusions. There is no mention of how this differs from other list operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_importlistexclusionB
Read-onlyIdempotent

Read ImportListExclusion.

GET /api/v3/importlistexclusion

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds only the HTTP method and endpoint, which is not meaningful behavioral context; it does not mention pagination, response scope, or any operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded with the operation, and there is no filler. It loses a point only because the first line is essentially a restatement of the tool name, adding little independent information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The empty schema, strong annotations, and output schema cover much of what an agent needs. However, the existence of list_importlistexclusion_paged leaves a real ambiguity about whether this endpoint returns the full collection or paginates, and the description never clarifies that boundary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the input schema is empty with 100% coverage, so the baseline of 4 applies. There are no parameter semantics for the description to clarify, and it correctly avoids inventing any.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear operation, 'Read ImportListExclusion', and includes the exact GET endpoint. However, it does not explicitly distinguish this from the sibling list_importlistexclusion_paged, and it phrases the resource as a singular entity even though this is a list operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus list_importlistexclusion_paged or any other alternative. The only usage signal is the verb 'Read', leaving the unpaged-versus-paged decision entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_importlistexclusion_pagedB
Read-onlyIdempotent

Read ImportListExclusion.

GET /api/v3/importlistexclusion/paged

Args: page: Query parameter. page_size: Query parameter. sort_key: Query parameter. sort_direction: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sort_keyNo
page_sizeNo
sort_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the endpoint path and the fact that arguments are query parameters, but it does not explain pagination behavior, defaults, or how results are returned. This is acceptable 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core purpose. The endpoint and argument list are clearly structured without excess prose. The argument list is somewhat redundant with the schema, but it remains compact and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only paged list with an output schema and safety annotations, the description provides the basic invocation details. It lacks guidance on when to use the paged variant versus the non-paged sibling, and it does not clarify pagination semantics, but it is sufficient for basic selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining parameters. It only states that each argument is a 'Query parameter,' which adds minimal value beyond the schema's property names and titles. It does not describe expected formats, allowed sort keys, default values, or interactions between page and page_size.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Read ImportListExclusion.' The endpoint path and the '_paged' suffix further clarify this is the paginated list variant. However, it does not explicitly distinguish itself from the sibling tool list_importlistexclusion, which likely serves the unpaged list use case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 the sibling list_importlistexclusion or other list tools. The description only provides the endpoint and lists arguments, with no context about pagination use cases, 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.

list_importlist_schemaA
Read-onlyIdempotent

Read ImportList.

GET /api/v3/importlist/schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the endpoint path and the word 'Read', which confirms the read-only nature. It does not add behavioral context beyond the annotations, such as what the schema contains or whether it requires authentication, but it does not contradict the annotations either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two lines, one sentence plus the endpoint. It is front-loaded with the action and resource. It could arguably be slightly more descriptive, but for a zero-parameter read-only schema endpoint, this is appropriately sized and not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (zero parameters, read-only, output schema present), the description is nearly complete. The output schema exists, so return values are documented elsewhere. The only minor gap is that it doesn't explain what an 'ImportList schema' is or how it differs from list_importlist, but the endpoint and sibling names provide enough context for an agent to select it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter semantics burden. The description correctly indicates a simple read operation with no inputs. The schema coverage is 100% (vacuously), and the description adds the endpoint context, which is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read ImportList' clearly states the operation (read) and the resource (ImportList), and the endpoint GET /api/v3/importlist/schema reinforces that this is a schema-listing operation. It is distinguishable from siblings like list_importlist (which likely lists actual import lists) and create_importlist (which creates one), though it doesn't 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call this to read the ImportList schema. It does not explicitly state when to use this versus list_importlist or create_importlist, nor does it mention that this is a read-only schema endpoint. The endpoint path provides some context, but no explicit when/when-not guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_indexerC
Read-onlyIdempotent

Read Indexer.

GET /api/v3/indexer

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no meaningful behavioral context beyond restating that this is a read operation and showing the GET endpoint. It does not contradict the annotations, but it also does not disclose additional behavior such as response shape, authorization needs, or collection scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loaded, but 'Read Indexer' is nearly redundant with the tool name. The HTTP path is the only substantive addition, and while there is no fluff, the description is under-specified rather than efficiently informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list endpoint with annotations and an output schema, the description is mostly sufficient. However, it does not clearly resolve whether this returns all indexers or a single indexer, and it lacks any pointer to get_indexer_by_id, leaving an ambiguity that could affect tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the input schema is an empty object, so the schema fully covers parameter semantics. The description does not need to explain parameters, and the baseline of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb ('Read') and a resource ('Indexer') and provides the HTTP endpoint, but it does not explicitly say it lists all indexers or distinguish it from get_indexer_by_id. 'Read Indexer' is close to a synonym of the tool name list_indexer and is somewhat vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as get_indexer_by_id, list_indexer_schema, or list_indexerflag. The description does not mention when it applies or when a different sibling tool should be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_indexerflagB
Read-onlyIdempotent

Read IndexerFlag.

GET /api/v3/indexerflag

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the HTTP endpoint but no additional behavioral context such as pagination, response format, or whether the list is complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loaded with the core action. The HTTP endpoint is useful but the description could be slightly more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only list tool with an output schema and strong annotations, the description is mostly adequate. However, it doesn't clarify what an IndexerFlag is or how this differs from list_indexer, which an agent might need to know to select it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing for the description to explain. The schema coverage is 100% and there are no parameters to document, making the baseline 4 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('Read IndexerFlag') and includes the HTTP endpoint, so an agent knows what the tool does. However, it doesn't explain what an IndexerFlag is or distinguish it from the many sibling list_* tools, so it's clear but not differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_indexer or list_indexer_schema. The description simply states the operation without any context about when it is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_indexer_schemaB
Read-onlyIdempotent

Read Indexer.

GET /api/v3/indexer/schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the HTTP method and endpoint path but does not disclose authentication needs, response shape, or whether the schema describes creation, updating, or both. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded, with the endpoint providing concrete operational detail. 'Read Indexer.' could be more precise, but the entire description is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, read-only schema endpoint with annotations covering safety and an output schema present, the description is nearly complete. The main gap is that the prose does not explicitly state the tool returns the indexer schema, but the endpoint path communicates this clearly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema coverage is 100%, so there are no parameter semantics for the description to clarify. This matches the baseline for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Read') and resource ('Indexer'), and the endpoint 'GET /api/v3/indexer/schema' clarifies that this is the schema-listing variant. It is distinguishable from siblings like list_indexer, though the prose could more explicitly say 'schema'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 related schema-listing tools such as list_metadata_schema or list_notification_schema, or versus list_indexer. The agent must infer usage entirely from the name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_languageB
Read-onlyIdempotent

Read Language.

GET /api/v3/language

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The GET method and 'Read' wording align with the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false), and the endpoint path adds a useful invocation detail. But the description adds no behavioral context beyond that—no mention of response contents, ordering, or coverage—though the output schema and annotations carry some of this burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

At two short lines, the description is compact and the endpoint is front-loaded. The phrase 'Read Language' is nearly redundant with the tool name and occupies space that could have described the returned data, but there is no bloat or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only GET backed by an output schema and rich annotations, the endpoint alone is largely sufficient. The notable gap is semantic: it never clarifies that this returns the list of supported language codes/names, which matters given closely named siblings like get_language_by_id and list_localization_language.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty with zero parameters and 100% coverage, so the description carries no obligation to document parameters. Baseline 4 applies because there is nothing for it to explain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb ('Read') and resource ('Language') and gives the concrete endpoint 'GET /api/v3/language', so the operation is identifiable. However, what 'Language' actually represents is never explained, and the phrasing barely goes beyond the tool name, leaving it ambiguous against siblings like get_language_by_id and list_localization_language.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description never states when to call this endpoint versus get_language_by_id for a single language or list_localization_language for localization strings, and 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.

list_languageprofileB
Read-onlyIdempotent

Read LanguageProfile.

GET /api/v3/languageprofile

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the HTTP GET method and path, which is a small amount of behavioral context beyond the annotations, but it does not mention pagination, auth, rate limits, or what subset of data is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, front-loaded with 'Read LanguageProfile' followed by the endpoint. There is no filler, though 'Read LanguageProfile' is largely redundant with the tool name; overall it is concise and appropriately sized for a zero-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter list endpoint with an output schema and strong read-only annotations, the description is close to sufficient, but it leaves the collection-vs-single semantics implicit. An agent could hesitate between list_languageprofile and get_languageprofile_by_id without seeing a clearer 'list all' statement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and 100% schema description coverage, so there is nothing for the description to explain. Per the zero-parameter baseline this is sufficient; the GET path is the only meaningful invocation detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('LanguageProfile') and gives the HTTP GET endpoint, so an agent can tell it is a retrieval operation for language profile data. It does not explicitly say 'list all' or distinguish itself from get_languageprofile_by_id / list_languageprofile_schema, but the list_ name and collection-style endpoint make the core purpose reasonably clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as list_languageprofile_schema, get_languageprofile_by_id, or list_language. The endpoint tells the agent how to call it, but not which situations call for it, and no exclusions or when-not-to-use conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_languageprofile_schemaA
Read-onlyIdempotent

Read LanguageProfileSchema.

GET /api/v3/languageprofile/schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false; the description's 'Read' is consistent. It adds the HTTP/API endpoint but provides no additional behavioral context such as side effects, authentication, or rate limits. Since annotations cover the safety profile, this is acceptable 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short lines with no filler. The core purpose is stated first, followed by the endpoint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only schema endpoint with output schema available and safety annotations present, the description is adequate. It could mention that the schema is intended for use with create/update languageprofile tools, but the endpoint and name make this minimally sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero properties, so there are no parameter semantics to document. The description does not need to compensate for any schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('LanguageProfileSchema') and includes the exact GET endpoint. This differentiates it from sibling 'list_languageprofile' by indicating schema retrieval rather than a list of records, though it does not explicitly name the sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_languageprofile or the create/update language profile endpoints. An agent must infer that this schema is needed before creating or updating a language profile.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_localizationA
Read-onlyIdempotent

Read Localization.

GET /api/v3/localization

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the HTTP method and endpoint, which is minor context. It does not describe response shape or pagination, but with an output schema present and zero parameters, the burden is low.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short: 'Read Localization.' plus the endpoint. It is front-loaded and wastes no words. It could add a sentence about what localization data contains, but for a zero-param read endpoint, this is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only endpoint with an output schema and strong annotations, the description is nearly complete. The only gap is not explaining what 'Localization' refers to (e.g., UI strings, language packs), but the sibling list_localization_language hints at the domain. Overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the schema provides no parameter semantics to clarify. The description's endpoint reference confirms no inputs are needed, which is sufficient. Baseline 4 for zero-parameter tools is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read Localization' with the endpoint GET /api/v3/localization, which clearly identifies the resource and operation. It distinguishes from siblings like list_localization_language by naming the base resource, though it doesn't explicitly contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a read-only retrieval operation with no parameters, but it does not state when to use this tool versus list_localization_language or other list_* tools. The context of 'Read Localization' is clear enough for a simple zero-parameter GET, but no explicit alternatives or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_localization_languageC
Read-onlyIdempotent

Read Localization.

GET /api/v3/localization/language

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds little behavioral context. It does add the HTTP GET method/path, but says nothing about return behavior, auth, or scope. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short with no filler. The 'Read Localization.' line is close to a tautology of the tool name, but the explicit GET endpoint earns its place. It could be restructured to replace the tautology with actual semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool with an output schema and annotations, much of the safety and return context is covered by structured data. However, the description fails to clarify the resource's meaning or differentiate it from sibling tools, which is a significant completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the input schema is empty with 100% coverage, so the baseline is 4. The description appropriately does not need to explain parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read Localization' with a GET endpoint, which is a verb plus a resource, but it does not explain what a 'localization language' actually is. With siblings like list_localization and list_language, the tool's purpose remains ambiguous without external knowledge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_localization or list_language. It only provides the endpoint, with no conditions, exclusions, or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_logC
Read-onlyIdempotent

Read Log.

GET /api/v3/log

Args: page: Query parameter. page_size: Query parameter. sort_key: Query parameter. sort_direction: Query parameter. level: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
levelNo
sort_keyNo
page_sizeNo
sort_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. However, the description adds little behavioral context: no pagination defaults, sorting semantics, log level behavior, or indication of what the log contains beyond the endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with 'Read Log' followed by the endpoint and parameter list. However, the Args section largely duplicates the schema with no added semantic value, so not every line fully earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description leaves important context missing: what exactly is logged, valid values for level and sort_direction, pagination behavior, and how this tool relates to sibling log-file tools. The output schema exists, but it does not compensate for the lack of selection and behavioral guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only labels each parameter as a 'Query parameter' without explaining its meaning, allowed values, or defaults. For instance, 'level' does not specify accepted log levels, and 'sort_direction' does not mention possible directions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Read Log' and the exact endpoint 'GET /api/v3/log'. However, it does not distinguish itself from sibling tools like list_log_file or list_log_file_update, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives, such as when to use list_log_file for log files or how this differs from list_history. The term 'Read Log' implies a basic use case, but no explicit context 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.

list_log_fileB
Read-onlyIdempotent

Read LogFile.

GET /api/v3/log/file

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover the safety profile. The description adds no behavioral context beyond the endpoint, such as what the response contains (e.g., raw file content) or any special handling. It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded: the primary purpose is stated first ('Read LogFile.') followed by the concrete endpoint. There is no fluff or repetition. It is appropriately sized for a parameterless read operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (no parameters, annotations covering safety, and an output schema), the description is minimally sufficient. However, it does not clarify what the log file is (e.g., main log vs. update log) or contrast with similar list_log and get_log_file_variants. An agent might struggle to choose this over list_log without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema coverage is trivially 100%. Per the rubric, a baseline of 4 applies when there are no parameters. The description does not need to elaborate on parameters, and it correctly does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action and resource: 'Read LogFile.' and provides the endpoint 'GET /api/v3/log/file'. This is specific and not a tautology. However, it does not distinguish itself from sibling tools like list_log or get_log_file_by_filename, which could be confused with this endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description is limited to 'Read LogFile.' and the endpoint, with no mention of use cases, exclusions, or relationship to siblings like list_log or get_log_file_by_filename.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_log_file_updateB
Read-onlyIdempotent

Read UpdateLogFile.

GET /api/v3/log/file/update

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the 'Read' description is consistent and the safety profile is clear. The description adds the HTTP endpoint but does not add behavioral context such as list semantics, pagination, or return content; this is acceptable 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loaded: one action sentence and the exact endpoint. No filler or redundant explanation, though it could have used the space to add one clarifying phrase about listing all update log files.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only, idempotent GET operation with an output schema, this is largely complete. The endpoint is specified and the behavior is safe, but the lack of explicit sibling/differentiation guidance is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema coverage is effectively complete, so there is nothing for the description to clarify about parameters. The 0-parameter baseline applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource (UpdateLogFile) and a read/list verb, backed by the concrete GET endpoint. It is clear enough to invoke, but it does not distinguish this from sibling tools such as get_log_file_update_by_filename or list_log_file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to choose this tool over alternatives. There is no mention of it being the list-all variant versus fetching a specific update log file by filename, which the sibling get_log_file_update_by_filename provides.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_loginC
Read-onlyIdempotent

Read StaticResource.

GET /login

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, and the description's 'Read' is consistent. However, the description adds no behavioral details beyond what annotations already communicate – no auth requirements, no side effects, no rate limits, and no context about output. It earns credit only for not contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short lines with no filler or redundant phrasing. 'Read StaticResource' and 'GET /login' are both compact, and the content is front-loaded. It is concise, though the ambiguity of 'StaticResource' means it is not as useful as it could be at the same length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists and there are no parameters, the description does not need to explain return values, but it still leaves the core purpose vague. An agent cannot tell whether this is a health check, a login page fetch, or a resource listing. The phrase 'StaticResource' is undefined and does not resolve the ambiguity, making the description incomplete for reliable selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero properties and schema description coverage is 100%, so there are no parameter semantics to add. The baseline for a zero-parameter tool is 4, and the description correctly avoids inventing parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'Read StaticResource' and 'GET /login' but does not define what StaticResource refers to or what the response represents. The tool name 'list_login' suggests login-related data, but the description doesn't clarify whether this returns a login page, a session check, or a static asset list. It does not distinguish itself from sibling tools like list_logout or list_api.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 any alternative, no mention of login flow prerequisites, and no exclusions. The description merely combines a vague verb with an HTTP route, leaving the decision entirely to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_logoutB
Read-onlyIdempotent

Read Authentication.

GET /logout

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds the HTTP route. However, it does not explain what happens when the endpoint is called, whether a session is invalidated, or what authentication state is expected. The annotation coverage lowers the burden, but the description adds little behavioral context beyond the path.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loaded with the endpoint, containing no wasted content. However, 'Read Authentication' reads like boilerplate rather than a genuinely informative summary of the logout behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, an output schema, and safety-related annotations, the description does not need to explain return values or side-effect safety. Still, it is incomplete operationally: it does not clarify the difference between a logout endpoint and a login/read-authentication endpoint, which is the main thing an agent needs to know.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and zero required parameters, so the input schema is complete and the description has no parameter burden to carry. The baseline of 4 applies because there is nothing for the description to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a concrete endpoint ('GET /logout') and labels the resource ('Authentication'), but it never explicitly states that this logs the user out. The phrase 'Read Authentication' is vague and could also describe list_login or a status endpoint, so the agent must infer intent from the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as list_login or create_login. No context, preconditions, or exclusions are given, so an agent has no help choosing between authentication-related endpoints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_manualimportC
Read-onlyIdempotent

Read ManualImport.

GET /api/v3/manualimport

Args: folder: Query parameter. download_id: Query parameter. series_id: Query parameter. season_number: Query parameter. filter_existing_files: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderNo
series_idNo
download_idNo
season_numberNo
filter_existing_filesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds no safety information. It also doesn't disclose any additional behavior like pagination, default filters, or response structure, offering no value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the action, but the parameter list is a flat enumeration without grouping or explanation. It avoids verbosity, though the lack of structure reduces its usefulness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five optional parameters and no schema descriptions, the description is insufficient. It doesn't explain what manual imports are, how to filter them, or what the response contains, leaving the agent without essential context despite having an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description merely repeats parameter names with 'Query parameter.' It provides no meaning for terms like 'filter_existing_files' or how parameters interact, failing to compensate for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Read') and resource ('ManualImport'), which conveys the operation and distinguishes it from sibling list tools by resource name. However, it doesn't elaborate on what ManualImport represents, so it's clear but not deeply informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor does it mention any context or exclusions. It only states the endpoint and parameters, leaving the agent to infer that it lists manual imports without any situational advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_metadataB
Read-onlyIdempotent

Read Metadata.

GET /api/v3/metadata

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnlyHint, idempotentHint, and destructiveHint. The description adds the HTTP method (GET) and the action 'Read', which are consistent but add little beyond annotations. It does not disclose response format, pagination, or any other behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: a single sentence plus the endpoint. No wasted words, and the core action is front-loaded. The structure is clean and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there are no parameters and an output schema exists, the description could be minimal. However, it fails to clarify what 'metadata' refers to (e.g., a list of metadata entries) and does not differentiate from similar list tools. The absence of any usage context leaves room for misinterpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description does not need to explain them. The schema covers everything vacuously, and the baseline for 0 parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb ('Read') and resource ('Metadata'), but 'Metadata' is ambiguous—it doesn't specify whether it returns a list of metadata definitions or something else. It is not a tautology, but it lacks differentiation from sibling tools like list_metadata_schema or get_metadata_by_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus alternatives. There is no mention of when to prefer list_metadata over list_metadata_schema or get_metadata_by_id, nor any context about its typical use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_metadata_schemaC
Read-onlyIdempotent

Read Metadata.

GET /api/v3/metadata/schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds only the endpoint and 'Read Metadata', which does not provide additional behavioral context such as what the response contains or any authentication requirements. It does not contradict annotations but offers minimal value beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (two short lines) and front-loaded with the verb and endpoint. However, it is so minimal that it fails to convey necessary meaning; conciseness should not sacrifice clarity. It is appropriately sized but under-informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists (which covers return values), the description does not clarify what 'Metadata' refers to or that this tool returns the schema for metadata definitions. The lack of differentiation from list_metadata and the absence of any explanatory context make it incomplete for an agent to correctly invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100% (trivially satisfied). With no parameters to document, the baseline of 4 applies. The description does not need to explain parameters, and it doesn't.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read Metadata' which is too generic and doesn't specify that this tool returns the schema definition for metadata. It does not distinguish itself from sibling list_metadata, which likely retrieves actual metadata entries. The endpoint is provided but the purpose remains ambiguous without context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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 list_metadata or other *_schema tools. The description does not mention any conditions, prerequisites, or exclusions, leaving the agent without direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_notificationA
Read-onlyIdempotent

Read Notification.

GET /api/v3/notification

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and 'Read' plus 'GET' is consistent with those. The description adds little behavioral context beyond the endpoint, such as whether the response is a list or whether pagination applies, but the annotations and output schema reduce the severity of that gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, front-loaded, and contains no filler: 'Read Notification' followed by the HTTP endpoint. For a zero-parameter read tool, this is appropriately sized and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the empty parameter schema, the safety annotations, and the presence of an output schema, the description is mostly sufficient for invoking the tool correctly. The main remaining gap is that it does not explicitly state the list semantics or route users away from sibling notification tools, but no required inputs are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero properties and the description adds no parameter detail, so there are no undocumented inputs. With zero parameters, the baseline of 4 applies even though the description does not expand on parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Read') and resource ('Notification') and includes the exact GET endpoint, so an agent can recognize a read operation on the notification resource. However, it does not explicitly say 'list all notifications' or differentiate itself from get_notification_by_id and list_notification_schema, so sibling differentiation is left to the tool name and path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is no mention of get_notification_by_id for reading a single notification or list_notification_schema for discovering schema details; the only implied signal is the collection-level GET path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_notification_schemaC
Read-onlyIdempotent

Read Notification.

GET /api/v3/notification/schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. However, the description adds no behavioral detail beyond the name—it doesn't explain what kind of schema is returned or how it can be used. With annotations present, the description should add context but does not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short—'Read Notification' plus an endpoint. While it is concise, it is under-specified and lacks structure. It does not front-load key information or provide a useful overview. It reads more like a placeholder than a helpful description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the description doesn't explain what this tool returns or why an agent would use it. It's a schema-listing endpoint but the description doesn't clarify that it provides the JSON schema for notifications, nor does it mention any related use cases. The tool is incomplete in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the schema already covers everything. The description doesn't need to explain parameter details. Baseline for 0 params is 4, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read Notification' which is vague and does not clearly state that it retrieves the schema for notifications. It doesn't differentiate from siblings like list_notification which lists actual notifications. The endpoint is provided but not explained.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It doesn't mention that it's useful for inspecting notification schema before creation or updates, nor does it exclude any cases. Simply a read operation with no context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_parseC
Read-onlyIdempotent

Read Parse.

GET /api/v3/parse

Args: title: Query parameter. path: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
titleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the concrete endpoint (GET /api/v3/parse) which confirms the HTTP method and path. No behavioral contradiction; the bar is lower because annotations carry the burden, and the description adds a small amount of useful contract detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lean and front-loaded, showing the endpoint first followed by the parameter roles. Every line earns its place. It's terse to the point of sparseness, but as a purely structural matter it is well-organized and free of waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (2 optional string params) and has an output schema, so return values are documented elsewhere. The main gap is that the description never clarifies what the Parse resource is, which is essential context for an agent deciding whether this tool applies to its task. The interaction between title and path is also unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does add one piece of meaning beyond the schema: it labels title and path as 'Query parameter,' which tells an agent how to pass them (query string rather than body). However, it doesn't explain what these parameters semantically mean — what a valid path or title looks like, or whether they are alternatives or combined filters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read Parse' is essentially a restatement of the name 'list_parse' — 'list' maps to 'Read' and 'parse' is the resource. It confirms the GET action but never explains what the Parse resource actually is or what data it returns, leaving an agent guessing about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is given. There are dozens of sibling list_* and get_* tools, but the description doesn't say when to use list_parse versus alternatives, nor does it clarify what scenario this tool addresses (e.g., is it for previewing a title/path parse before saving?). It's neither misleading nor helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pingB
Read-onlyIdempotent

Read Ping.

GET /ping

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description 'Read Ping' adds no extra behavioral context, such as what a successful response looks like or whether it returns status details. It essentially repeats the read-only intent without enhancing the agent's understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: 'Read Ping.' and 'GET /ping'. It is front-loaded with the core action and the endpoint, with no redundant words or filler. Every character serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and a straightforward read-only purpose, the description is mostly sufficient. However, it does not mention what the response contains or how to interpret a successful ping, which could be useful for an agent verifying API health. A single sentence about the response would improve completeness, but the current description is acceptable for such a simple endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the schema coverage is trivially complete. The description does not need to explain parameters, and it does not attempt to. Per the baseline rule for zero parameters, a score of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Read' and the resource 'Ping', and includes the HTTP endpoint GET /ping. This is specific and unique among the sibling tools, which all follow a similar naming pattern but none other is about ping. It could be slightly more explicit in contrasting with alternatives, 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.

Usage Guidelines2/5

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 others. It does not mention typical use cases, prerequisites, or conditions for choosing this endpoint. While it's a simple health check, an agent would benefit from knowing it is intended for connectivity or liveness verification.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_qualitydefinitionB
Read-onlyIdempotent

Read QualityDefinition.

GET /api/v3/qualitydefinition

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to repeat those. The description adds the endpoint but offers no additional behavioral context such as pagination, sorting, or output format. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short—a single sentence plus the endpoint. It is not bloated or redundant, but it is also under-specified. It earns a 4 because it is compact and wastes no words, though it could add more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no parameters and an output schema, the description is minimally adequate. It does not explain what QualityDefinition is or how this list differs from similar ones, but the output schema likely covers return details. It is incomplete for an agent trying to understand the tool's role among many siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so per the rubric the baseline is 4. The description adds no parameter details, but none are needed. The schema coverage is 100%, and with no parameters, there is nothing to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('Read QualityDefinition') and includes the endpoint, so the agent knows it's a read/list operation. However, it does not differentiate this from sibling tools like list_qualitydefinition_limits or get_qualitydefinition_by_id, which could be confused for similar purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention that a specific item can be fetched with get_qualitydefinition_by_id or that limits are available via list_qualitydefinition_limits. The agent is left to infer 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.

list_qualitydefinition_limitsB
Read-onlyIdempotent

Read QualityDefinition.

GET /api/v3/qualitydefinition/limits

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The 'Read' wording and GET method only restate what the annotations already establish (readOnlyHint, idempotentHint, destructiveHint false). No additional behavioral context—such as response scope, ordering, or operational constraints—is provided beyond structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is compact, front-loads the operation in the first line, and appends the REST path without padding. It is efficient, though the first line is too terse to be as informative as it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless read with strong annotations and an output schema, the basic facts are sufficient for a mechanical call. But the description does not clarify what 'limits' returns or distinguish this endpoint from list_qualitydefinition, leaving an agent to infer the selection context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the schema fully covers the invocation surface and schema description coverage is 100%. The description therefore does not need to add parameter semantics; no gap exists.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read QualityDefinition' plus the explicit endpoint 'GET /api/v3/qualitydefinition/limits' gives a clear verb and resource, and the path pinpoints the exact operation. However, it never explains what 'limits' means or how this differs from sibling list_qualitydefinition, so the purpose is clear but not differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to call this tool instead of list_qualitydefinition, get_qualitydefinition_by_id, or other read endpoints. The agent must infer usage solely from the name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_qualityprofileA
Read-onlyIdempotent

Read QualityProfile.

GET /api/v3/qualityprofile

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the HTTP method and endpoint path, but no additional behavioral context such as pagination, default limits, or response details beyond what the output schema would convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two lines, no filler, with the essential action and endpoint front-loaded. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the availability of an output schema (which explains return values), zero parameters, and annotations covering read-only/idempotent safety, the description is essentially complete. It would benefit from an explicit 'returns all quality profiles' phrase, but the endpoint and name already imply the collection scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parametershare and schema description coverage effectively complete, there are no parameter semantics for the description to clarify. The baseline score of 4 for a 0-parameter tool is appropriate; the description adds no specific param detail but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Read') and resource ('QualityProfile'), and the included GET endpoint indicates this is a collection-level read. It is distinct from get_qualityprofile_by_id by virtue of the name and endpoint, but the description itself does not explicitly say it lists all quality profiles rather than retrieving one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like get_qualityprofile_by_id or list_qualityprofile_schema. The description only states the endpoint and reading action, leaving the agent to infer the appropriate context from the tool 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.

list_qualityprofile_schemaB
Read-onlyIdempotent

Read QualityProfileSchema.

GET /api/v3/qualityprofile/schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the HTTP endpoint, which is an implementation detail and not meaningful behavioral context; it does not disclose what the schema contains or how it relates to creating/updating profiles.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is two short sentences that front-load the action and then give the endpoint. There is no fluff or repetition; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a trivial zero-parameter, read-only schema endpoint with annotations and an output schema present, the description plus structured data is sufficient for an agent to invoke the tool correctly. It lacks any usage context, but that is already penalized under usage guidelines.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters)Skip the schema is empty, giving 100% schema description coverage. Baseline for 0 parameters is 4, and the description correctly avoids fabricating parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('QualityProfileSchema'), and includes the raw API endpoint, making the action unambiguous. It does not explicitly contrast with sibling tools like list_qualityprofile, but the 'Schema' suffix and resource name already differentiate it clearly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_qualityprofile or get_qualityprofile_by_id. No conditions, exclusions, or contextual advice are provided, leaving the agent to infer usage solely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_queueC
Read-onlyIdempotent

Read Queue.

GET /api/v3/queue

Args: page: Query parameter. page_size: Query parameter. sort_key: Query parameter. sort_direction: Query parameter. include_unknown_series_items: Query parameter. include_series: Query parameter. include_episode: Query parameter. series_ids: Query parameter. protocol: Query parameter. languages: Query parameter. quality: Query parameter. status: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
statusNo
qualityNo
protocolNo
sort_keyNo
languagesNo
page_sizeNo
series_idsNo
include_seriesNo
sort_directionNo
include_episodeNo
include_unknown_series_itemsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds nothing beyond listing parameter names; it does not disclose pagination behavior, response format, or any side effects. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and to the point, but it is not well-structured for usability. The parameter list is redundant with the schema and adds no value; the endpoint is given but is not needed. It is concise but not effective at conveying key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 12 parameters with no descriptions, no enums, and an output schema that is not explained in the description, this is highly incomplete. An agent cannot correctly construct a query without knowing valid values for status, quality, languages, and other filters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description lists all 12 parameters by name but provides no explanation of their meaning, allowed values, or format. Schema coverage is 0%, so neither the description nor the schema offers semantic guidance. For example, 'protocol' and 'sort_direction' are objects with no defined structure, leaving the agent to guess.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Read Queue' which is clear enough as a read operation on the queue resource. However, it does not differentiate from sibling tools like list_queue_details or list_queue_status, so an agent cannot tell which specific queue view this returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as list_queue_details or list_queue_status. It only states the endpoint and lists parameters, offering no context on typical use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_queue_detailsC
Read-onlyIdempotent

Read QueueDetails.

GET /api/v3/queue/details

Args: series_id: Query parameter. episode_ids: Query parameter. include_series: Query parameter. include_episode: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
series_idNo
episode_idsNo
include_seriesNo
include_episodeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description's 'Read' and 'GET' are fully consistent with that safety profile. The description adds little beyond confirming the HTTP method; it does not disclose default behavior when all optional parameters are omitted or any response-scoping effects. No contradiction exists, so a mid score is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and logically ordered: one-line action, endpoint, then a flat argument list. There is no filler or repetition beyond the minor redundancy of the per-argument 'Query parameter.' lines. It is appropriately sized for the information it carries, though that information is thin.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with four undocumented parameters (0% schema coverage), the description leaves critical gaps: the meaning of each filter flag, how parameters combine, and what distinguishes this from list_queue. The output schema and annotations do cover return structure and safety, which prevents a score of 1, but an agent cannot confidently determine correct invocation or tool selection from this definition alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden of explaining the four parameters, but it merely repeats each name followed by 'Query parameter.' This adds only the fact that they are passed via the query string, not what series_id filtering means, how episode_ids interacts with it, or what include_series and include_episode control in the response. The schema's bare type information (integer, array, boolean) is essentially all the agent has.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb and resource ('Read QueueDetails') plus the concrete endpoint GET /api/v3/queue/details, which confirms it is a read operation on a specific path. However, 'QueueDetails' is essentially the tool name restated, and the description never explains what QueueDetails contains or how it differs from the closely named sibling list_queue. This is clear enough to identify the operation but vague on what the resource actually is.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers zero guidance on when to use this tool versus alternatives. With a near-identical sibling named list_queue and related tools like list_queue_status, an agent has no basis to choose among them. No usage context, preconditions, or exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_queue_statusB
Read-onlyIdempotent

Read QueueStatus.

GET /api/v3/queue/status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already mark this as readOnly, idempotent, and non-destructive, and the description adds only the phrase 'Read' and an HTTP endpoint. It provides no additional behavioral context, such as what QueueStatus represents or how it relates to queue details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, front-loaded with the action, and contains no filler. Every element earns its place, though the brevity comes at the cost of contextual richness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only endpoint with an output schema, the basic invocation details are present. However, the description never explains what QueueStatus contains or when it should be preferred over list_queue and list_queue_details, so an agent could select the wrong sibling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty input schema, so there is nothing for the description to clarify. The baseline for no-parameter tools is 4, and no deduction is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Read') and resource ('QueueStatus'), and includes the exact endpoint, so an agent knows what the tool does. However, it does not differentiate QueueStatus from sibling tools like list_queue or list_queue_details, which limits clarity in a crowded tool list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 alternatives such as list_queue or list_queue_details. The description only repeats the endpoint and gives no context for choosing it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_releaseB
Read-onlyIdempotent

Read Release.

GET /api/v3/release

Args: series_id: Query parameter. episode_id: Query parameter. season_number: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
series_idNo
episode_idNo
season_numberNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds the GET method and query parameters but provides no additional behavioral context such as result scoping, default behavior, or authorization needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: one clear summary line, the endpoint, then a short parameter list. No filler or repetition beyond what is minimally necessary, though it is sparse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with an output schema and safety annotations, much is covered. However, the description omits the intended filtering semantics and any context on what a 'release' is, leaving the agent with only parameter names to infer usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description would need to compensate, but it only repeats parameter names and labels them 'Query parameter.' It does not explain whether these filter results, how they combine, or what omitting them returns; parameter meaning is left mostly to inference from names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read Release' and provides the GET /api/v3/release endpoint, making the operation and resource clear. It does not explicitly differentiate it from release-related siblings such as list_releaseprofile or create_release.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives, no exclusions, and no prerequisites. The description lists only the endpoint and arguments, so an agent cannot determine when this is the right tool among the many list_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_releaseprofileA
Read-onlyIdempotent

Read ReleaseProfile.

GET /api/v3/releaseprofile

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the read-only behavior is covered. The description adds the HTTP endpoint but no further behavioral context such as auth requirements, response shape, or collection semantics. There is no contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one short action sentence followed by the endpoint. The core purpose is front-loaded, and there is no unnecessary content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, read-only tool with an output schema and safety annotations, the description is nearly sufficient. The main missing piece is explicit mention that it returns all release profiles rather than a single one, but the tool name and collection-style endpoint imply this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the input schema is an empty object, so parameter documentation is unnecessary. The description neither adds nor needs to add parameter semantics, and the schema covers 100% of the parameter surface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action ('Read') and resource ('ReleaseProfile'), and includes the concrete endpoint 'GET /api/v3/releaseprofile'. This is clear enough to identify the operation, though it does not explicitly say 'list all' or contrast with get_releaseprofile_by_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. Sibling tools such as get_releaseprofile_by_id, create_releaseprofile, update_releaseprofile_by_id, and delete_releaseprofile_by_id exist, but the description does not tell an agent when to use this list tool vs those alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_remotepathmappingA
Read-onlyIdempotent

Read RemotePathMapping.

GET /api/v3/remotepathmapping

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds no extra behavioral context (e.g., pagination, filtering, or return structure). It is consistent with annotations but does not enhance transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: one sentence and the endpoint. No redundant words, and the action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only list with an output schema present, the description is largely sufficient, though it could explicitly mention that it returns all remote path mappings. However, the endpoint and read semantics imply this, so not a critical omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist; schema coverage is 100%. The description adds nothing about parameters, which is acceptable because there are none to document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the verb 'Read' and resource 'RemotePathMapping', but 'Read' is ambiguous for a list operation; it doesn't explicitly say 'list all'. However, the endpoint suggests a collection, and there is a sibling get_remotepathmapping_by_id for individual retrieval, so it is distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_remotepathmapping_by_id. No context provided beyond the minimal description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_renameC
Read-onlyIdempotent

Read RenameEpisode.

GET /api/v3/rename

Args: series_id: Query parameter. season_number: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
series_idNo
season_numberNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description only repeats 'Read' and the GET verb, adding no behavioral context about return values, empty results, error behavior, or side effects. It does not contradict the annotations, but it provides no transparency beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and has a clear endpoint-and-args structure, so it is not bloated. However, it is under-specified to the point of being minimally informative, and the opening sentence adds little beyond the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read endpoint with helpful annotations, a short description can suffice, but only if it states what is being listed and when to use it. This description does not, so an agent cannot know whether list_rename returns rename candidates, past renames, or something else. The output schema helps with response structure but not with intended use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description needed to explain what series_id and season_number mean, whether they are optional, and how they interact. It merely labels them as 'Query parameter' and repeats their names, so it fails to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read RenameEpisode' and provides the GET endpoint, but never explains what a RenameEpisode is or what the returned data represents. It essentially restates the tool name (list_rename) and does not differentiate it from the many sibling list_* tools, leaving the purpose vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, what problem it solves, or why an agent would choose it over sibling tools like list_episode or the config naming tools. The only usage-related information is the query parameter list, with no conditions, prerequisites, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_rootD
Read-onlyIdempotent

Read StaticResource.

GET /

Args: path: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. However, the description adds no extra behavioral context, such as response characteristics or side effects, going beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short, but this is under-specification rather than effective conciseness. It includes a confusing 'GET /' alongside a required path parameter, and it lacks a clear front-loaded statement of purpose. Each sentence does not earn its place because the essential information is missing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite being a simple tool with one parameter and an output schema, the description is incomplete. It fails to explain what resource is being read, preventing an agent from knowing when to call it or what value to supply for 'path'. The description does not provide enough context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, 'path', is a required string in the schema. The description merely says 'path: Path parameter,' which adds no meaning beyond the parameter name and type. With 0% schema description coverage, the description fails to compensate by explaining what the path should refer to or its expected format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says "Read StaticResource," which is vague and does not clearly explain what the tool does or what a StaticResource is. The tool name is list_root, but the verb 'read' conflicts with the implication of listing, and there is no differentiation from siblings like get_by_path or get_content_by_path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. The description does not mention when to call it, when not to, or provide any comparison to sibling tools. An agent cannot determine the appropriate context for invoking list_root.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_rootfolderA
Read-onlyIdempotent

Read RootFolder.

GET /api/v3/rootfolder

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=true, idempotent=true, and destructive=false, and the description's 'Read' plus GET method are consistent with those. The description adds no extra context beyond what structured annotations already provide (e.g., no auth, pagination, or list-vs-single clarification), so the behavior is transparent but not enriched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short lines, front-loads the purpose, and contains no filler. It is appropriately minimal for a parameterless read operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because this is a safe, idempotent read with no parameters and an output schema already present, the description does not need to explain return values. The only minor gap is that 'Read RootFolder' gives no hint that this is a list-style endpoint, but the tool name list_rootfolder and the bare path provide that context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema has 100% coverage, so parameter semantics are trivially complete. The description does not need to document parameter meaning because there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Read') and resource ('RootFolder') and reveals the exact endpoint, so an agent can generally tell it performs a GET on the root folder resource. It doesn't explicitly say this returns all root folders or differentiate from get_rootfolder_by_id, so it is clear but not fully disambiguated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description never says when to prefer this tool over sibling list/get/create/delete root-folder tools, nor does it mention prerequisites or alternatives. The GET path is the only minimal signal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_seriesC
Read-onlyIdempotent

Read Series.

GET /api/v3/series

Args: tvdb_id: Query parameter. include_season_images: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
tvdb_idNo
include_season_imagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description doesn't need to cover safety. But it adds no behavioral context beyond the HTTP endpoint and the parameter names. It does not disclose filtering behavior, response format, or any constraints beyond what annotations already imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded with the purpose. However, it is under-specified rather than appropriately concise; it omits necessary semantic detail. The structure is acceptable but the content is too sparse to be effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with an output schema, the description might be adequate in isolation, but the context includes numerous sibling list/get tools and ambiguous parameters. The lack of usage guidance and parameter semantics makes the description incomplete for an agent deciding whether and how to invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It merely lists 'tvdb_id' and 'include_season_images' as 'Query parameter' with no explanation of their meaning or effect. This adds no value beyond the schema's types and titles, leaving the agent to guess what these parameters control.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Read Series.' It clearly identifies the tool as a read operation on series. However, it does not differentiate from siblings like list_series_lookup or get_series_by_id, so the agent must infer the scope from the endpoint path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention that it lists all series, nor any conditions for using the optional parameters. The agent is left without context for selection among many list_* and get_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_series_lookupD
Read-onlyIdempotent

Read SeriesLookup.

GET /api/v3/series/lookup

Args: term: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
termNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is covered. However, the description adds no behavioral context beyond 'Read SeriesLookup'; it doesn't explain what the operation actually does, what the response contains, or anything about the lookup behavior. With annotations present, the description still fails to add meaningful behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, but this is under-specification rather than conciseness. It lacks a full explanatory sentence; it reads more like a technical stub. There is no front-loading of key purpose or usage information, and the structure is minimal and unhelpful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and an output schema, the description should at least state what the tool does and when it's appropriate. It provides almost none of that. An agent cannot infer the intended use case or the meaning of the term parameter from this description. The existence of an output schema doesn't compensate for the missing purpose and usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for the only parameter (term), so the description must compensate. It only says 'term: Query parameter', which adds no semantic meaning. It doesn't explain what the term represents (e.g., a search string), its format, or its effect on results. This is nearly useless for an agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb ('Read') and a resource ('SeriesLookup'), and includes the term parameter, which implies this tool performs a lookup by term. However, it never explicitly states that it searches or returns series matching the term, nor does it differentiate from sibling tools like list_series. The purpose is only vaguely implied, not clearly defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. The description simply provides the endpoint and parameter, but doesn't mention any conditions, prerequisites, or exclusions. An agent has no information to decide between this and other list_* tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_system_backupA
Read-onlyIdempotent

Read Backup.

GET /api/v3/system/backup

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile with readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate those. However, it adds no behavioral detail beyond the HTTP method, such as what the response contains or whether backups are returned in any particular order. No contradiction exists, so a mid-range score is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely compact: a one-line purpose statement followed by the endpoint. There is no wasted prose, and it is easily scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a simple, zero-parameter, read-only endpoint with a rich output schema and strong annotations, the description is nearly sufficient. It would benefit from one sentence clarifying that it retrieves the list of system backups, but the endpoint and annotations fill most of the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and schema description coverage is 100%, so there are no parameter semantics to convey. Per the baseline for zero-parameter tools, the description is not expected to add parameter-level detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Read Backup.' The included endpoint 'GET /api/v3/system/backup' reinforces the system backup context and distinguishes it from other list_system_* tools. It is somewhat terse and largely echoes the tool name, but it is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to call this tool versus alternatives such as list_system_status, list_system_task, or delete_system_backup_by_id. There is no contextual hint about backups being read-only or when a user would need this endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_system_routesC
Read-onlyIdempotent

Read System.

GET /api/v3/system/routes

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds only the HTTP method and endpoint, which are not behavioral traits. It does not describe what the response contains or any side effects, providing minimal value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, but it is under-specified rather than concise. It lacks essential information about what the tool returns and when to use it. The structure is minimal but not effectively front-loaded with useful details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists and annotations cover safety, the description fails to explain the tool's purpose beyond 'Read System'. It does not clarify that it returns routes, nor does it distinguish from the similar sibling list_system_routes_duplicate. More context is needed for an agent to confidently invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the schema is fully comprehensive (100% coverage). The description does not need to explain parameters, and the baseline of 4 is appropriate since there is nothing to add.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read System' is vague and does not specify that the tool returns the list of system routes. The HTTP endpoint is provided, but the description itself lacks a clear verb+resource statement. The tool name implies the purpose, but the description does not reinforce it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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 the closely named sibling list_system_routes_duplicate. There is no mention of context, exclusions, or comparisons, leaving the agent without direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_system_routes_duplicateC
Read-onlyIdempotent

Read System.

GET /api/v3/system/routes/duplicate

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description merely says "Read System." and provides the endpoint, adding no behavioral context beyond the annotations. It does not contradict the annotations, but it also does not enrich them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and includes the exact endpoint, which is mildly useful. However, "Read System." is filler that repeats the obvious and does not earn its place. It is under-specified rather than efficiently concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity read tool, the description still fails to state what the tool returns or how it differs from list_system_routes. The output schema exists, but the agent still lacks enough context to know when this tool is relevant. The description is not complete enough for correct tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty input schema with 100% coverage, so there are no parameter semantics the description needs to explain. The baseline for a zero-parameter tool applies here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says only "Read System." which is too generic to indicate what the tool actually does. It does not mention routes or duplicates, and does nothing to distinguish this tool from near-sibling list_system_routes. The endpoint line is present but adds no semantic explanation of the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The sibling list_system_routes exists and is highly related, but the description never explains when the 'duplicate' variant should be chosen. No context 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.

list_system_statusB
Read-onlyIdempotent

Read System.

GET /api/v3/system/status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is established. However, the description adds no behavioral information beyond the HTTP method, such as authentication needs, response behavior, or any side effects. It relies entirely on the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely compact and front-loaded with the action. The endpoint line is useful, though the prose 'Read System.' is somewhat redundant with the tool name and endpoint. Still, there is no unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only, parameterless status endpoint with a rich output schema and clear annotations, the description provides enough to invoke the tool correctly. It does not explain what the status payload contains, but the output schema covers that, and no other operational context seems essential for this low-complexity operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema description coverage is 100%, so there is no parameter documentation burden for the description to carry. The baseline for a parameterless tool is appropriately met.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a clear read operation via the HTTP endpoint GET /api/v3/system/status, so an agent understands the resource being queried. 'Read System' is terse, but the endpoint removes ambiguity and distinguishes it from the many other list_* and system-related sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_system_task, list_system_backup, or list_system_routes. No context, exclusions, or alternative tool references are provided, so an agent must infer usage from the name and endpoint alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_system_taskA
Read-onlyIdempotent

Read Task.

GET /api/v3/system/task

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, and 'Read Task' is consistent with those. The description adds only the HTTP endpoint and no further behavioral context such as authentication needs or task semantics. It is not contradictory, but it adds little beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: 'Read Task.' followed by the endpoint. Every line serves a purpose, 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only, idempotent endpoint with an output schema, the description is nearly complete. The main gap is that it does not clarify that this lists all system tasks or direct the agent to get_system_task_by_id when a specific task is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and 100% description coverage, so there is no parameter documentation burden. The baseline for zero-parameter tools is 4, and the description adds no unnecessary parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action ('Read Task') and the exact endpoint (GET /api/v3/system/task), making the resource and verb identifiable. However, it does not explicitly say 'list all tasks' or contrast this with get_system_task_by_id, so sibling differentiation is missing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 instead of alternatives such as get_system_task_by_id. It mentions no conditions, exclusions, or context, leaving the agent to infer usage from the name and endpoint alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tagC
Read-onlyIdempotent

Read Tag.

GET /api/v3/tag

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no new behavioral context—it only states 'Read Tag.' and the endpoint. It doesn't disclose that it returns all tags, any pagination, or other semantic details. This provides minimal value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (two lines), but the content is not effective. 'Read Tag.' is too vague and the endpoint, while factual, doesn't clarify the operation's scope. The structure is minimal but not well-front-loaded with key information, so it is under-specified rather than efficiently concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation, the description is incomplete. It doesn't state that this lists all tags, nor does it mention any relevant details like the response being an array. The output schema exists but the description fails to provide even a basic semantic explanation of what the tool returns. An agent calling this tool would not know it retrieves all tags unless it inferred from the endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and schema description coverage is 100% (empty properties). There is nothing for the description to add. The baseline for 0 parameters is 4, and no parameter-related gaps exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read Tag.' is ambiguous. It doesn't specify whether it reads a single tag or lists all tags. The endpoint GET /api/v3/tag implies a list (no ID), but the description does not state this. It fails to distinguish from sibling tools like get_tag_by_id, which reads a specific tag.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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_tag_by_id or list_tag_detail. No mention of use cases, conditions, or exclusions. The agent receives no help in choosing between the many list and get operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tag_detailC
Read-onlyIdempotent

Read TagDetails.

GET /api/v3/tag/detail

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover the safety profile. The description adds only the HTTP endpoint, which is not behavioral information. It does not describe the return format, pagination, or any other runtime behavior, so it contributes no additional transparency beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short—two lines—with no redundant wording. It is not verbose, and the purpose is stated first followed by the endpoint. However, the first sentence essentially restates the tool name and adds little value, so it is not as effective as it could be. Still, it is appropriately sized and not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list endpoint, the description is incomplete. It does not mention that it returns a list of all tag details, any optional filters, or how it relates to get_tag_detail_by_id. The existence of an output schema provides some return information, but the description itself lacks context about what the agent can expect from calling this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters and schema coverage is 100%. Per the calibration guidelines, with no parameters the baseline is 4. The description does not need to describe any parameters, and it does not; the schema fully captures the empty parameter set.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Read') and resource ('TagDetails') but does not explicitly indicate whether this returns a single item or a list. The tool name and sibling get_tag_detail_by_id imply a list operation, but the description itself lacks that specificity. It is not a tautology and does differentiate from the by_id variant, but only through the name, not the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as get_tag_detail_by_id or list_tag. There is no mention of prerequisites, filtering, or scenarios where this is the appropriate choice. The agent must infer usage from the tool name and sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_updateC
Read-onlyIdempotent

Read Update.

GET /api/v3/update

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the specific HTTP endpoint (GET /api/v3/update), which is a useful behavioral detail for invocation. However, it does not describe what the tool returns, any potential side effects beyond the read operation, or any other behavioral nuances.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (two lines), but it is under-specified rather than concisely informative. It lacks the substance needed for an agent to understand the tool's purpose. While there is no fluff, the brevity comes at the cost of clarity, so it does not earn a high score for structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although the tool has no parameters and an output schema exists (so return values need not be described), the description is incomplete because it fails to clarify what 'Update' refers to. This ambiguity leaves the agent unable to determine the tool's domain or how it fits with other tools. The endpoint is provided, but without context, it is not sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description does not need to explain any parameters since the input schema is empty and there is nothing to add. The schema coverage is 100% by default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read Update' is minimal and ambiguous. It states it is a read operation but does not clarify what 'Update' refers to (software updates? resource updates?). It does not name a specific resource or domain, and it does not distinguish itself from the many other list_* sibling tools, such as list_alttitle or list_system_status, which also read resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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 any alternative. It simply gives the HTTP endpoint without any context about the purpose, prerequisites, or scenarios where this tool is appropriate. There is no mention of alternative tools or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_wanted_cutoffC
Read-onlyIdempotent

Read Cutoff.

GET /api/v3/wanted/cutoff

Args: page: Query parameter. page_size: Query parameter. sort_key: Query parameter. sort_direction: Query parameter. include_series: Query parameter. include_episode_file: Query parameter. include_images: Query parameter. monitored: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sort_keyNo
monitoredNo
page_sizeNo
include_imagesNo
include_seriesNo
sort_directionNo
include_episode_fileNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only 'Read Cutoff' and the HTTP endpoint, which restates the resource. It does not disclose return behavior, pagination characteristics, or any side effects beyond what annotations already provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The structure is clean and front-loaded with the verb and endpoint, but it wastes space by repeating 'Query parameter' eight times, which is redundant. It is concise yet could say more with less repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and no param documentation in the description, it is incomplete. It does not explain what the cutoff list represents, how parameters alter output, or how it relates to sibling tools. The output schema exists, which reduces the burden, but the core semantics are still missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameter meaning. Instead, it merely repeats the parameter names and labels each as 'Query parameter,' which adds no semantic value beyond the schema. There is no explanation of how these parameters affect results.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Read Cutoff,' which identifies a verb and a resource but remains vague. It does not state that this lists wanted cutoff episodes, nor does it differentiate from sibling tools like list_wanted_missing or get_wanted_cutoff_by_id. An agent would need domain knowledge to infer the exact purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. No mention of conditions, exclusions, or relations to siblings. The description simply lists arguments, leaving usage entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_wanted_missingD
Read-onlyIdempotent

Read Missing.

GET /api/v3/wanted/missing

Args: page: Query parameter. page_size: Query parameter. sort_key: Query parameter. sort_direction: Query parameter. include_series: Query parameter. include_images: Query parameter. monitored: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sort_keyNo
monitoredNo
page_sizeNo
include_imagesNo
include_seriesNo
sort_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description does not contradict them. However, it adds no behavioral context beyond the literal 'Read' label, such as pagination behavior, default sort, or what set of records is considered 'missing'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, but the seven-line parameter list is boilerplate that duplicates schema property names without adding value. It is concise only in the sense of being short; it is not substantively informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 optional parameters and zero schema descriptions, the description does not provide enough information for an agent to select or invoke this tool confidently. The output schema may document the response, but the missing tool semantics and parameter guidance make this definition fundamentally incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description merely repeats each parameter name with the phrase 'Query parameter' without explaining meaning, allowed values, or effects. For example, sort_direction's expected format, what monitored controls, and how include_series/include_images behave are all left undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read Missing.' is nearly a restatement of the tool name and does not define what 'missing' refers to in this domain. The endpoint /api/v3/wanted/missing adds some concrete context, but the description still fails to distinguish this from related siblings like list_wanted_cutoff or list_history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 list_wanted_cutoff, get_wanted_missing_by_id, or list_episode. The description only lists the endpoint and parameters, with no conditions, exclusions, or use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_autotagging_by_idB
Idempotent

Update AutoTagging.

PUT /api/v3/autotagging/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the description does not need to repeat those. It adds the HTTP method and the useful requirement to consult GET/schema for expected fields, but it does not explain whether the update is partial or full replacement, or what happens on invalid or missing resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-line purpose, the HTTP endpoint, then a short args list. Every sentence contributes useful information with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the nested body object and 0% schema coverage, pointing to the GET/schema endpoint is essential and helpful. Yet the description lacks explicit clarification about full versus partial update semantics, error behavior, or prerequisites beyond reading the schema, leaving an agent to infer important invocation details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does add meaning by labeling id as a path parameter and body as the request payload, and by directing the agent to the GET or schema endpoint for body fields. However, it stops short of describing the actual AutoTagging fields or any id format expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('Update AutoTagging') and gives the PUT endpoint with {id}, which distinguishes it from create/delete/get sibling tools. It does not explicitly name an alternative, but the by-id update intent is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 create_autotagging, delete_autotagging_by_id, or list_autotagging_schema. The only directional advice is to read the matching GET or /schema endpoint for body fields, which is payload construction help rather than tool-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_config_downloadclient_by_idA
Idempotent

Update DownloadClientConfig.

PUT /api/v3/config/downloadclient/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is known. The description adds the behavioral guidance to fetch the GET/schema before updating, which is useful context beyond annotations. It does not contradict annotations and clarifies that this is 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: action, endpoint, then parameters. It avoids fluff and each sentence adds value. The structure is clear and easy to parse, though it could be slightly more formatted with a bullet list, but it remains effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with a complex body, the description provides the essential invocation details and points to the schema for field specifics. It does not explain the return format, but an output schema is present. It also does not discuss error handling or partial vs full updates, but the GET/schema guidance covers the main uncertainty. Overall, it is sufficient for a competent agent to proceed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains id is a path parameter and body is a request payload, and directs the agent to GET/schema for field details. While it does not enumerate body fields, it provides a clear path to obtain them, which is a reasonable mitigation for an open-ended object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action clearly: 'Update DownloadClientConfig.' and specifies the exact HTTP method and endpoint. This unambiguously distinguishes it from siblings like update_downloadclient_by_id or update_downloadclient_bulk by targeting the config resource specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear prerequisite—'Read the matching GET or the /schema endpoint first'—which tells the agent how to prepare the body. However, it does not mention when to use this tool versus alternatives, nor any exclusions. Given the many similar update_*_by_id tools, some explicit routing would help, but the name is specific enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_config_host_by_idA
Idempotent

Update HostConfig.

PUT /api/v3/config/host/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the agent knows the tool is a safe, idempotent mutation. The description adds the instruction to read the GET or schema first, which hints at the need for a full or structured payload. It does not disclose any additional side effects, auth requirements, or rate limits, but the annotations cover the core behavioral profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the action, followed by the endpoint and parameter explanations. Each line serves a purpose, and there is no redundant information. It is appropriately sized for a simple update operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the body is a free-form object and there is an output schema, the description relies on external references (GET/schema) for the payload structure. It does not clarify whether the update is partial or full replacement, nor does it mention the response format. For a config update tool, this is slightly incomplete, but the idempotentHint and output schema provide some additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains that 'id' is a path parameter and 'body' is the request payload, and directs the agent to consult the GET or /schema endpoint for field expectations. This adds meaningful guidance beyond the bare schema, but it does not detail the body structure or list any fields, leaving the agent to discover them externally.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Update HostConfig' and includes the HTTP method and path, making the tool's purpose unambiguous. It is specific enough to distinguish from sibling update_config_* tools because it names the resource (host). However, it does not elaborate on what HostConfig contains, which is acceptable for purpose clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance to 'Read the matching GET or the /schema endpoint first' before sending the body, which tells the agent how to prepare the request. It also implicitly differentiates from other config updates by naming the resource. It does not explicitly state when not to use it, but the resource name makes that obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_config_importlist_by_idA
Idempotent

Update ImportListConfig.

PUT /api/v3/config/importlist/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint=false, idempotentHint=true for a PUT, destructiveHint=false), and the description does not contradict them. It adds modest value by spelling out the PUT method and warning that the body schema is dynamic and must be discovered via GET or /schema, but it does not address auth requirements or the full-replacement semantics of PUT.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the verb and resource, and the Args section is clearly structured with no filler. Each line earns its place, though the endpoint URL partially duplicates information implied by the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering the safety profile, the description covers the essentials: what it updates, the endpoint, and how to discover the body fields. The main gaps are the lack of differentiation from sibling update_importlist_by_id and no clarity on whether the update fully replaces or merges the existing config.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description compensates by explaining the role of each parameter: id is the path parameter and body is the request payload. It also supplies a discovery strategy for the body's fields, which is meaningful guidance given the schema's opaque additionalProperties:true body.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Update ImportListConfig') and reinforces it with the explicit endpoint PUT /api/v3/config/importlist/{id}. However, it does not differentiate itself from the near-identically named sibling update_importlist_by_id, so an agent could confuse which config resource is being updated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a useful prerequisite ('Read the matching GET or the /schema endpoint first') but never states when to prefer this tool over alternatives such as update_importlist_by_id or update_importlist_bulk. Usage context is implied by the verb and endpoint, not explicitly framed with when-to-use / when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_config_indexer_by_idA
Idempotent

Update IndexerConfig.

PUT /api/v3/config/indexer/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotent, non-destructive, non-read-only behavior. The description adds beyond that by specifying the PUT method, the path parameter, and advising the agent to fetch the current resource schema before sending a body. No contradictions exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the core purpose, and every line contributes useful information: the update action, the endpoint, and parameter guidance. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and annotations cover idempotency and safety, the description provides enough to invoke the tool correctly by pointing to GET/schema for body construction. It could be slightly richer about when to choose this over related update tools, but it is complete for the core task.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the parameter semantics. It clarifies that id is a path parameter and that body is the request payload, and importantly tells the agent where to discover the expected body fields (GET or /schema). This meaningfully exceeds the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation ('Update IndexerConfig') and provides the explicit HTTP method and path (PUT /api/v3/config/indexer/{id}). This distinguishes it from sibling tools like update_indexer_by_id by specifying the config indexer resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: it is a PUT update for an IndexerConfig identified by path parameter id, and it instructs the agent to read the matching GET or /schema endpoint first to discover expected fields. It does not explicitly address alternatives, but the usage context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_config_mediamanagement_by_idB
Idempotent

Update MediaManagementConfig.

PUT /api/v3/config/mediamanagement/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds no behavioral context beyond what the name and annotations convey: no side effects, replacement semantics, authorization needs, or error behavior. It is not contradictory, but it does not enrich the behavioral picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose first, then the endpoint, then arguments, then a practical prerequisite. Every sentence earns its place; there is no repetition of structured schema data or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter update endpoint, the description gives the method, path, argument roles, and a clear strategy for discovering body fields. It is complete enough for an agent to invoke correctly, especially since annotations cover idempotency and non-destructiveness and an output schema is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does label id as a path parameter and body as the request payload, and it directs the agent to the matching GET or /schema endpoint for the actual field list. This is helpful but still leaves the body fields unspecified, so it only partially compensates for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Update MediaManagementConfig.' The PUT path further clarifies it is the id-based update endpoint for media management configuration. It doesn't explicitly distinguish itself from the many sibling update_config_*_by_id tools, but the resource name and URL make the target unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it: when updating a MediaManagementConfig by id. It also gives a useful precondition: 'Read the matching GET or the /schema endpoint first to see the fields this resource expects.' However, it does not explicitly mention alternatives or conditions for choosing another tool, so the guidance is more implied than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_config_naming_by_idB
Idempotent

Update NamingConfig.

PUT /api/v3/config/naming/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the PUT method and the advice to read GET/schema, which hints at the body's flexibility. It doesn't disclose what happens on partial updates, validation errors, or whether the body is a full replacement, but the idempotentHint and non-destructive annotation reduce the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the action and endpoint. The Args section is terse and useful. It could be slightly more structured, but every line earns its place and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a config update tool with an opaque body, the description points to the right external sources (GET and /schema) to discover fields, which is a reasonable delegation. However, it doesn't mention the output schema or any response behavior, and the body parameter remains entirely opaque without following the external references. Given the tool's complexity and the 0% schema coverage, 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.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the schema only provides 'id' and 'body' with no property descriptions. The description explains that id is a path parameter and body is the request payload, but it doesn't describe the body's structure or fields beyond pointing to GET/schema. It adds minimal semantic value over the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Update') and resource ('NamingConfig'), and the HTTP method and path are provided. It distinguishes itself from the many sibling update_*_by_id tools by naming the specific config resource, though it doesn't explicitly contrast with get_config_naming_by_id or list_config_naming.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear directive: read the matching GET or /schema endpoint first to see expected fields. This is practical usage guidance for a PUT endpoint with an opaque body. It doesn't explicitly state when not to use it or name alternatives, but the instruction to consult GET/schema is strong context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_config_ui_by_idA
Idempotent

Update UiConfig.

PUT /api/v3/config/ui/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=false, idempotent=true, and destructive=false, so the description only needs to add context. It adds the HTTP method and the body prerequisite, but does not describe side effects, auth needs, or rate limits. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: action, endpoint, then Args. Every line adds information, with no redundant repetition of annotations or schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter config update with an opaque nested body, the description tells the agent how to discover expected fields and what role each parameter plays. It could clarify whether the PUT fully replaces or partially merges the config, but annotations and the output schema cover much of the remaining context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no parameter descriptions, but the Args block compensates by labeling id as a path parameter and body as the request payload, then directing callers to the matching GET or /schema endpoint for field details. This is practical mitigation, even though the body structure itself remains opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Update UiConfig' and gives the exact endpoint 'PUT /api/v3/config/ui/{id}', making the action and resource unambiguous. It distinguishes this from the get/list config 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The instruction to 'Read the matching GET or the /schema endpoint first' is a useful prerequisite, but the description does not explicitly state when to prefer this tool over alternatives or when not to use it. Usage context is mostly implied by the name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_customfilter_by_idC
Idempotent

Update CustomFilter.

PUT /api/v3/customfilter/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds that it's a PUT request (implying idempotency) and instructs to consult the schema, but doesn't mention side effects, permissions, or overwrite behavior. Given annotations cover the basic safety profile, the description adds minimal context but does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the action and endpoint. Every sentence earns its place, but it could be slightly more informative without being wordy. It is efficient and not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with an arbitrary object body, the description is incomplete. It relies on instructing the agent to fetch the schema, but doesn't describe expected behavior, error conditions, or return value (though an output schema exists). Given the complexity, the description is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no descriptions for parameters (0% coverage). The description labels id as a path parameter and body as the payload, and advises reading the schema for fields. However, it doesn't explain what id refers to or the body's structure beyond that. Since schema coverage is very low, the description fails to compensate adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update CustomFilter' which is a specific verb and resource, and includes the HTTP method and path. It distinguishes from siblings like create_customfilter and delete_customfilter_by_id, though it doesn't elaborate on the resource's nature. It is clear but minimal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like create_customfilter or delete_customfilter_by_id. The only guideline is to read the GET or schema endpoint first, which is about preparing the body, not about tool selection. It lacks exclusions or conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_customformat_bulkC
Idempotent

Update CustomFormat.

PUT /api/v3/customformat/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already provide idempotentHint=true and destructiveHint=false, but the description adds little behavioral context beyond saying it updates. It does not disclose whether the bulk operation is all-or-nothing, how partial failures are handled, or whether missing fields are overwritten.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the operation and endpoint. The 'Args' block is minimal and earns its place by pointing to the schema. Slightly more explicit wording like 'bulk update' would improve it, but there is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a bulk mutation with an open body object, the description tells the agent where to find field definitions, and an output schema exists to describe return data. Still, it omits important context about validation, error behavior, and how the bulk update interacts with existing custom formats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and body is an opaque additionalProperties object. The description adds the useful directive to read the matching GET or /schema endpoint to discover expected fields, which is the main semantic guidance available to the agent. It stops short of documenting any actual body structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the operation 'Update CustomFormat' and provides the endpoint 'PUT /api/v3/customformat/bulk', which identifies both the resource and that this is the bulk variant. However, it does not explicitly say 'bulk update', leaving some differentiation from update_customformat_by_id implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 bulk endpoint versus the sibling update_customformat_by_id, nor any preconditions such as existing records or required IDs. The instruction to read the GET/schema endpoint is useful but does not address tool selection or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_customformat_by_idA
Idempotent

Update CustomFormat.

PUT /api/v3/customformat/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the prerequisite of consulting GET/schema, but it does not disclose update semantics such as partial vs full replacement or what happens to omitted fields. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: a one-line purpose, the HTTP endpoint, and two parameter lines with a key prerequisite. Each sentence adds information and the critical discovery instruction is easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter update tool with an output schema and non-destructive/idempotent annotations, the description is largely complete: it identifies the id, the body, and how to discover the body schema. It could add an explicit note about single-resource versus bulk update, but nothing essential is missing for invoking it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by labeling id as a path parameter and body as a request payload, and it directs the agent to the matching GET or /schema endpoint to learn the expected fields. This is meaningful beyond the bare property names, though concrete body fields are intentionally left to the schema endpoint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Update CustomFormat') and exposes the endpoint PUT /api/v3/customformat/{id}, so an agent can tell it is a per-id update. However, it does not explicitly differentiate it from sibling update_customformat_bulk or other update variants; it relies on the tool name to carry that distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives one useful procedural instruction: read the matching GET or /schema endpoint before supplying a body. It does not state when to choose this tool over update_customformat_bulk or when not to use it, so selection vs alternatives is only implied by the 'by_id' name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_delayprofile_by_idA
Idempotent

Update DelayProfile.

PUT /api/v3/delayprofile/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds no extra behavioral context such as permission requirements, side effects, or whether the update is partial or full. The only addition is the pointer to read the schema for fields, which is more relevant to parameter semantics than behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the operation. It includes the HTTP method and a practical hint for the body parameter without unnecessary detail. It is concise but could add more specific guidance without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a complex body object and an output schema, but the description relies on the agent to fetch the schema for field expectations, which is a valid approach. It does not explain what a DelayProfile is or mention related operations like reordering. It is minimally complete for an agent willing to follow the schema-read instruction, but not self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains 'body' is the request payload and advises reading the GET or schema endpoint to see expected fields, which is helpful. However, it does not clarify the meaning of 'id' beyond calling it a path parameter, and provides no specific field details. The pointer partially compensates for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update DelayProfile.' with a specific verb and resource. It distinguishes from create and delete operations by name, and from the sibling update_delayprofile_reorder_by_id by the specific action. An agent can identify its purpose immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context that this is an update operation and instructs to read the GET or /schema endpoint first for the body's expected fields. However, it does not mention when to use this over the reorder variant or any exclusions. The schema-read guidance is useful for body preparation but not for choosing among alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_delayprofile_reorder_by_idC
Idempotent

Update DelayProfile.

PUT /api/v3/delayprofile/reorder/{id}

Args: id: Path parameter. after: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
afterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate a write operation (readOnlyHint=false) and idempotent (idempotentHint=true), but the description adds no behavioral context such as what reordering affects, whether 'after' is optional, or how the list order changes. It merely repeats the endpoint and parameter locations, adding no value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and not overly verbose, but it is under-specified. The opening line 'Update DelayProfile.' is redundant with the tool name, and the args list is terse. Structure is adequate but not well front-loaded with the key differentiating information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the operation's semantics are unclear. An agent cannot determine what 'after' means, whether reordering is relative to another profile, or how to achieve a specific order. The description is inadequate for a tool with two parameters and no param descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It only identifies 'id' as a path parameter and 'after' as a query parameter, but does not explain the meaning of 'after' (e.g., the ID of the profile after which this one should be placed, or what null means). This is minimal added value over the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description says 'Update DelayProfile' which is identical to the sibling tool update_delayprofile_by_id and gives no hint of the reorder semantics. The endpoint path includes '/reorder/' but the text does not explain that this tool reorders profiles; it is vague and fails to distinguish from the sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is provided. It does not say to use this tool for reordering delay profiles or mention update_delayprofile_by_id for editing profile fields. The agent is left to infer the purpose from the tool name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_downloadclient_bulkC
Idempotent

Update DownloadClient.

PUT /api/v3/downloadclient/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true, so the safety profile is known. The description adds that this is a PUT operation and instructs the agent to consult the GET/schema endpoint first, which provides some operational context but does not disclose side effects or what fields are affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the operation and endpoint. The Args block is minimal and the instruction to read GET/schema is useful, though it could be more direct. No filler words or redundant phrases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a complex nested-body schema and no parameter details, the description does not equip an agent to construct a valid request. It relies entirely on the GET/schema endpoint to discover fields, but does not clarify the bulk nature of the payload or provide examples. The output schema existence helps, but key behavioral and payload semantics are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only says 'body: Request payload' and points to GET/schema. This is a tautology plus an external reference; it does not explain what the body should contain, whether it is an array, or how the payload maps to a bulk update.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation ('Update DownloadClient') and includes the concrete endpoint path (PUT /api/v3/downloadclient/bulk), which is specific enough to identify the resource. However, it does not explicitly mention that this is a bulk update or differentiate it from update_downloadclient_by_id, so it is clear but not fully sibling-aware.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 bulk tool versus alternatives like update_downloadclient_by_id or delete_downloadclient_bulk. The only guidance is the prerequisite to read the matching GET or /schema endpoint, which is about parameter construction, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_downloadclient_by_idA
Idempotent

Update DownloadClient.

PUT /api/v3/downloadclient/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry idempotentHint=true, readOnlyHint=false, and destructiveHint=false, and the description does not contradict them. The added 'force_save' query parameter and the instruction to inspect GET/schema are useful context, but the description does not disclose side effects, auth requirements, or what force_save actually changes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five short lines with no filler: the operation, the exact endpoint, and the three arguments are front-loaded. Every element earns its place, and the body discovery instruction replaces what would otherwise require external documentation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an update endpoint with a free-form body and no schema descriptions, pointing the agent to GET/schema is the key missing piece and is present. The existence of an output schema partially covers return values, and annotations cover safety, though force_save semantics and alternative-tool routing are left out.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no descriptions (0% coverage), so the role labels ('Path parameter', 'Request payload', 'Query parameter') add some structure beyond the raw schema. It offers an actionable discovery path for body fields, but it leaves force_save's semantics unexplained and the id/body descriptions are minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the exact operation ('Update DownloadClient') and gives the full PUT endpoint with an {id} path segment, so there is no ambiguity about which resource and which instance is affected. The by_id suffix and URL distinguish it from sibling tools like update_downloadclient_bulk without extra prose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear operational guidance: read the matching GET or /schema endpoint before supplying a body, which is essential for this open-schema resource. It does not explicitly state when not to use it or how it differs from alternatives like update_downloadclient_bulk, 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.

update_episode_by_idA
Idempotent

Update Episode.

PUT /api/v3/episode/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide the safety profile (not read-only, not destructive, idempotent). The description adds the PUT method and the fact that the resource's expected fields are discoverable via GET/schema. It does not state whether the update is partial or full replacement, but it does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loads the endpoint, and keeps the Args section minimal. The only minor redundancy is 'Update Episode' alongside the endpoint line.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a PUT-by-id tool with an existing output schema and annotations covering mutability/idempotency, the description is sufficient: it gives the endpoint, path parameter, and a concrete way to discover the body schema. Missing sibling differentiation is a gap, but the call itself can be made correctly with this description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and an open body object, the description compensates by telling the agent to fetch the matching GET or /schema endpoint before constructing the payload. It also labels id as a path parameter. This is meaningful guidance for the two required parameters, though it does not enumerate concrete body fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb+resource pair ('Update Episode') and gives the exact endpoint PUT /api/v3/episode/{id}, so an agent can tell this updates one episode by path id. It does not explicitly distinguish itself from siblings like update_episode_monitor, but the by_id name and endpoint make the target resource unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is a useful precondition: read the matching GET or /schema endpoint first to learn expected body fields. However, it gives no explicit when-to-use versus alternatives or when-not-to-use, so selection among the many update_* siblings is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_episodefile_bulkB
Idempotent

Update EpisodeFile.

PUT /api/v3/episodefile/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it is not read-only (readOnlyHint=false), is idempotent (idempotentHint=true), and is not destructive (destructiveHint=false). The description adds the endpoint path and the recommendation to consult the schema, but doesn't describe side effects, required permissions, or response behavior. Given annotations cover the safety profile, this is acceptable 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: three lines with no fluff. It includes the endpoint, a parameter hint, and a pointer to schema discovery. Every sentence earns its place and the information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal but provides a key pointer to discover the expected body structure. However, it doesn't mention that this is a bulk operation affecting multiple episode files, nor does it explain potential partial failures or validation rules. Given there is an output schema (not shown), some return behavior is implicitly covered, but for a complex bulk update tool, more context would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% coverage of the 'body' parameter – it's just an object with additionalProperties true. The description tells the agent to 'Read the matching GET or the /schema endpoint first to see the fields this resource expects,' which provides a strategy to understand the parameter. This adds value beyond the schema but does not describe any fields itself, so it partially compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Update EpisodeFile' which clearly identifies the verb and resource. The endpoint path 'PUT /api/v3/episodefile/bulk' and the tool name both signal a bulk operation, distinguishing it from singular update tools like update_episodefile_by_id. However, it doesn't explicitly explain what 'bulk' entails or differentiate from update_episodefile_editor, so it's not fully precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 the alternatives (update_episodefile_by_id, update_episodefile_editor). The only advice is to read the GET or /schema endpoint first, which is about discovering fields, not about choosing this tool. No exclusions or conditions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_episodefile_by_idB
Idempotent

Update EpisodeFile.

PUT /api/v3/episodefile/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotentHint=true and destructiveHint=false, covering idempotency and non-destructive nature. The description adds the HTTP method (PUT) and the need to fetch schema, but does not elaborate on side effects, permission requirements, or behavior when the resource is missing. It adds some context beyond annotations but not substantial detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: a one-line purpose, an HTTP line, and two argument bullets. It wastes no words and is front-loaded with the core action. However, the argument section is terse, and the guidance to fetch schema is a hint rather than a full explanation, so it is efficient but slightly under-informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an open body (additionalProperties true) and an output schema, but the description does not clarify whether the PUT is a full or partial update, what fields are commonly expected, or any error cases. It does point to the schema endpoint as a fallback, which is helpful, but the overall context is incomplete for a complex resource update. An agent would need to make extra calls to use it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It identifies 'id' as a path parameter and 'body' as a request payload, but the only semantic guidance is to read the GET/schema endpoint—it does not describe any expected fields, structure, or constraints. This is minimal and forces the agent to rely on external lookups, which is inadequate for a 0% coverage scenario.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update EpisodeFile' and provides the REST endpoint (PUT /api/v3/episodefile/{id}), which makes the verb and resource specific. However, it does not differentiate from sibling tools like update_episodefile_bulk or update_episodefile_editor, so an agent must infer from the name that this targets a single resource by ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance is to read the matching GET or /schema endpoint before supplying the body. This implies the body shape is schema-driven but does not explicitly state when to use this tool versus bulk/editor variants, nor when not to use it. No alternatives or exclusions are mentioned, leaving usage context underspecified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_episodefile_editorC
Idempotent

Update EpisodeFile.

PUT /api/v3/episodefile/editor

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotentHint=true and destructiveHint=false, covering safety profile. The description adds the advice to consult GET or /schema first, which is a behavioral hint about how to obtain valid payload structure. However, it does not disclose whether updates are partial or full, or any side effects beyond what annotations imply. With annotations covering the main traits, a 3 is fair.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct, with the action stated first and a clear 'Args' section. It avoids extraneous wording and is easy to parse. It loses a point only because the minimal content limits its utility, not because of structural waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with an open body schema, the description is insufficient. It does not explain what fields are required, how the update behaves, or any constraints, instead redirecting the agent to external endpoints. Although an output schema exists (not shown), the description still lacks the operational context needed to confidently invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has only a 'body' object with additionalProperties=true, giving 0% coverage of actual fields. The description points to GET or /schema to discover fields, which is a workaround but does not define any parameter semantics. It fails to specify expected keys, value formats, or constraints, so the agent must perform extra lookups to use the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Update EpisodeFile' which is a generic action on the resource, but it does not differentiate this endpoint from siblings like update_episodefile_by_id or update_episodefile_bulk. The name 'editor' hints at a batch or editor mode, but the description offers no such detail, so an agent cannot tell which specific operation is intended.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance is 'Read the matching GET or the /schema endpoint first to see the fields this resource expects,' which tells the agent to look up the schema but does not explain when to use this tool versus the alternative update endpoints. There is no mention of use cases, prerequisites, or exclusions, leaving the agent to infer when this 'editor' is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_episode_monitorB
Idempotent

Update Episode.

PUT /api/v3/episode/monitor

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. include_images: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
include_imagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey mutation (readOnlyHint=false), idempotency, and non-destructiveness. The description adds one useful behavioral trait: the body schema is dynamic and must be discovered via GET or /schema. It does not describe what the monitor update actually changes, but it does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and well-structured: action, endpoint, then parameters. There is no filler, and the critical body-discovery guidance is placed right with the body parameter. It is slightly minimal, but conciseness itself is not a problem.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering mutation/idempotency, the description is borderline adequate. It tells the agent how to learn the request shape but not what this endpoint semantically does or when to select it over update_episode_by_id, which is a real gap given the large sibling set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains that 'body' is an opaque request payload and tells the agent to read GET/schema to discover expected fields, which is genuinely helpful given additionalProperties is true. 'include_images' only gets the label 'Query parameter' with no additional semantic value, so the compensation is only partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action and resource ('Update Episode') and pinpoints the exact endpoint PUT /api/v3/episode/monitor, so the target is identifiable. However, it never clarifies what 'monitor' means or differentiates this from sibling tools like update_episode_by_id, leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 rather than alternatives, no exclusions, and no mention of sibling update tools. The only instruction—read the matching GET or /schema endpoint—concerns constructing the body, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_importlist_bulkC
Idempotent

Update ImportList.

PUT /api/v3/importlist/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare idempotentHint=true, readOnlyHint=false, destructiveHint=false, so the safety profile is already known. The description adds the instruction to read the GET or /schema endpoint first, which hints at the need to fetch current state before updating. However, it doesn't disclose what happens on partial failure, whether the body is a list or single object, or any validation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the action and endpoint. The instruction to read the GET or /schema endpoint is useful and placed early. It doesn't waste words, though it could be more informative about the bulk payload shape.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a bulk update tool with a single opaque body parameter, the description is incomplete. It doesn't explain what 'bulk' means, what fields are expected, whether the body is an array, or how the response is structured. The pointer to the /schema endpoint helps, but the description itself leaves critical information undisclosed. The output schema exists but the input semantics are the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the schema only defines 'body' as an object with additionalProperties: true. The description says 'Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.' This tells the agent to discover the fields elsewhere, but doesn't explain the shape of the bulk payload (e.g., array of objects vs. object with list property). The description partially compensates by pointing to the schema endpoint, but leaves the agent without enough information to construct the body.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Update ImportList' and includes the HTTP method and path, which identifies the resource and action. However, it doesn't clarify what 'bulk' means in this context (updating multiple import lists at once?) or distinguish it from update_importlist_by_id. The verb 'Update' is clear but the resource scope is vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 update_importlist_by_id or other update tools. It mentions reading the GET or /schema endpoint first, which is a prerequisite hint, but doesn't explain the bulk semantics or when bulk update is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_importlist_by_idA
Idempotent

Update ImportList.

PUT /api/v3/importlist/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already clarify this is a mutating, idempotent, non-readonly operation. The description adds the HTTP method and points to the GET/schema endpoint for understanding body fields, which is useful. It does not disclose effect details such as whether force_save bypasses validation or what fields are overwritten.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-organized: a clear one-line purpose, the HTTP endpoint, and an Args list. It is efficient and front-loaded, with no filler, though the Args section is somewhat terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the opaque body object and 0% schema coverage, the description's pointer to the matching GET or /schema endpoint is helpful. However, force_save is left semantically unexplained, and the description does not cover what a successful update returns or how validation behaves. Annotations and the output schema reduce the burden, but gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It identifies id as a path parameter, body as the request payload, and force_save as a query parameter, which adds location info beyond the bare schema. However, it does not explain the meaning of force_save or describe body fields directly, only pointing to another endpoint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation with a specific verb and resource: 'Update ImportList.' The PUT URL with {id} and the required id path parameter confirm this updates a single existing import list by id, distinguishing it from create, delete, and bulk update siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied: use this tool to update a specific ImportList by id. However, it does not explicitly state when to prefer this over create_importlist, update_importlist_bulk, or delete_importlist_by_id. The instruction to read the matching GET or /schema endpoint provides some practical guidance for constructing the request.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_importlistexclusion_by_idC
Idempotent

Update ImportListExclusion.

PUT /api/v3/importlistexclusion/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotentHint=true alerting the agent to safe retries, and destructiveHint=false. The description doesn't contradict these, but it also doesn't add behavioral context beyond what annotations provide, such as whether partial updates are allowed. It correctly indicates the request payload should be fetched from GET/schema, which is useful value-add.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at around 30 wordsainer and front-loads the purpose with 'Update ImportListExclusion.' The only extraneous part is the REST endpoint line, which repeats the resource but may help identify the API convention. Information is presented efficiently without unnecessary prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (nested objects, output schema, required parameters) and low schema coverage, the description is incomplete. It doesn't list fields for the body, doesn't specify id format, and doesn't describe return values. For a mutation tool with two required parameters, relying solely on a GET request is insufficient for guided usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate for the lack of parameter details, but it provides none. 'id' is just a path parameter with no format or example, and 'body' is explained only as a request payload referencing GET/schema. Both parameters are required and undocumented, leaving the agent to infer correct usage from external endpoints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Update' and the resource 'ImportListExclusion', which clearly identifies what the tool does. However, it doesn't distinguish this from sibling tools like update_importlist_by_id or delete_importlistexclusion_by_id, though the name itself is fairly specific. The description is adequate but not detailed about the resource's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description instructs to read the matching GET or /schema endpoint first to see expected fields, which provides some usage guidance for constructing the request. However, it doesn't explicitly state when to use this tool versus alternatives like create_importlistexclusion or delete_importlistexclusion_by_id. The guidance is implied rather than explicit, covering 'how' but not 'when'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_indexer_bulkB
Idempotent

Update Indexer.

PUT /api/v3/indexer/bulk

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey idempotentHint=true and destructiveHint=false. The description adds no behavioral context beyond the HTTP method and the generic body argument; it does not disclose bulk semantics, partial failure behavior, field replacement/merge behavior, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: it front-loads the endpoint, lists the argument, and gives a one-line prerequisite. Every sentence contributes useful information without filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The presence of an output schema and annotations reduces the burden on the description. However, the body parameter is opaque and the description does not clarify bulk scope or when to use this tool over single-resource update alternatives, leaving a notable contextual gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only documents an opaque 'body' object with additionalProperties, so coverage is 0%. The description at least labels body as the request payload and instructs the agent to inspect the matching GET or /schema endpoint to discover expected fields, which partially compensates for the missing parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the operation as an update to the indexer resource and includes the exact PUT endpoint, so the basic action is evident. However, it does not explicitly explain that this is a bulk operation or distinguish it from the sibling update_indexer_by_id tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises reading the matching GET or /schema endpoint first, which is useful preparation guidance. But it gives no guidance about when to choose this bulk update tool over update_indexer_by_id or other alternatives, and it states no exclusions or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_indexer_by_idB
Idempotent

Update Indexer.

PUT /api/v3/indexer/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag idempotency, write-only behavior, and non-destructiveness. The description adds the PUT method and the explicit instruction to consult GET/schema first, which indicates the body must conform to the resource's shapeags; this goes beyond the annotations and helps an agent understand what to send. It does not explain force_save, but the core 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: it opens with the HTTP endpoint, then lists args in a concise 'Args' section. Every sentence serves a purpose, and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the endpoint and tells the agent how to discover body fields, which is a smart workaround for an open-ended schema. However, it omits any detail about force_save and does not clarify whether the body should be a full replacement or a partial update, leaving a couple of important uncertainties.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain parameters, but it only labels id as path, body as request payload, and force_save as query parameter. The one meaningful addition is the tip that body fields should come from GET/schema output, yet force_save remains completely unexplained, which is a significant gap for a parameter that may control update behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Update Indexer' and includes the endpoint PUT /api/v3/indexer/{id}, making the action and resource clear. It does not explicitly differentiate from update_indexer_bulk by noting it operates on a single id, but the {id} path parameter implies that scope, so it is still sufficiently clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a useful precondition – read the matching GET or /schema endpoint first to learn expected fields – but it does not state when to use this tool instead of alternatives like update_indexer_bulk. No exclusion or selection criteria are given, leaving the choice mostly to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_languageprofile_by_idB
Idempotent

Update LanguageProfile.

PUT /api/v3/languageprofile/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false, covering the safety profile. The description adds the HTTP method (PUT) and the instruction to inspect schema first, which gives a hint about request expectations. However, it does not disclose behavior such as partial updates, validation rules, or side effects beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core action. The endpoint is given, and each argument is explained in one line. No filler or redundancy, so every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the body is an arbitrary object and an output schema exists, the description's advice to read the matching GET or /schema endpoint is appropriate and sufficient to obtain needed field details. The idempotency annotation covers safety expectations. It is complete enough for an agent to proceed, though it relies on external schema endpoints for full parameter context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by labeling 'id' as a path parameter and 'body' as a request payload. It also directs the agent to the GET or /schema endpoint for field details, which is necessary given the opaque 'body' object. This adds some meaning beyond the raw schema, though it still leaves the actual body structure undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Update LanguageProfile.' with the HTTP PUT endpoint, making the verb ('Update') and resource ('LanguageProfile') explicit. While it does not explicitly differentiate from the many other update_* sibling tools, the resource name is specific enough to avoid confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It only advises reading the matching GET or /schema endpoint before calling, which is a prerequisite step, not a usage condition. No exclusions or alternative tool references are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_metadata_by_idC
Idempotent

Update Metadata.

PUT /api/v3/metadata/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotentHint=true and readOnlyHint=false, and the description does not contradict them. It adds the useful behavioral hint that the body fields should be discovered from the GET or /schema endpoint, but it does not explain side effects, force_save semantics, 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the endpoint, but the Args list largely duplicates the input schema. It is concise without being wasteful, yet it lacks substantive content that would earn each line's place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering idempotency and safety, the description does not need to explain return values. However, force_save semantics are missing, and the description does not clarify the update scope or when to use this endpoint versus related metadata tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining parameters. It only restates that id is a path parameter, body is a request payload, and force_save is a query parameter—none of which adds real semantic meaning. The pointer to GET/schema partially compensates for body, but force_save remains unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('Update Metadata') and gives the exact PUT endpoint, so an agent can tell this is the metadata update operation. However, it does not explicitly distinguish itself from sibling update_*_by_id tools or explain what metadata fields are affected.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to choose this tool over alternatives such as create_metadata, delete_metadata_by_id, or update_config_metadata_by_id. The advice to read the matching GET or /schema endpoint first is a prerequisite for constructing the body, not a usage-selection criterion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_notification_by_idA
Idempotent

Update Notification.

PUT /api/v3/notification/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes
force_saveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already signal mutation (readOnlyHint=false), idempotency, and non-destructiveness, so the description's job is lighter. The description adds the HTTP method and body/query parameter locations but no behavioral context such as validation failure behavior, permissions, or partial-update semantics. It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short, with the operation front-loaded and each parameter on its own line. Every sentence provides useful information, and the body-schema instruction is valuable despite its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter update tool with an output schema and safety annotations, the description covers the essential invocation details: endpoint, id, body preparation, and force_save location. It is complete enough to invoke correctly, though a sentence explaining force_save's intent would be stronger.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema documentation coverage is 0%, so the description must carry parameter meaning. It identifies id as a path parameter, body as the request payload, and force_save as a query parameter, and instructs the agent to inspect the GET/schema endpoint for body fields. The force_save parameter's exact effect is not explained, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the operation and resource: "Update Notification" and the PUT endpoint, making the tool's function clear. It does not explicitly contrast this tool with sibling update_* tools, though the resource name prevents confusion. This is clear but not differentiated beyond the resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides concrete guidance for using the tool: read the matching GET or /schema endpoint before constructing the body. It implies the standard update workflow but does not state when to choose this over alternatives like create_notification or list_notification_schema. No explicit exclusions or when-not conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_qualitydefinition_by_idA
Idempotent

Update QualityDefinition.

PUT /api/v3/qualitydefinition/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false, and the description adds the PUT method and path, which imply replace semantics. It does not disclose what happens to omitted fields, validation behavior, or side effects, so the additional behavioral context is minimal beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the action and endpoint appear first, followed by a short structured Args list. No sentence is wasted; the prerequisite hint about GET/schema is essential and clearly placed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter update endpoint with an output schema, the description covers the essential elements: the endpoint, the path parameter, and the dynamic body payload with a discovery mechanism. It could be more complete by stating whether the update is a full replacement or partial merge, but the PUT method and idempotent annotation cover the most important behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by identifying id as a path parameter and explains that body is a request payload whose structure must be discovered from the matching GET or /schema endpoint. This gives the agent a concrete strategy for constructing the body, though it does not enumerate the actual body fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Update QualityDefinition.') and provides the HTTP endpoint, making the core action clear. However, it does not differentiate this tool from the sibling update_qualitydefinition_update or explain what a QualityDefinition is, so it misses the explicit sibling distinction required for a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a useful prerequisite guideline – 'Read the matching GET or the /schema endpoint first to see the fields this resource expects' – which tells the agent how to prepare the payload. It does not, however, specify when to choose this tool over alternatives like update_qualitydefinition_update, so the when-to-use guidance remains implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_qualitydefinition_updateC
Idempotent

Update QualityDefinition.

PUT /api/v3/qualitydefinition/update

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is not read-only, is idempotent, and is not destructive. The description adds only the HTTP method and a 'read first' note; it does not disclose scope, side effects, or what updating a QualityDefinition entails beyond the schema fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core action. The endpoint and Args lines are repetitive with the schema, but they are brief and do not waste much space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and a deliberately open body parameter, the read-GET-or-/schema guidance is valuable. However, the description fails to clarify how this update differs from update_qualitydefinition_by_id or what kind of body payload is expected, leaving an agent under-informed for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no property descriptions and body is an open object with additionalProperties true. The description compensates somewhat by identifying body as the request payload and directing the agent to discover valid fields via GET or /schema, but it does not name any fields or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation ('Update QualityDefinition') and the resource. However, it does not distinguish this tool from the sibling update_qualitydefinition_by_id or explain what scope this variant covers, 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.

Usage Guidelines2/5

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 alternatives. The instruction to read the matching GET or /schema endpoint first is helpful for preparation, but it does not explain when this route should be chosen over update_qualitydefinition_by_id or other update tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_qualityprofile_by_idA
Idempotent

Update QualityProfile.

PUT /api/v3/qualityprofile/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false, so the base behavior is known. The description adds the critical instruction to read the schema before sending the body, which implies the operation expects a schema-conforming payload. It does not contradict annotations and provides a useful behavioral hint (that the body must match the resource schema), though it omits details like whether the operation is a full replace or merge.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: three lines, front-loaded with the purpose and method, and no filler. Every sentence earns its place, including the imperative to read the schema. It is minimal but information-dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no schema descriptions and the body is an open object, the description provides the essential guidance to read the schema first. It does not explain return values, but an output schema exists, so that is covered. For an update operation with idempotency known via annotations, the description is sufficiently complete for an agent to call it correctly, though it could mention the replace semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only names and types with zero descriptions (0% coverage). The description labels 'id' as a path parameter and 'body' as a request payload, and crucially advises reading the GET or /schema endpoint to discover the expected fields. This compensates for the schema's lack of detail and gives the agent a concrete method to understand the body structure. It does not list the fields itself but points to authoritative sources, which is practical and valuable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific verb 'Update' and the resource 'QualityProfile', and includes the exact HTTP method and path. While the tool name already conveys this, the description reinforces it unambiguously and distinguishes it from other update_* tools by naming the resource explicitly. It is not a tautology because it adds the endpoint details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs the agent to 'Read the matching GET or the /schema endpoint first', providing clear usage guidance for constructing the body payload. It does not mention when not to use this tool or alternative paths, but for a resource-specific update this is sufficient and context-aware.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_releaseprofile_by_idA
Idempotent

Update ReleaseProfile.

PUT /api/v3/releaseprofile/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by pointing the agent to GET/schema to discover expected fields. It does not clarify whether the PUT performs a full replacement or partial update, which would be valuable 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well structured: a one-line purpose, the HTTP endpoint, and a short Args section. Each sentence earns its place, and the most important usage advice is clearly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and annotations cover idempotence and destructiveness, the description provides enough context for the core call. The only meaningful gap is the lack of explicit partial-vs-full update semantics, which is especially relevant for a PUT endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only parameter names, with schema description coverage at 0%. The description compensates by identifying id as a path parameter and body as the request payload, and it directs the agent to GET/schema for the body's fields. Id semantics are thin, but the body guidance is strong given additionalProperties is true in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb and resource: 'Update ReleaseProfile.' The PUT endpoint reinforces the operation. It is unambiguous against siblings like create_releaseprofile or get_releaseprofile_by_id, though it does not explicitly differentiate itself from the other update_*_by_id tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The instruction to 'Read the matching GET or the /schema endpoint first' tells the agent a concrete prerequisite before constructing the body. It gives clear context for using this tool, though it does not spell out exclusions such as 'use create_releaseprofile when the resource does not exist yet.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_remotepathmapping_by_idC
Idempotent

Update RemotePathMapping.

PUT /api/v3/remotepathmapping/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, aligning with the 'Update' action. The description adds the HTTP method (PUT) and a pointer to GET/schema for field discovery, but does not disclose behaviors like full replacement vs. merge, error handling for nonexistent IDs, or response contents. With annotations covering the basic mutation profile, the description offers modest added context, so a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: three short lines with a clear verb+resource declaration, the endpoint, and an argument breakdown. Every sentence serves a purpose, though the endpoint line is partially redundant with the tool name. It is well-structured and front-loaded, earning a high score for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an update operation with a generic body object and no parameter schema coverage, the description is incomplete. It tells the user to read GET or /schema, which is helpful, but it omits critical context: whether the body expects a full representation (PUT semantics), how partial updates are handled, error behavior for missing IDs, and authentication requirements (if any). Given the availability of an output schema and the moderate complexity, the description does not sufficiently prepare an agent to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It identifies 'id' as a path parameter and 'body' as the payload, but these mirror the schema's field names without adding meaning. It does not explain that 'id' references the specific RemotePathMapping to update, nor does it describe expected body structure beyond telling the user to consult GET or /schema. This is minimal semantic value, falling short of the required compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Update RemotePathMapping' with a specific verb and resource, clearly distinguishing it from create (create_remotepathmapping) and delete (delete_remotepathmapping_by_id) siblings. It is concise and unambiguous, though it doesn't elaborate on the update's scope or effects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no explicit guidance on when to use this tool versus alternatives. It implies usage through the name and HTTP method, but does not state prerequisites (e.g., the mapping must exist) or when to prefer GET/delete. The only usage hint is 'Read the matching GET or the /schema endpoint first', which relates to constructing the body, not to tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_series_by_idB
Idempotent

Update Series.

PUT /api/v3/series/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. move_files: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes
move_filesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as non-read-only, non-destructive, and idempotent, so the safety profile is covered. The description adds the HTTP PUT method and advises reading GET/schema first to discover expected fields, which is useful context, but it does not disclose side effects or the meaning of move_files.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the operation and endpoint, and organized into an Args list. It avoids fluff, though the per-parameter annotations like 'Path parameter' and 'Query parameter' add little informational value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter update with an output schema and safety-related annotations, the description is minimally adequate: it identifies the resource, the method, and points to GET/schema for body shape. However, move_files remains opaque, and there is no context about when this tool is the right choice among many sibling update tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate, but it mostly restates what the schema already shows: id is a path parameter, body is a payload, move_files is a query parameter. It gives a useful discovery strategy for body fields but leaves move_files semantically unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation ('Update Series') and pinpoints the resource via the PUT endpoint. It is specific enough to be distinguished from unrelated siblings, though it does not explicitly differentiate itself from other update_*_by_id tools without relying on the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 update_series_editor or bulk update tools. The only practical guidance is 'Read the matching GET or the /schema endpoint first,' which addresses how to prepare the body but not when to choose this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_series_editorC
Idempotent

Update SeriesEditor.

PUT /api/v3/series/editor

Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the operation is mutating, idempotent, and not destructive. The description adds only the HTTP verb and the existence of a body payload; it does not disclose whether this is a bulk operation, whether unspecified fields are reset, or what side effects occur. It does not contradict the annotations, but it also does not enrich them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-ordered: action, endpoint, then argument guidance. Every line earns its place, and there is no filler. A brief clarification of what SeriesEditor represents would improve it but would not require additional length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a nested, undocumented body and many similar siblings, the description is thin. It tells the agent to discover fields from GET/schema, which aids invocation, but it does not explain the resource semantics, when to use this tool, or how it differs from related update endpoints. The output schema exists, so return-value detail is not needed, but selection and body construction guidance are incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no description for the body parameter, so coverage is 0%. The description compensates partially by identifying body as the request payload and directing the agent to GET or /schema for expected fields, but it does not describe the body structure, required fields, or accepted shapes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb and resource ('Update SeriesEditor') and gives the endpoint, so the core action is identifiable. However, 'SeriesEditor' is not defined or explained, and the description does not clarify that this is likely a bulk update operation for series rather than an editor entity. It does not distinguish itself from the many sibling update tools beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage guidance is to read the matching GET or /schema endpoint before sending a body. There is no statement about when to prefer this tool over alternatives like update_series_by_id or delete_series_editor, and no exclusions or conditional logic are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_tag_by_idB
Idempotent

Update Tag.

PUT /api/v3/tag/{id}

Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose readOnly=false, destructiveHint=false, and idempotentHint=true. The description adds a behavioral clue that the body must match the resource schema (by telling the agent to read GET or /schema first), which aligns with openWorldHint=false. However, it does not mention idempotency or any side effects. The description adds some value beyond annotations but does not carry the full behavioral burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two lines for the action and a short argument list. It is front-loaded with the purpose and endpoint. Every sentence earns its place, with no redundancy or filler. This is a model of efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema and annotations cover idempotency and safety, the description is adequate for an agent to call it correctly. The key missing piece is the body structure, but the description explicitly directs the agent to read the GET or /schema endpoint, which is a practical workaround. It does not explicitly state that the body must be a full representation (openWorldHint=false), but the GET-first hint implies this. Overall, it is complete enough for a simple CRUD update.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It identifies id as a path parameter and body as a request payload, and explains how to obtain the expected fields ('Read the matching GET or the /schema endpoint first'). This gives body more meaning than the bare schema, which only says 'additionalProperties: true'. However, id receives no further detail (e.g., type, format), and body is still an opaque object without field specifics. The compensation is partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource: 'Update Tag.' and provides the endpoint. It is distinct from sibling tools like create_tag and delete_tag_by_id, but does not elaborate on what tag updating entails or how it differs from other update_* tools with similar names. The purpose is clear but relies on the tool name for differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool vs alternatives like create_tag or delete_tag_by_id. The only usage hint, 'Read the matching GET or the /schema endpoint first,' is about constructing the request body, not about tool selection. No conditions or exclusions are given.

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.

  1. 234 tool updatesv1.0.0
    • First observedcreate_autotagging
    • First observedcreate_command
    • First observedcreate_customfilter
    • First observedcreate_customformat
    • First observedcreate_delayprofile
    • First observedcreate_downloadclient
    • First observedcreate_downloadclient_action_by_name
    • First observedcreate_downloadclient_test
    • First observedcreate_downloadclient_testall
    • First observedcreate_history_failed_by_id
    • First observedcreate_importlist
    • First observedcreate_importlist_action_by_name
    • First observedcreate_importlist_test
    • First observedcreate_importlist_testall
    • First observedcreate_importlistexclusion
    • First observedcreate_indexer
    • First observedcreate_indexer_action_by_name
    • First observedcreate_indexer_test
    • First observedcreate_indexer_testall
    • First observedcreate_languageprofile
    • First observedcreate_login
    • First observedcreate_manualimport
    • First observedcreate_metadata
    • First observedcreate_metadata_action_by_name
    • First observedcreate_metadata_test
    • First observedcreate_metadata_testall
    • First observedcreate_notification
    • First observedcreate_notification_action_by_name
    • First observedcreate_notification_test
    • First observedcreate_notification_testall
    • First observedcreate_qualityprofile
    • First observedcreate_queue_grab_bulk
    • First observedcreate_queue_grab_by_id
    • First observedcreate_release
    • First observedcreate_release_push
    • First observedcreate_releaseprofile
    • First observedcreate_remotepathmapping
    • First observedcreate_rootfolder
    • First observedcreate_seasonpass
    • First observedcreate_series
    • First observedcreate_series_import
    • First observedcreate_system_backup_restore_by_id
    • First observedcreate_system_backup_restore_upload
    • First observedcreate_system_restart
    • First observedcreate_system_shutdown
    • First observedcreate_tag
    • First observeddelete_autotagging_by_id
    • First observeddelete_blocklist_bulk
    • First observeddelete_blocklist_by_id
    • First observeddelete_command_by_id
    • First observeddelete_customfilter_by_id
    • First observeddelete_customformat_bulk
    • First observeddelete_customformat_by_id
    • First observeddelete_delayprofile_by_id
    • First observeddelete_downloadclient_bulk
    • First observeddelete_downloadclient_by_id
    • First observeddelete_episodefile_bulk
    • First observeddelete_episodefile_by_id
    • First observeddelete_importlist_bulk
    • First observeddelete_importlist_by_id
    • First observeddelete_importlistexclusion_bulk
    • First observeddelete_importlistexclusion_by_id
    • First observeddelete_indexer_bulk
    • First observeddelete_indexer_by_id
    • First observeddelete_languageprofile_by_id
    • First observeddelete_metadata_by_id
    • First observeddelete_notification_by_id
    • First observeddelete_qualityprofile_by_id
    • First observeddelete_queue_bulk
    • First observeddelete_queue_by_id
    • First observeddelete_releaseprofile_by_id
    • First observeddelete_remotepathmapping_by_id
    • First observeddelete_rootfolder_by_id
    • First observeddelete_series_by_id
    • First observeddelete_series_editor
    • First observeddelete_system_backup_by_id
    • First observeddelete_tag_by_id
    • First observedget_autotagging_by_id
    • First observedget_by_path
    • First observedget_calendar_by_id
    • First observedget_command_by_id
    • First observedget_config_downloadclient_by_id
    • First observedget_config_host_by_id
    • First observedget_config_importlist_by_id
    • First observedget_config_indexer_by_id
    • First observedget_config_mediamanagement_by_id
    • First observedget_config_naming_by_id
    • First observedget_config_ui_by_id
    • First observedget_content_by_path
    • First observedget_customfilter_by_id
    • First observedget_customformat_by_id
    • First observedget_delayprofile_by_id
    • First observedget_downloadclient_by_id
    • First observedget_episode_by_id
    • First observedget_episodefile_by_id
    • First observedget_importlist_by_id
    • First observedget_importlistexclusion_by_id
    • First observedget_indexer_by_id
    • First observedget_language_by_id
    • First observedget_languageprofile_by_id
    • First observedget_localization_by_id
    • First observedget_log_file_by_filename
    • First observedget_log_file_update_by_filename
    • First observedget_mediacover_by_series_id_by_filename
    • First observedget_metadata_by_id
    • First observedget_notification_by_id
    • First observedget_qualitydefinition_by_id
    • First observedget_qualityprofile_by_id
    • First observedget_releaseprofile_by_id
    • First observedget_remotepathmapping_by_id
    • First observedget_rootfolder_by_id
    • First observedget_series_by_id
    • First observedget_series_by_id_folder
    • First observedget_system_task_by_id
    • First observedget_tag_by_id
    • First observedget_tag_detail_by_id
    • First observedget_wanted_cutoff_by_id
    • First observedget_wanted_missing_by_id
    • First observedlist_api
    • First observedlist_autotagging
    • First observedlist_autotagging_schema
    • First observedlist_blocklist
    • First observedlist_calendar
    • First observedlist_command
    • First observedlist_config_downloadclient
    • First observedlist_config_host
    • First observedlist_config_importlist
    • First observedlist_config_indexer
    • First observedlist_config_mediamanagement
    • First observedlist_config_naming
    • First observedlist_config_naming_examples
    • First observedlist_config_ui
    • First observedlist_customfilter
    • First observedlist_customformat
    • First observedlist_customformat_schema
    • First observedlist_delayprofile
    • First observedlist_diskspace
    • First observedlist_downloadclient
    • First observedlist_downloadclient_schema
    • First observedlist_episode
    • First observedlist_episodefile
    • First observedlist_feed_v3_calendar_sonarr_ics
    • First observedlist_filesystem
    • First observedlist_filesystem_mediafiles
    • First observedlist_filesystem_type
    • First observedlist_health
    • First observedlist_history
    • First observedlist_history_series
    • First observedlist_history_since
    • First observedlist_importlist
    • First observedlist_importlist_schema
    • First observedlist_importlistexclusion
    • First observedlist_importlistexclusion_paged
    • First observedlist_indexer
    • First observedlist_indexer_schema
    • First observedlist_indexerflag
    • First observedlist_language
    • First observedlist_languageprofile
    • First observedlist_languageprofile_schema
    • First observedlist_localization
    • First observedlist_localization_language
    • First observedlist_log
    • First observedlist_log_file
    • First observedlist_log_file_update
    • First observedlist_login
    • First observedlist_logout
    • First observedlist_manualimport
    • First observedlist_metadata
    • First observedlist_metadata_schema
    • First observedlist_notification
    • First observedlist_notification_schema
    • First observedlist_parse
    • First observedlist_ping
    • First observedlist_qualitydefinition
    • First observedlist_qualitydefinition_limits
    • First observedlist_qualityprofile
    • First observedlist_qualityprofile_schema
    • First observedlist_queue
    • First observedlist_queue_details
    • First observedlist_queue_status
    • First observedlist_release
    • First observedlist_releaseprofile
    • First observedlist_remotepathmapping
    • First observedlist_rename
    • First observedlist_root
    • First observedlist_rootfolder
    • First observedlist_series
    • First observedlist_series_lookup
    • First observedlist_system_backup
    • First observedlist_system_routes
    • First observedlist_system_routes_duplicate
    • First observedlist_system_status
    • First observedlist_system_task
    • First observedlist_tag
    • First observedlist_tag_detail
    • First observedlist_update
    • First observedlist_wanted_cutoff
    • First observedlist_wanted_missing
    • First observedupdate_autotagging_by_id
    • First observedupdate_config_downloadclient_by_id
    • First observedupdate_config_host_by_id
    • First observedupdate_config_importlist_by_id
    • First observedupdate_config_indexer_by_id
    • First observedupdate_config_mediamanagement_by_id
    • First observedupdate_config_naming_by_id
    • First observedupdate_config_ui_by_id
    • First observedupdate_customfilter_by_id
    • First observedupdate_customformat_bulk
    • First observedupdate_customformat_by_id
    • First observedupdate_delayprofile_by_id
    • First observedupdate_delayprofile_reorder_by_id
    • First observedupdate_downloadclient_bulk
    • First observedupdate_downloadclient_by_id
    • First observedupdate_episode_by_id
    • First observedupdate_episode_monitor
    • First observedupdate_episodefile_bulk
    • First observedupdate_episodefile_by_id
    • First observedupdate_episodefile_editor
    • First observedupdate_importlist_bulk
    • First observedupdate_importlist_by_id
    • First observedupdate_importlistexclusion_by_id
    • First observedupdate_indexer_bulk
    • First observedupdate_indexer_by_id
    • First observedupdate_languageprofile_by_id
    • First observedupdate_metadata_by_id
    • First observedupdate_notification_by_id
    • First observedupdate_qualitydefinition_by_id
    • First observedupdate_qualitydefinition_update
    • First observedupdate_qualityprofile_by_id
    • First observedupdate_releaseprofile_by_id
    • First observedupdate_remotepathmapping_by_id
    • First observedupdate_series_by_id
    • First observedupdate_series_editor
    • First observedupdate_tag_by_id

TDQS

C2.5/5.0

Scored across 234 tools

Disambiguation3/5

Tools are largely grouped by resource (e.g., list_series, get_series_by_id, update_series_by_id) with clear distinctions. However, there are least ten tools that are effectively static resource fetchers or redundant, such as list_root, get_by_path, and list_system_routes_duplicate, which overlap with generic static resource serving. Additionally, update_episodefile_bulk and update_episodefile_editor have similar purposes (bulk updating episode files) and could be confused, requiring careful reading of descriptions.

Naming Consistency3/5

The naming follows a consistent verb_noun_pattern (e.g., list_series, create_series, delete_series_by_id, update_series_by_id) with occasional suffix variations like _bulk, _editor, _testall, and _schema. However, the naming is inconsistent in the static resource tools—get_by_path, get_content_by_path, list_root, list_login, list_logout—which don't follow the same resource-action pattern as the API tools. Also, there are odd variations like list_feed_v3_calendar_sonarr_ics, list_wanted_cutoff, and list_wanted_missing that break the pattern, but overall the API tools are consistent.

Tool Count1/5

With 234 tools, the server is massively over-tooled for the intended purpose of a Sonarr (TV show management) MCP. The count is extreme (over 50 tools), and many tools are simple CRUD operations for every resource type, leading to a bloated interface. Typical MCP servers should have 3-15 tools for focused tasks, and 234 tools is far beyond what an agent can effectively navigate.

Completeness4/5

The tool surface is extremely comprehensive—it covers full CRUD for most resources (series, episodes, episode files, quality profiles, etc.) plus many auxiliary operations like system management, backups, queue management, and manual imports. There are minor gaps like missing explicit get_episode_by_id (but there is list_episode with filters) or missing delete_episode (episodes are managed via series updates), but these are not critical dead ends. The completeness is high for the Sonarr domain, though the sheer volume means some operations are redundant.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables 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
    -
  • A
    license
    B
    quality
    A
    maintenance
    Exposes the Sonarr v3 REST API as MCP tools, enabling LLMs to read and manage a Sonarr instance including series, episodes, downloads, history, and more. Supports both read and write operations, with destructive tools flagged.
    15
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Connects AI agents to Sonarr, exposing 136 tools for managing a TV library — adding series, chasing missing episodes, fixing the download queue, tuning quality profiles, and diagnosing health issues.
    136
    84 npm
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables running Overseerr or Jellyseerr from Claude.ai and Claude Code, with all 170 API operations exposed as tools for managing requests, settings, users, issues, and media services.
    170
    MIT