Skip to main content
Glama
rollecode

seerr-mcp

by rollecode

Seerr MCP server

Version Python Overseerr Coverage

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

Jellyseerr is a fork of Overseerr and keeps the same API, so this works against either. Point SEERR_URL at whichever you run.

Why not the other options

Measured against overseerr-api.yml, which has 134 paths and 170 operations:

Server

Overseerr tools

Coverage

davidgibbons/mcp-arr (jellyseerr)

9

5 %

cyanheads/seerr-mcp-server

search, availability, request

partial

aserper/jellyseerr-mcp, ptbsare/overseerr-mcp-server

request-centric subsets

partial

This one

170

100 %

Every existing server treats Seerr as a request box: search, request, approve. Nothing else exposes the settings tree, user quotas and permissions, issues, the Plex and Sonarr/Radarr service configuration, discovery sliders or the job scheduler.

Related MCP server: Overseerr MCP Server

How it stays complete

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

curl -o overseerr-api.yml https://raw.githubusercontent.com/sct/overseerr/develop/overseerr-api.yml
python scripts/convert_spec.py overseerr-api.yml openapi.json
python scripts/generate_tools.py openapi.json src/seerr_mcp/tools.py

A test compares every generated call against every operation in the spec, in both directions. An endpoint Overseerr 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_request, list_issue

get_*_by_id

Read one record

get_movie_by_movie_id

create_*

POST

create_request, create_auth_local

update_*

PUT

update_settings_main

delete_*

DELETE

delete_request_by_request_id

170 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

Every tag in the spec: public, auth, users, search, request, movies, tv, person, media, collection, service, settings, issue, other. That includes the whole settings tree (Plex, Radarr, Sonarr, Jellyfin, notifications, network, logs, jobs, cache), user permissions and quotas, watchlists, blacklists, discovery sliders and the issue tracker.

Setup

git clone https://github.com/rollecode/seerr-mcp.git
cd seerr-mcp
uv venv && uv pip install -e .
export SEERR_URL=http://127.0.0.1:5055
export SEERR_API_KEY=...   # Settings, General, API Key

Claude Code

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

Writing records

Settings endpoints replace the whole object, so read the matching list_* first, change the fields you want and send it all back as body.

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

seerr-mcp

8550

The server. No login of its own, never exposed

nginx

8551

Front door, behind a Cloudflare Tunnel

auth-server.js

8552

OAuth 2.1 sign-in, or a fixed bearer token

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

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

sudo systemctl enable --now seerr-mcp seerr-mcp-auth

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

Environment the server itself reads: SEERR_URL, SEERR_API_KEY. The sign-in page carries the Overseerr or Jellyseerr 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://seerr-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

170 tools
create_auth_localA
Idempotent

Sign in using a local account.

POST /api/v1/auth/local

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

A4.2/5.0
Behavior4/5

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

Annotations already indicate operation type and idempotency. The description adds a meaningful behavioral directive: the body is opaque and the agent must read the matching GET or /schema endpoint before invoking. It also discloses the exact HTTP endpoint. No contradictions 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 definition is brief, front-loads the purpose, and each line serves a purpose: the HTTP path, the parameter, and the fetch-first instruction. No fluff and easily scannable.

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 tool whose only parameter is an opaque body, the description tells the agent what the tool does and how to learn the required fields. The output schema exists, covering response semantics. It could add explicit alternatives or typical auth fields, but it is sufficient for a simple, schema-driven auth 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 single parameter 'body' is completely undocumented in the schema (0% coverage). The description compensates by labeling it as the request payload and instructing the agent to fetch the expected fields from the GET or /schema endpoint. This gives the agent a concrete discovery path, 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.

Purpose5/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: 'Sign in using a local account.' This clearly distinguishes it from sibling auth tools like create_auth_plex and create_auth_reset_password by scoping it to local accounts. The HTTP path reinforces the specific operation.

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 context that this tool is for local-account sign-in, which implies when to use it, but it does not explicitly name alternatives or state 'do not use for Plex.' An agent must infer the boundary from the name and sibling list, so guidance is only 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_auth_logoutA
Idempotent

Sign out and clear session cookie.

POST /api/v1/auth/logout

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 indicate non-read-only, non-destructive, and idempotent behavior. The description adds the specific side effect of clearing the session cookie, which provides additional context beyond the annotations. However, it does not discuss prerequisites like requiring an active session or potential consequences, so it 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.

Conciseness5/5

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

The description is two short sentences with no filler. It front-loads the primary action and includes the HTTP endpoint, making it extremely efficient and 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 simple no-parameter logout operation, the description is largely complete. It states the action and the side effect, and the output schema exists to document the response. Minor missing details like authentication requirements are implied and not critical for a logout 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 the schema coverage is 100% (vacuously). The description adds no parameter-specific details because none exist, and the baseline for zero-parameter tools is 4, as the schema already fully documents the absence of inputs.

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 ('Sign out') and the specific resource ('session cookie'), with a distinct verb and resource that distinguishes it from sibling auth tools like create_auth_local and create_auth_plex. It is unambiguous and self-explanatory.

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 this tool (when the user wants to log out) through its name and action, but it does not explicitly mention alternatives or conditions for choosing this over other auth-related tools. No exclusions are stated, but the purpose is obvious.

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

create_auth_plexA
Idempotent

Sign in using a Plex token.

POST /api/v1/auth/plex

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

A4/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, covering the safety profile. The description adds that auth is performed via a Plex token, which is a relevant authentication detail, but it does not describe side effects such as session creation or token 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.

Conciseness5/5

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

The description is tightly structured: a one-line purpose, the HTTP endpoint, then a single parameter note. Every sentence earns its place, and the most important usage 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 single opaque body parameter with an output schema and clear annotations, the description is adequately complete. It tells the agent what the operation does and how to discover the required body fields, though it stops short of explaining response semantics or failure 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?

Schema coverage is 0% and the body is an opaque additionalProperties object. The description compensates by labeling body as a 'Request payload' and explicitly directing the agent to consult the matching GET or /schema endpoint for field details, which is unusually helpful for an otherwise undocumented body.

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 a clear, specific action: 'Sign in using a Plex token.' This distinguishes it from sibling auth operations like create_auth_local and create_auth_logout, and the verb/resource combination is immediately actionable.

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 operational instruction: 'Read the matching GET or the /schema endpoint first to see the fields this resource expects.' However, it does not explicitly state when to choose this tool over alternatives or mention any exclusions or prerequisites beyond reading the schema.

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

create_auth_reset_passwordB
Idempotent

Send a reset password email.

POST /api/v1/auth/reset-password

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
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. The description adds the fact that it sends an email, which is implicit in the name. It does not disclose additional behavioral traits like whether the email contains a link, whether it overwrites existing reset tokens, or any rate limits. It is consistent with annotations but adds minimal extra context.

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, starting with a one-sentence purpose, then the HTTP method and path, then a brief argument note. It is efficiently structured and free of filler. It could omit the 'Args:' label for even tighter prose, but overall it is 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 has one parameter and an output schema, so the main missing piece is the payload structure, which the description points to. However, it does not clarify when to use this versus create_auth_reset_password_by_guid, nor does it mention whether any prerequisite (e.g., an existing user account) is needed. For a simple action, the gaps are moderate.

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 a single 'body' parameter with additionalProperties true and zero description coverage. The description compensates by instructing the agent to 'Read the matching GET or the /schema endpoint first to see the fields this resource expects.' This is a useful pointer, though it does not directly describe any fields. Given the opaque schema, this guidance provides meaningful direction.

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: 'Send a reset password email.' This is specific and unambiguous. However, it does not explicitly differentiate from the sibling create_auth_reset_password_by_guid, leaving the agent to infer the distinction from the name alone.

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_auth_reset_password_by_guid. No prerequisites, conditions, or exclusions are provided. The description simply states the action without contextual routing.

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

create_auth_reset_password_by_guidA
Idempotent

Reset the password for a user.

POST /api/v1/auth/reset-password/{guid}

Args: guid: 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
guidYes

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 signal readOnly=false, idempotent=true, and destructive=false. The description adds the HTTP method/endpoint and the instruction to inspect the resource schema, which is useful, but it does not disclose side effects, authorization requirements, or response behavior beyond what annotations and the output schema cover.

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: a one-sentence purpose, the endpoint, then a minimal Args list. There is no filler, and the guidance about reading the schema 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 two-parameter mutation with an output schema and annotations covering idempotency and destructiveness, the description is largely complete. The main missing piece is clarification of how this tool relates to create_auth_reset_password, but the body-discovery instruction covers the opaque payload adequately.

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 guid as a path parameter and body as a request payload, and by directing the caller to the matching GET or /schema endpoint for the expected fields. It does not enumerate the body fields, but it provides a concrete discovery mechanism for an otherwise opaque additionalProperties object.

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 opening sentence 'Reset the password for a user' uses a specific verb and resource, and the endpoint path clarifies the target. However, it does not distinguish this tool from the sibling create_auth_reset_password, 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 Guidelines3/5

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

The description gives actionable context: the guid is a path parameter and the body fields should be discovered by reading the matching GET or /schema endpoint. It does not, however, state when to prefer this tool over create_auth_reset_password or when not to use it, leaving selection between siblings to inference.

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

create_issueC
Idempotent

Create new issue.

POST /api/v1/issue

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 cover idempotency (true) and destructive (false), but the description adds no behavioral context. It doesn't mention side effects, auth requirements, or response behavior. The pointer to GET /schema is about parameters, not behavior. No contradiction, but 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?

Efficient and front-loaded: starts with 'Create new issue' followed by the API endpoint and a concise parameter hint. No fluff, though it could afford a bit more detail without becoming 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 creation tool with a generic body and an output schema present, the description fails to mention the return value or any prerequisites. Relying on the agent to fetch the schema independently is a significant gap, making the tool incomplete for safe and correct use.

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 a single body parameter and 0% schema coverage, the description correctly identifies it as a request payload and directs to GET or /schema for field details. This gives agents a workaround but doesn't provide concrete field names or types, leaving the actual semantics to be discovered elsewhere.

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 clear verb+resource ('Create new issue') and is easily distinguished from other write operations by its name. While it doesn't explicitly differentiate from sibling create_issue_* variants, the purpose is unambiguous for an agent.

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 (e.g., create_issue_by_issue_id_by_status or create_issue_by_issue_id_comment). The only instruction is to read the GET or /schema endpoint for body structure, which is not about selection.

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

create_issue_by_issue_id_by_statusA
Idempotent

Update an issue's status.

POST /api/v1/issue/{issueId}/{status}

Args: issue_id: Issue ID status: New status

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYes
issue_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 indicate a non-read-only mutation with idempotentHint=true and destructiveHint=false. The description aligns with these and adds the specific effect: changing an issue's status. It does not disclose side effects, allowed status transitions, or auth requirements, but the annotation coverage lowers 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 short and front-loaded with the core action. The endpoint and Args section add useful context without unnecessary prose. Slightly redundant with the schema, but not padded.

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 mutation with an output schema and informative annotations, the description is nearly complete. The main gap is the lack of accepted status values, but the definition is adequate for 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%, so the description must compensate. It provides basic meaning for both parameters: issue_id identifies the issue and status is the new status. This is minimal but sufficient for simple use; it does not specify valid status values or formats.

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 and resource: 'Update an issue's status.' This clearly distinguishes it from sibling tools like create_issue, delete_issue_by_issue_id, and create_issue_by_issue_id_comment. The scope is unambiguous.

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

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 the tool: when updating an issue's status. However, it does not explicitly mention alternatives, exclusions, or prerequisites beyond the immediate action. It gives enough context for straightforward use but no richer routing guidance.

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

create_issue_by_issue_id_commentB
Idempotent

Create a comment.

POST /api/v1/issue/{issueId}/comment

Args: issue_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
bodyYes
issue_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 indicate readOnlyHint=false and idempotentHint=true, so the write nature is covered. The description adds the HTTP path and tells the agent to consult the GET or /schema endpoint before sending the body, which is useful behavioral context. It does not disclose auth requirements, response behavior, or rate limits, but 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 compact and front-loaded: a one-sentence purpose, the endpoint, and a two-line argument list. There is no filler, though it could have been slightly more informative without losing structure.

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 create tool with an open body and an output schema, the description provides the minimal path and a schema-discovery instruction. It lacks context on when to use this versus update/delete comment tools and does not mention authentication or side effects beyond creation, but the output schema covers return values. Overall adequate but not comprehensive.

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 issue_id as a path parameter and body as the request payload, and it explicitly directs the agent to the matching GET or /schema endpoint to discover expected body fields. Since body is additionalProperties:true, that pointer is essential. It does not enumerate concrete body fields, but for an open body this is reasonable 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 a specific action ('Create a comment') and includes the POST endpoint, making it clear this tool adds a comment to an issue. It does not explicitly contrast with siblings like update_issue_comment_by_comment_id or delete_issue_comment_by_comment_id, but the verb and resource are 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 on when to use this tool versus alternatives. The instruction to read the matching GET or /schema endpoint is about constructing the body, not about selecting this tool. An 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.

create_media_by_media_id_by_statusA
Idempotent

Update media status.

POST /api/v1/media/{mediaId}/{status}

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

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
statusYes
media_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 convey that this is a non-read-only, idempotent, non-destructive operation. The description adds the HTTP method/path and tells the agent to consult GET or /schema before sending a body, but it does not describe status transition semantics, side effects, or permission needs.

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

Conciseness5/5

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

The description is compact and front-loaded: clear purpose sentence, endpoint, then parameter list. No filler or redundant 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?

Output schema and annotations cover return values and safety behavior, and the body-discovery instruction is helpful. Still, an agent must look elsewhere to learn valid status values, and there is no mention of how this relates to sibling status-update tools. Adequate but with clear gaps.

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 labels all three parameters and usefully instructs the agent to read the matching GET or /schema endpoint for the body payload. However, 'media_id: Media ID' and 'status: New status' add little over the property names, and valid status values are not provided.

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 opening sentence 'Update media status' names a specific verb and resource, and the embedded endpoint clarifies the exact target. It is clearly distinct from sibling status tools that operate on issues or requests.

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 by 'Update media status' and the media_id/status parameters, but there is no explicit guidance on when to choose this tool over alternatives. The body-discovery note is operational rather than a selection rule, and no sibling status-update tool is mentioned.

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

create_requestC
Idempotent

Create new request.

POST /api/v1/request

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 description adds little behavioral context beyond the annotations and the obvious POST semantics. It does not mention auth requirements, side effects, duplicate-request behavior, or what a successful creation returns; the idempotentHint is already supplied by annotations. 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.

Conciseness4/5

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

The description is short and front-loaded, stating the action and endpoint before the payload guidance. It contains no filler or redundant explanation. The 'Args' block repeats some schema information, but the overall size 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 create operation with an opaque body object, the description is not fully self-contained; it relies on the agent to call /schema or a matching GET endpoint to understand the payload. It also omits usage context and side-effect information, though the output schema covers return value shape. The explicit instruction to read /schema is a partial mitigation.

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 coverage, the description must carry the burden for parameter meaning. It identifies body as the request payload and instructs the agent to consult the matching GET or /schema endpoint for expected fields, which is useful process guidance. However, it does not describe the actual structure or constraints of the body object, so it only 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 uses a specific verb and resource ('Create new request') and gives the exact HTTP endpoint POST /api/v1/request. It clearly indicates this creates a top-level request resource rather than updating an existing one, though it does not explicitly contrast with create_request_by_request_id_by_status. The core action and resource are 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 siblings like create_request_by_request_id_by_status, update_request_by_request_id, or the relevant GET/list tools. The only hint is 'Read the matching GET or /schema endpoint first,' which is a prerequisite rather than usage context or an exclusion. Agents are left to infer the right call from naming conventions.

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

create_request_by_request_id_by_statusB
Idempotent

Update a request's status.

POST /api/v1/request/{requestId}/{status}

Args: request_id: Request ID status: New status

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYes
request_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 adds no behavioral context beyond what the annotations already convey: readOnlyHint=false indicates mutation, destructiveHint=false indicates it is not destructive, and idempotentHint=true is not echoed or explained. It does not disclose consequences, required permissions, valid status values, 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.

Conciseness4/5

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

The description is compact and front-loads the core action before the endpoint and arguments. The Args list is somewhat redundant with the input schema, but the redundancy is minimal and improves clarity rather than bloating the 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 simple two-parameter mutation with an output schema, the endpoint and parameter roles are present and sufficient for basic invocation. However, it omits valid status options, usage conditions, and any guidance on how this relates to sibling status-update or request-update tools, leaving some practical gaps.

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

Parameters4/5

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

Schema coverage is 0%, so the description carries the full burden for parameter meaning. The Args section compensates by labeling request_id as 'Request ID' and status as 'New status', adding semantic value the schema's generic titles do not provide. It stops short of enumerating possible status values, but the two required parameters are adequately explained.

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, 'Update a request's status', along with the exact endpoint pattern, so the tool's purpose is clear. It does not explicitly differentiate among closely related siblings like update_request_by_request_id or create_issue_by_issue_id_by_status, 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?

The intended use is implied by 'Update a request's status' and the endpoint structure, but there are no explicit when-to-use instructions, prerequisite conditions, or mentions of alternative tools. It provides clear context without exclusions, but leaves routing decisions mostly to inference.

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

create_request_by_request_id_retryB
Idempotent

Retry failed request.

POST /api/v1/request/{requestId}/retry

Args: request_id: Request ID

ParametersJSON Schema
NameRequiredDescriptionDefault
request_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 establish that this is a non-read-only, idempotent mutation that is not destructive. The description adds the HTTP method, endpoint, and the 'failed request' precondition, but does not disclose side effects, permission requirements, or what happens if the request is not in a retryable 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 description is short and front-loaded with the core action. The Args section is redundant with the schema, but the overall size is appropriate and there is no 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?

Given a single parameter, an output schema, and annotations, the description is minimally sufficient, but it lacks guidance about when retrying is appropriate and how it relates to other request lifecycle tools. An agent could still call it correctly for a failed request, but may choose it incorrectly in edge cases.

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 repeats the schema's parameter title ('Request ID') without adding extra meaning. It does not explain what the request_id refers to, where to obtain it, or any format or selection considerations.

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 ('Retry failed request') and the resource (a request identified by request_id), and the endpoint confirms the target. It does not explicitly differentiate itself from sibling tools, but 'retry' is a distinct enough operation.

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 phrase 'failed request' implies this tool is for retrying requests that have failed, but it does not explain when to choose this over alternatives like create_request_by_request_id_by_status or update_request_by_request_id. No exclusions or explicit when-not-to-use guidance is provided.

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

create_settings_cache_by_cache_id_flushC
Idempotent

Flush a specific cache.

POST /api/v1/settings/cache/{cacheId}/flush

Args: cache_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
cache_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 indicate idempotentHint=true and destructiveHint=false, and the description adds little beyond the literal action of flushing. It does not disclose side effects, what happens to cached data, authentication requirements, or any operational 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 short and front-loaded with the key purpose. The endpoint and Args lines are somewhat redundant with the schema and tool name, but the overall structure is compact and 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 one-parameter tool with an output schema, this is minimally acceptable. However, it lacks guidance on when to flush a cache and what effect the operation has, leaving the agent to infer important behavioral 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%, so the description needed to compensate, but it only says "cache_id: Path parameter." This adds no real meaning beyond the schema's property name and title, leaving the semantics of the cache_id value 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 specific verb and resource: "Flush a specific cache." This clearly identifies the operation and distinguishes it from the many other settings-related sibling tools, though it does not explicitly contrast itself with alternatives.

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, conditions that require flushing a cache, or any prerequisites. The description merely restates the action without explaining context or exclusions.

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

create_settings_discoverA
Idempotent

Batch update all sliders.

POST /api/v1/settings/discover

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

A4/5.0
Behavior3/5

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

Annotations already establish that the operation is a non-read, non-destructive, idempotent mutation. The description adds that it affects all sliders rather than one, which is useful, but it does not disclose overwrite semantics, authorization requirements, or side effects 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 three short, purposeful lines: purpose, endpoint, and parameter guidance. It is front-loaded with the most important scoping phrase and contains no 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?

Between the annotations, output schema, explicit endpoint, and pointer to GET/schema, the agent has enough to invoke the tool. It could be more complete by stating that all sliders are replaced/overwritten and whether admin rights are required, but it is substantially adequate for an open-bodied settings update.

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 additionalProperties body, the description compensates by instructing the agent to consult the matching GET or /schema endpoint for expected fields. It labels body as 'Request payload,' giving a minimal but actionable meaning beyond the raw 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 opens with 'Batch update all sliders,' naming a specific action and resource. This clearly distinguishes it from sibling tools like update_settings_discover_by_slider_id and create_settings_discover_add, which operate on individual sliders or add a slider.

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 scope is clear: this tool is for updating all sliders at once. However, it does not explicitly mention or contrast alternatives such as update_settings_discover_by_slider_id for single-slider updates, so when-to-use guidance is implied rather than stated.

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

create_settings_discover_addA
Idempotent

Add a new slider.

POST /api/v1/settings/discover/add

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 establish that the operation is mutating, idempotent, and non-destructive. The description adds the HTTP method and the need to inspect GET/schema for expected fields, which is useful, but it does not disclose side effects, validation behavior, or failure modes.

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: purpose first, then endpoint, then args. Every sentence earns its place, with no filler or repetition of schema details.

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

Completeness4/5

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

For a low-complexity create endpoint with one open body parameter, an output schema, and safety annotations, the description covers the essential invocation steps and points to the source of truth for the body schema. It loses a point because 'the matching GET' is somewhat vague and no distinction is made from the similar sibling create_settings_discover.

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 is an opaque body object. The description compensates by identifying body as the request payload and directing the agent to the matching GET or /schema endpoint to learn the expected fields. It does not enumerate fields, but for an open object this is a practical and meaningful pointer.

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 ('Add') and the resource ('a new slider'), and includes the exact endpoint. However, it does not differentiate from the sibling create_settings_discover, so an agent may be unsure which create-like tool to choose.

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 when-to-use guidance or comparison with alternatives such as create_settings_discover or update_settings_discover_by_slider_id. The instruction to read the matching GET or /schema endpoint is a prerequisite, not a selection rule.

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

create_settings_initializeB
Idempotent

Initialize application.

POST /api/v1/settings/initialize

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/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. The description adds no behavioral detail beyond the word 'initialize' and the POST method—it does not disclose what changes occur, whether authentication is required, or what side effects an agent should expect.

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: 'Initialize application.' followed by the endpoint. No redundant fluff, but the brevity leaves out useful context that could have been added without sacrificing 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 initialization operation with no parameters, the description is sparse. An agent would not know what 'initialize' actually does, when it is appropriate to call it, or what the output represents. The output schema exists, but the missing purpose and usage context makes this incomplete.

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 the baseline is 4. There is nothing for the description to add about parameter meaning.

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 'Initialize application' with a clear resource, and the accompanying POST endpoint makes the operation concrete. It distinguishes itself from the many other create_settings_* siblings by focusing on initialization, though it does not elaborate on what initialization entails.

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, whether it should be used only for first-time setup, or what prerequisites must exist. No alternatives or exclusions are mentioned despite the large sibling toolset.

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

create_settings_jobs_by_job_id_cancelB
Idempotent

Cancel a specific job.

POST /api/v1/settings/jobs/{jobId}/cancel

Args: job_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_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 cover read-only and idempotency, and the description adds no behavioral context beyond repeating the endpoint and path parameter. It does not mention what happens to a running job, whether cancellation is reversible, or whether there are 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.

Conciseness4/5

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

The core purpose is front-loaded in a single clear sentence. The additional endpoint and Args lines are mostly redundant with the schema, but the overall length is minimal and scannable.

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 endpoint with an output schema, the description is minimally sufficient to invoke it. However, it omits context such as when cancellation is valid, whether the job must be currently running, and any expected failure modes.

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 description coverage is 0%, so the description must compensate. It does add one useful semantic detail by labeling job_id as a path parameter, but it does not provide any format, source, or relationship to other job-related endpoints.

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 ('Cancel') and resource ('a specific job'), making the operation unmistakable. The sibling set includes run and schedule variants for jobs, and 'cancel' clearly distinguishes this tool 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?

No guidance is given for when to use this tool versus alternatives such as run or schedule. The description simply says what it does, without explaining when cancellation is appropriate or any prerequisites.

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

create_settings_jobs_by_job_id_runB
Idempotent

Invoke a specific job.

POST /api/v1/settings/jobs/{jobId}/run

Args: job_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

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, and the description does not contradict them. The description adds the HTTP method and path, but does not disclose what 'invoke' means in terms of side effects (e.g., does it block, return immediately, or require server readiness). With annotations covering the safety profile, a 3 is reasonable—it adds a little context but not rich behavioral 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 appropriately terse, containing only the action, the endpoint, and the parameter note. Every sentence serves a purpose, and it is front-loaded with the core action. The minor redundancy of stating 'Path parameter' when the endpoint already shows it in braces is acceptable.

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 is simple (one required parameter, no nested objects, and an output schema exists to communicate return values), the description is nearly complete. It explains the core behavior and the endpoint, and the output schema handles the response. Missing details like 'how to get job_id' are minor for such a straightforward 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 schema has zero description coverage, so the description must compensate. It only adds that job_id is a 'Path parameter'—which is marginally useful but does not explain what a job_id looks like or how to obtain valid values. The description does not clarify the parameter's purpose beyond its type, leaving the agent to infer from the tool name.

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 ('Invoke') and a clear resource ('a specific job'), and the provided endpoint makes the action unambiguous. It naturally distinguishes from sibling tools like create_settings_jobs_by_job_id_cancel and create_settings_jobs_by_job_id_schedule by emphasizing the 'run' action, even 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 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 (e.g., when to run vs. schedule or cancel a job). It only states what the tool does, not the context in which it should be selected, nor any prerequisites or side effects.

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

create_settings_jobs_by_job_id_scheduleA
Idempotent

Modify job schedule.

POST /api/v1/settings/jobs/{jobId}/schedule

Args: job_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
bodyYes
job_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 convey idempotency, non-destructiveness, and non-read-only status. The description adds 'Modify job schedule' and the HTTP method, but does not disclose side effects, permissions, or what happens to the schedule on repeated calls. It meets the lower bar set by annotations but adds limited behavioral context.

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

Conciseness5/5

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

The description is compact and well-structured: a one-line purpose statement, the endpoint, and two short parameter notes. Every sentence contributes value, and the most important information is front-loaded.

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

Completeness4/5

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

For a tool with annotations and an output schema, the description is largely complete: it states the endpoint, maps both parameters, and tells the agent how to discover the opaque body schema. It falls short only in not distinguishing from close siblings or noting any side effects, but those are secondary given the existing structured metadata.

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 body parameter is an open object with additionalProperties. The description compensates by identifying job_id as a path parameter and explicitly directing the agent to the matching GET or /schema endpoint to learn the body fields. This is essential semantic guidance beyond the bare 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 clearly states the tool modifies a job schedule, which is a specific action on a specific resource. It does not explicitly contrast with sibling tools like create_settings_jobs_by_job_id_cancel or run, but the resource and verb are unambiguous enough for an agent to understand its role.

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 use this tool versus the cancel/run siblings. The only instruction is to read the matching GET or /schema endpoint for body fields, which is parameter discovery rather than usage selection. No conditions, 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_settings_mainA
Idempotent

Update main settings.

POST /api/v1/settings/main

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 the mutation is idempotent and non-destructive; the description adds that it updates main settings and exposes the POST endpoint. It does not describe side effects, scope (global vs per-user), or permissions, 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.

Conciseness5/5

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

The description is compact and front-loaded with the core action, followed by the endpoint and a single parameter note. Every sentence carries useful information with 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?

The output schema exists, so return-value documentation is not required, and the schema-discovery instruction fills the biggest gap around the opaque body. However, it omits whether the update is partial or full replacement and does not mention any required authorization, which matters for a global settings mutation.

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 coverage and an opaque body object, the description meaningfully compensates by identifying body as the request payload and directing the agent to read the matching GET or /schema endpoint for the expected fields. It does not enumerate fields, but it prevents blind guessing.

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 ('Update') and resource ('main settings'), so an agent knows what the tool does despite the 'create_' name. It does not explicitly differentiate from sibling tools like list_settings_main or create_settings_main_regenerate, but the verb and resource are enough for basic disambiguation.

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' gives a clear precondition for constructing the request. However, it does not explicitly state when to prefer this tool over related siblings or when not to use it, leaving usage context mostly implied.

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

create_settings_main_regenerateA
Idempotent

Get main settings with newly-generated API key.

POST /api/v1/settings/main/regenerate

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 signal non-read-only and idempotent behavior. The description adds that a new API key is produced, but it does not state that the old key is invalidated or that this is a rotation with security implications; the word 'Get' also downplays the side effect.

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

Conciseness5/5

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

Two short sentences, front-loaded with the purpose and including the endpoint. 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 zero-parameter operation with an output schema and annotations, the description is nearly sufficient. It could mention old-key invalidation, but the core call semantics are present.

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 self-describing, so no parameter documentation is required. Baseline 4 applies because the description need not compensate for any parameter 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?

States a concrete action and resource: returns main settings after generating a fresh API key and cites the POST endpoint. The verb 'Get' is slightly misleading for a regeneration operation, and the description does not explicitly differentiate from list_settings_main beyond the key-generation aspect.

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 invoke this operation versus alternatives such as list_settings_main for viewing settings or create_settings_main for updating settings. The intended trigger—rotating/regenerating the API key—is only implicit in the tool name and endpoint, not in the description.

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

create_settings_notifications_discordA
Idempotent

Update Discord notification settings.

POST /api/v1/settings/notifications/discord

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.8/5.0
Behavior3/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. The description adds useful context by revealing that the body fields are not statically defined and must be discovered via GET/schema. It does not explain replacement vs merge semantics or auth requirements, but the annotations carry the main safety 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 succinct and well-structured: the action is front-loaded, the HTTP endpoint is included, and the single parameter has a clear discovery instruction. Every sentence 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 single open-bodied parameter with an existing output schema, the description supplies the route, the operation, and the critical instruction to retrieve the body schema. It does not resolve the create/update naming ambiguity or mention the _test sibling, but those are routing concerns rather than blockers to 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%, so the description must compensate. It only describes 'body' as a request payload, which is largely generic, but it does provide the important pointer to the matching GET/schema endpoint to learn the actual expected fields. This is a pragmatic workaround rather than full parameter 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 first sentence clearly identifies a specific action, 'Update', and a specific resource, 'Discord notification settings'. However, the tool name uses 'create_' while the description says 'Update', which creates mild ambiguity, and the description does not explicitly distinguish itself from the sibling create_settings_notifications_discord_test tool.

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 contextual guidance: read the matching GET or /schema endpoint first to discover the expected body fields. It does not explicitly state when not to use this tool or mention alternatives like the _test sibling, so it falls short of full exclusion guidance.

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

create_settings_notifications_discord_testC
Idempotent

Test Discord settings.

POST /api/v1/settings/notifications/discord/test

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
Behavior2/5

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

Annotations already convey non-destructive and idempotent behavior, but the description does not disclose that this likely sends a test message to Discord or that it requires configured Discord settings. 'Test' implies an action but does not explain the 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, front-loaded with the purpose, and clearly separates the endpoint and body guidance. It earns its place but sacrifices behavioral detail that would make it more useful.

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 an open request body and many closely related siblings, the description leaves too much to inference. It does not explain the actual test behavior, prerequisites, or when to use it, leaving the agent dependent on external schema endpoints and sibling names.

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 and an open body object, the description only labels body as 'Request payload' and points to the GET/schema endpoint for fields. It adds a discovery hint but fails to name or explain any expected body fields, so it does not sufficiently compensate for the missing 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 'Test Discord settings' and the explicit endpoint, giving a specific verb and resource. It distinguishes the tool from siblings like create_settings_notifications_discord by the test action, though it does not explain what testing entails.

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 alternatives are provided. The only guidance, 'Read the matching GET or the /schema endpoint first,' is about discovering request fields, not about when this tool should be selected over the many sibling test and settings tools.

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

create_settings_notifications_emailA
Idempotent

Update email notification settings.

POST /api/v1/settings/notifications/email

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 identify this as a mutating, idempotent, non-destructive operation, and the description's 'Update' is consistent with readOnlyHint=false. It adds the prerequisite of discovering fields via GET/schema, but it does not describe whether the update merges or replaces existing settings, or any other behavioral consequences 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.

Conciseness4/5

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

The description is short and front-loaded, with each line serving a purpose: the action, the endpoint, and the critical instruction to consult GET/schema. It is slightly terse but not padded, so it earns a strong score without being excessive.

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 tool with a single opaque body parameter and an output schema, the description supplies the key missing context: the exact endpoint and a reliable way to discover the expected payload shape. It does not explicitly exclude the sibling email_test tool or clarify update/replace semantics, but it is reasonably complete for this API style.

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 a heavy burden for explaining the single body parameter. It adds that 'body' is the request payload and points the agent to the matching GET or /schema endpoint to discover fields, which is useful but externalizes the needed field semantics rather than providing them.

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') and the resource ('email notification settings'), so an agent knows what the tool operates on. It does not explicitly differentiate itself from the sibling create_settings_notifications_email_test, and the tool name says 'create' while the description says 'update,' which creates minor ambiguity.

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 the use case: updating the email notification configuration, and it instructs the agent to consult the matching GET or /schema endpoint before supplying a body. However, it does not explicitly state when to use this tool over the sibling test tools or otherwise provide when-not guidance.

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

create_settings_notifications_email_testB
Idempotent

Test email settings.

POST /api/v1/settings/notifications/email/test

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
Behavior2/5

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

Annotations indicate idempotentHint=true and readOnlyHint=false, but the description adds no behavioral context beyond 'test'. It does not state side effects (e.g., sending an email) or how the test is performed. With no annotation coverage for behavioral details, the description carries the full burden but fails to disclose anything significant. No contradiction with annotations, but very little value added.

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 three lines: the summary, the endpoint, and the arg explanation. It is well-structured and front-loads the key purpose. Every sentence adds value, and there is no fluff. It could be slightly more detailed, but it is efficiently formatted.

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 the tool has a single open object parameter and an output schema exists, the description does not need to describe return values. However, it omits critical details such as what a 'test' does (e.g., sends a test email) and any side effects. The instruction to check the GET/schema endpoint is helpful but leaves the agent without a full understanding of the tool's behavior and implications. The description is too sparse for a mutation-like action that may trigger external side effects.

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 for 'body' is an open object with 0% description coverage, making it completely uninformative. The description explicitly instructs the agent to read the matching GET or /schema endpoint to discover expected fields, which actively compensates for the schema gap. This directive provides meaningful guidance and helps the agent construct a valid payload, earning a high score despite not listing fields directly.

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 'Test email settings' which is a clear verb+resource indicating the tool's purpose. It distinguishes from sibling *_test tools by specifying 'email' rather than discord, slack, etc. However, it does not elaborate on what 'test' entails (e.g., sending a test email), so it is clear but not fully specific.

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 verifying email configuration, nor does it contrast with the many other notification test tools. There is no conditional logic or prerequisite information, 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.

create_settings_notifications_gotifyB
Idempotent

Update Gotify notification settings.

POST /api/v1/settings/notifications/gotify

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 cover idempotency and non-destructiveness, so the description only needs to add context. It adds the HTTP method and endpoint and the need to pre-fetch the schema, but it does not describe authentication requirements, whether settings are overwritten wholesale, or 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.

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 in the first line and a single useful instruction about the body. 'Args:' repeats schema info but is not harmful.

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 settings update with an output schema and annotations, the description is mostly sufficient. The gap is selection guidance: it never acknowledges the sibling _test endpoint or clarifies the create/update naming mismatch, which an agent may need to choose 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% and the body is an unconstrained additionalProperties object. The description compensates slightly by directing the agent to the matching GET or /schema endpoint for expected fields, but it does not explain the body's structure or any defaults/required nested 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 uses a specific verb and resource ('Update Gotify notification settings') and gives the exact HTTP endpoint. However, it does not explicitly differentiate from sibling tools like list_settings_notifications_gotify or create_settings_notifications_gotify_test, and the tool name says 'create' while the description says 'update.'

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 instructs the agent to read the matching GET or /schema endpoint before supplying the body, which is a useful precondition. It does not say when to prefer this tool over alternatives (e.g., the _test endpoint) 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.

create_settings_notifications_gotify_testC
Idempotent

Test Gotify settings.

POST /api/v1/settings/notifications/gotify/test

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 indicate idempotentHint=true, destructiveHint=false, readOnlyHint=false, but the description adds no additional behavioral detail. It does not state that the tool sends a test notification, whether it validates connectivity, what errors might occur, or if it requires prior configured gotify settings. The only added context is pointing to the GET/schema endpoint for payload fields, but that is parameter-related, not behavioral. With limited annotations, the description carries a burden it fails to meet.

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 front-loads the purpose ('Test Gotify settings.') followed by the endpoint and a brief arg note. It is well-structured and concise, with no unnecessary sentences. The length is appropriate for a tool whose complexity is low, though it leaves gaps in behavior and usage.

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 has an output schema (though not shown) and a single body parameter, the description still fails to clarify the tool's behavior (e.g., does it send a test notification and return a status?), any prerequisites (e.g., gotify must be configured), or the format of the response. The note to read the GET/schema is helpful for parameters but does not cover the overall operation. The description is incomplete for an agent to reliably decide when and how to invoke 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?

The schema defines 'body' as an open object (additionalProperties: true) with no property definitions, and schema coverage is 0%. The description adds value by instructing to 'Read the matching GET or the /schema endpoint first to see the fields this resource expects.' This tells an agent where to find the expected structure, compensating for the empty schema. However, it does not describe any specific fields, so it only 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 clearly states the resource ('Gotify settings') and the action ('Test'), distinguishing it from sibling test tools by naming the service. However, it does not explicitly say what 'test' entails (e.g., sending a test notification), relying on the HTTP method and endpoint context. This is clear enough for an agent to infer the 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 gives no explicit guidance on when to use this tool versus similar test tools for other services (e.g., create_settings_notifications_discord_test) or versus create_settings_notifications_gotify (which likely saves settings). It only states 'Test Gotify settings,' which duplicates the name. No context, prerequisites, 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_settings_notifications_lunaseaC
Idempotent

Update LunaSea notification settings.

POST /api/v1/settings/notifications/lunasea

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 declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds only 'Update' and the endpoint, which is consistent with idempotency but adds no further behavioral context such as whether this is a full replacement or partial update, or what happens on success. It does not disclose side effects 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 brief and front-loaded with the purpose and endpoint. The additional note about reading the schema is useful and directly placed. No wasted words, though it could be slightly more structured with explicit sections, but 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?

The description points to the schema for body fields, which is a good start. However, it does not explain the update semantics (e.g., full vs partial update), or what the response looks like. Given the output schema exists, the description does not need to detail return values, but the lack of guidance on how the body should be constructed (beyond referencing schema) leaves some gaps. The name/verb mismatch adds to incompleteness.

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?

There is one parameter 'body' with schema coverage 0%, so the description must compensate. It instructs to read the matching GET or /schema endpoint to see expected fields, which is helpful and directs the agent to the right source. However, it does not provide any actual field names or structure, so the agent still needs to fetch the schema to proceed.

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 LunaSea notification settings') and specifies the resource (LunaSea notifications). It does not explicitly contrast with sibling notification tools, but the resource is clear. The verb 'Update' mismatches the tool name 'create', which causes some ambiguity, but the description itself 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 gives no guidance on when to use this tool versus other notification settings tools (e.g., Discord, Email). It only suggests reading the matching GET or /schema endpoint, which is about how to call it, not when to choose it. With many siblings, explicit selection criteria are missing.

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

create_settings_notifications_lunasea_testC
Idempotent

Test LunaSea settings.

POST /api/v1/settings/notifications/lunasea/test

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 declare this is not read-only, is idempotent, and is non-destructive, but the description adds no behavioral detail about what a test call does. It does not say whether this sends an external notification, merely validates configuration, or what failure modes exist, which is significant for a 'test' action.

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 stated before the endpoint and args. The 'body: Request payload' line adds little beyond the schema, but the overall size and structure are appropriate and free of 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 a one-parameter open-body action with an output schema and safety annotations, the description provides the key invocation hint: read the matching GET or /schema endpoint for expected fields. However, it leaves unclear what the test action does, what a successful result means, and how to distinguish this from sibling test endpoints, so completeness is only minimal.

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 single body parameter is an open object with no schema field descriptions, so the description must compensate. 'Request payload' is essentially tautological, but the explicit pointer to the matching GET or /schema endpoint gives the agent a concrete way 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 begins with 'Test LunaSea settings,' which names a specific action and resource, and the explicit POST path confirms this is a test endpoint for LunaSea notifications. It does not, however, explain what 'test' actually does (e.g., send a sample notification), so some meaning is carried by the tool name and the long list of provider-specific 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?

No guidance is given about when to use this tool instead of sibling test endpoints like create_settings_notifications_discord_test or the non-test create_settings_notifications_lunasea. The only usage instruction, 'Read the matching GET or the /schema endpoint first,' addresses how to construct the body, not when to select this tool.

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

create_settings_notifications_pushbulletA
Idempotent

Update Pushbullet notification settings.

POST /api/v1/settings/notifications/pushbullet

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 establish that the call is not read-only, not destructive, and idempotent. The description adds that this is a POST request and warns that the body fields must be discovered from the GET/schema endpoint, but it does not disclose side effects, authorization needs, or response behavior. 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?

The description is three short, front-loaded lines with no filler. The endpoint line and the Args explanation are purposeful and directly actionable.

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 opaque-body settings-update tool with an output schema and safety annotations, the pointer to the GET/schema endpoint supplies the key missing context. It could name the exact sibling GET tool explicitly, but 'the matching GET' is discoverable from the sibling list.

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 a bare 'body' object with additionalProperties, and schema description coverage is 0%. The description compensates by labeling body as the request payload and telling the agent to consult the matching GET or /schema endpoint to learn the expected fields, which is essential for an opaque-body 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 first sentence states a specific verb ('Update') and resource ('Pushbullet notification settings'), which distinguishes this tool from the list, test, and other provider variants. The slight mismatch between the tool name 'create_' and the description verb 'Update' prevents 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 Guidelines3/5

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

The description implies when to use the tool: to update Pushbullet notification settings, and it instructs reading the matching GET or /schema endpoint first. It does not explicitly name alternatives such as list_settings_notifications_pushbullet for reading current settings or the _test sibling for testing the integration.

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

create_settings_notifications_pushbullet_testB
Idempotent

Test Pushbullet settings.

POST /api/v1/settings/notifications/pushbullet/test

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?

Annotations disclose idempotent, non-destructive, not read-only. The description adds only the HTTP method and the instruction to read the schema, but does not state the observable behavior, e.g., that this sends a real test notification or what side effects (if any) occur. With readOnlyHint false, the agent is left to guess whether this mutates anything.

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, starts with the purpose, and uses a clear args block. It avoids unnecessary repetition and is easy to scan. It meets the ideal for a simple test 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 tool is simple, has an output schema, and the description points to the source of truth for the open body. However, it omits contextual details like whether a configured Pushbullet account is required or whether the test actually sends a notification, which may leave an agent uncertain about side effects. For a test action, mentioning the expected effect would improve 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 single 'body' parameter is an open object with zero schema description coverage. The description compensates by explicitly stating that the body is a request payload and pointing to the matching GET or /schema endpoint to discover expected fields. This is essential given the schema gives no field 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 states the action clearly: 'Test Pushbullet settings' immediately. It names the resource and the test action, distinguishing it from sibling tools like create_settings_notifications_pushbullet or list_settings_notifications_pushbullet without needing to inspect schemas. However, it is terse and doesn't elaborate on what 'testing' entails, such as sending a notification.

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 instead of the update/settings variants or other test tools. The description simply states the action; it does not mention prerequisites (e.g., configured Pushbullet settings) or alternatives. The sibling list is large but the description does not explicitly route the agent.

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

create_settings_notifications_pushoverA
Idempotent

Update Pushover notification settings.

POST /api/v1/settings/notifications/pushover

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.8/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. The description adds 'Update' which is consistent with a write operation. It does not disclose additional behavior such as partial updates, validation errors, or effects on existing settings. With annotations covering the safety profile, the description adds minimal extra behavioral 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 concise: a one-sentence purpose, the endpoint, and one clear argument with usage hint. It is front-loaded with the purpose. Including the endpoint is slightly redundant with the tool name but still harmless. No unnecessary fluff.

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 there is an output schema (not shown but indicated) and this is a settings update with a free-form body, the description provides the essential workflow: read the schema first, then send the body. It omits authentication and error details, but these are likely standard across the API. The guidance to read the matching GET/schema makes it complete enough for safe 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?

There is only one parameter 'body' (a free-form object) with 0% schema coverage. The description compensates by instructing to 'Read the matching GET or the /schema endpoint first' to discover expected fields. Without this, the agent would have no way to construct a valid payload. This direct pointer to external schema documentation adds significant value beyond the schema itself.

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 Pushover notification settings.' with a specific verb and resource, and includes the endpoint. It distinguishes itself from siblings like create_settings_notifications_discord by naming the service explicitly. However, it doesn't elaborate on what 'Pushover settings' entails beyond the name, 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 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 to see the fields this resource expects.' This is critical guidance for using the free-form body parameter. It implies when to use this tool (to configure Pushover) by virtue of the name, but doesn't discuss alternatives or exclusions, so not a 5.

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

create_settings_notifications_pushover_testB
Idempotent

Test Pushover settings.

POST /api/v1/settings/notifications/pushover/test

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
Behavior2/5

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

Annotations already provide idempotentHint=true and destructiveHint=false, and the description does not contradict them. However, the description does not disclose that this likely sends an actual test Pushover notification, requires configured Pushover settings, or what the response indicates. It adds a prerequisite instruction but not meaningful side-effect 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 short and front-loaded, with the action and endpoint in the first two lines and only one additional instruction. It contains no filler, though the 'Args' line adds little semantic value beyond the schema pointer.

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 POST with an output schema and safety annotations, the description covers the essential mechanics by pointing to the schema source. It remains incomplete about the behavioral outcome, such as whether a real notification is sent or what a successful test means, and it lacks alternative-selection guidance. Adequate but with 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% and the single body parameter is an opaque object with additionalProperties=true. The description says 'body: Request payload,' which mostly restates the schema, but it does instruct the agent to read the matching GET or /schema endpoint first, which is a genuinely useful workaround. It still provides no actual field names, formats, 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 opens with 'Test Pushover settings.' and includes the exact POST path, clearly identifying the operation and resource. It is distinct from sibling tools like create_settings_notifications_pushover by the explicit 'test' action, though it does not specify what testing entails.

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 explicit guidance is to read the matching GET or /schema endpoint before supplying the body, which is a useful prerequisite but not a selection rule. It does not state when to prefer this over sibling notification tools or what conditions make it appropriate. The intended use is implied by the word 'Test' and the Pushover resource name.

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

create_settings_notifications_slackA
Idempotent

Update Slack notification settings.

POST /api/v1/settings/notifications/slack

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

A4.2/5.0
Behavior3/5

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

Annotations already communicate that the tool is mutating, idempotent, and non-destructive. The description adds useful context about the body being dynamic and requiring a preliminary GET/schema lookup, but it does not disclose side effects or other operation details beyond that. This is acceptable given the annotation coverage but not especially 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 short and front-loaded: purpose first, then the endpoint, then the argument guidance. Every line earns its place and there is 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 settings-update tool with one opaque body parameter, the description provides the essential discovery step via GET/schema. Annotations and the output schema cover idempotency and return behavior. It is slightly light on broader context like auth or permissions, but it is complete enough 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 schema only defines 'body' as an open object with additionalProperties true and 0% field coverage. The description compensates by explaining that body is the request payload and instructing the agent to read the matching GET or /schema endpoint to discover expected fields. This is helpful procedural guidance, though it does not enumerate any fields.

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

Purpose5/5

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

The description clearly states the verb ('Update') and resource ('Slack notification settings'), which distinguishes it from list/test siblings such as list_settings_notifications_slack and create_settings_notifications_slack_test. Even though the tool name uses 'create', the description clarifies the actual operation is an update, so an agent knows what the tool does.

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

Usage Guidelines4/5

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

It provides a clear use case: update Slack notification settings. It also gives a concrete precondition by telling the agent to read the matching GET or /schema endpoint first. It does not explicitly contrast with sibling test/list tools, so it falls short of full alternative routing.

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

create_settings_notifications_slack_testC
Idempotent

Test Slack settings.

POST /api/v1/settings/notifications/slack/test

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 declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true, meaning the tool mutates but is safe and idempotent. The description does not add any behavioral context beyond that; it does not explain what the test does (e.g., sends a test message to Slack) or what side effects occur. Since annotations carry the safety profile, the description should add value by describing the action, but it 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.

Conciseness5/5

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

The description is extremely short and to the point, including the endpoint and a needed instruction about the body parameter. Every sentence earns its place; there is no wasted text. Structure is clean and front-loaded with the core 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?

Given that output schema exists and the complexity is low (one parameter), the description should explain what the test does, what a successful test looks like, and whether any configuration is needed first. It only says 'Test Slack settings' and gives a body hint. This leaves the agent uncertain about the expected outcome and prerequisites, making it incomplete for a test action.

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 there is only one parameter: body, which is an open object (additionalProperties: true). The description tells the agent to 'Read the matching GET or the /schema endpoint first', which is a helpful pointer to discover the expected fields. This compensates somewhat for the lack of schema details, but it does not actually describe what the body is for (e.g., the Slack webhook URL or test message content). It is a minimal but non-zero contribution.

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 'Test Slack settings.' which is a clear verb (test) and resource (Slack settings). It also includes the exact endpoint. However, it does not differentiate from many sibling test tools (e.g., discord, email, gotify) except by the name, but the name itself is explicit. The purpose is understandable but could be more specific about what 'test' entails (e.g., send a test notification).

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 that one should first configure Slack settings, or that this tests connectivity. The note about reading the GET/schema endpoint is about the body parameter, not about usage context. There is no indication of prerequisites or scenarios where this tool is appropriate.

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

create_settings_notifications_telegramA
Idempotent

Update Telegram notification settings.

POST /api/v1/settings/notifications/telegram

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 cover read-only, destructive, and idempotent behavior, and the description aligns with them. The description adds useful context by stating this is an update and that the body fields must be discovered via GET or /schema. It does not disclose auth requirements, rate limits, or the full scope of side effects, so it 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 compact and front-loaded: a one-line summary, the endpoint, and a single Args note. The GET/schema instruction earns its place and there is no filler. It is well structured, though slightly boilerplate in its wording.

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 tool with an opaque body, the description provides the essential invocation step (read GET/schema first), and the output schema plus annotations cover return values and safety traits. However, it does not explicitly explain when to choose this over list_settings_notifications_telegram or the *_test sibling, nor does it mention authentication or side-effect scope. This is minimally viable rather than fully 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 only defines 'body' as an open object, so the agent would otherwise have no idea how to construct it. The description compensates by calling it a 'Request payload' and directing the agent to the matching GET or /schema endpoint for the expected fields. This meaningfully adds value beyond 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 clearly states a specific action and resource: 'Update Telegram notification settings.' It also gives the exact endpoint and the Telegram qualifier helps distinguish it from sibling notification and test tools. However, the tool name begins with 'create_' while the description says 'update', creating a mild semantic mismatch.

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 clear context: use this to update Telegram notification settings. It also gives an explicit precondition—read the matching GET or /schema endpoint first—so the agent knows how to prepare the body. It does not explicitly contrast this tool with list_settings_notifications_telegram or the *_test sibling, but the intended use is clear.

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

create_settings_notifications_telegram_testC
Idempotent

Test Telegram settings.

POST /api/v1/settings/notifications/telegram/test

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 indicate the operation is a mutation (readOnlyHint false), idempotent (idempotentHint true), and non-destructive (destructiveHint false). The description adds only 'Test', which hints at a side effect (likely sending a test message) but does not confirm what happens or what the response signifies. It does not elaborate on behavior beyond the annotation cues, which is insufficient for a tool that likely triggers notifications.

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 note are presented cleanly. No wasteful sentences; it earns its length. The only minor issue is that it could be slightly more informative without bloating.

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 this is a test tool with a generic body object and an output schema (not shown), the description should explain the expected payload fields, the effect of the test, and how to interpret the response. Instead, it only points to external endpoints. An agent cannot invoke it successfully without extra investigation, and the description lacks sufficient context to know what 'test' accomplishes.

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 only parameter 'body' is an object with additionalProperties true, and schema description coverage is 0%. The description merely says 'Request payload' and tells the agent to read the GET or /schema endpoint. This is a deferral rather than a description of fields, so it does not compensate for the lack of schema detail. An agent still cannot construct a valid payload without making an extra call.

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 'Test Telegram settings' – a clear verb (test) and resource (Telegram settings). This distinguishes it from non-test variants like create_settings_notifications_telegram and from test tools for other providers (e.g., _discord_test, _email_test). However, it doesn't explicitly explain what 'test' entails (e.g., sending a test notification), 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 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 first, which provides situational guidance on how to obtain the payload shape. But it does not state when to use this tool instead of – or in combination with – other settings tools, nor does it mention any alternatives or exclusions. Usage context is mostly implied by the tool name.

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

create_settings_notifications_webhookB
Idempotent

Update webhook notification settings.

POST /api/v1/settings/notifications/webhook

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 declare idempotentHint=true and destructiveHint=false, so the description only needs to add context, and it does clarify the operation is an update rather than a creation. It adds a useful instruction to consult the GET/schema endpoint, but it does not disclose auth requirements, which specific webhook fields are affected, or what response 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 short and front-loaded with the operation and resource, and it avoids re-stating the schema's types. The endpoint path adds a little redundant context but is not significant 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?

For an opaque-body settings update, the pointer to GET/schema plus output schema availability covers the main data needs. However, there is no guidance on when to use this instead of the many sibling notification-setting tools, and the create/update naming inconsistency is left unresolved.

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 coverage at 0% and the single body parameter being an open object (additionalProperties:true), the description compensates by directing the agent to read the matching GET or /schema endpoint to discover expected fields. This is essential, actionable guidance, though it does not list concrete field names or value formats.

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 clear verb ('Update') and resource ('webhook notification settings'), so an agent can tell this is a write operation on notification settings. It does not explicitly differentiate from sibling tools like create_settings_notifications_webhook_test or list_settings_notifications_webhook, and the 'create' in the name conflicts with 'Update' in 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 when-to-use or alternative routing is provided; the description never mentions sibling tools or cases where another notification tool should be used. The instruction to read the matching GET or /schema endpoint is a prerequisite for building the payload, not selection guidance.

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

create_settings_notifications_webhook_testA
Idempotent

Test webhook settings.

POST /api/v1/settings/notifications/webhook/test

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.9/5.0
Behavior3/5

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

Annotations already disclose idempotentHint=true, destructiveHint=false, and readOnlyHint=false, so the agent knows it's a safe mutation. The description adds that the agent should read the GET or schema endpoint first, which is useful context. However, it does not describe what the test does (e.g., sends a test webhook) or the response format beyond what the output schema provides. With annotations covering safety, the description adds some value but not rich behavioral detail.

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 plus an endpoint line. The purpose is front-loaded, and the usage guidance is immediately actionable. There is zero waste, and every sentence 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 test endpoint with an output schema, the description is largely complete. It identifies the operation, provides the HTTP endpoint, and directs the agent to fetch parameter details. It does not describe side effects, but annotations cover safety. The only minor gap is not explaining what 'test' means, but given the output schema exists and the action is idempotent, this is acceptable.

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 body parameter is an open object with additionalProperties. The description compensates by telling the agent to 'Read the matching GET or the /schema endpoint first to see the fields this resource expects.' This provides a clear path to discover the required fields, which is more helpful than leaving the agent to guess. It does not enumerate fields but gives a concrete strategy to obtain them.

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 'Test' and the resource 'webhook settings', giving a precise purpose. It does not explicitly differentiate from sibling test endpoints like create_settings_notifications_discord_test, but the resource name makes it unambiguous. The description avoids tautology and is specific enough for an agent to understand what the tool does.

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

Usage Guidelines4/5

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

The description provides actionable guidance: 'Read the matching GET or the /schema endpoint first to see the fields this resource expects.' This tells the agent what to do before invoking the tool, which is valuable. It does not explicitly state when to use this vs. alternatives, but for a test endpoint the context is self-evident. The instruction about fetching the schema is a clear usage prerequisite.

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

create_settings_notifications_webpushC
Idempotent

Update Web Push notification settings.

POST /api/v1/settings/notifications/webpush

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 readOnly=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a useful behavioral note that the body schema is open and the agent should consult a GET or /schema endpoint, but it does not explain update semantics such as whether this replaces or merges existing settings.

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, stating the action, the resource, the HTTP route, and the argument handling in a few lines. No sentence is wasted, and the external-field-discovery instruction earns its place given the open body 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 tool with an open body schema and many closely related siblings, this description is minimally adequate because it points to the GET/schema endpoints. However, it does not distinguish this tool from the webpush test tool or other notification settings tools, and it does not clarify whether 'create' in the name means update, which leaves an agent needing additional 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 coverage is 0%: the only parameter 'body' is an open object with no property descriptions. The description merely calls it a 'Request payload' and redirects the agent to the GET or /schema endpoint, which is a workaround rather than actual parameter semantics. It does not tell the agent what fields are relevant or how to structure 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 a specific action ('Update') and resource ('Web Push notification settings'), but the tool name says 'create_' while the description says 'Update', creating a mild inconsistency. It does not differentiate this tool from the many sibling notification-settings tools, especially 'create_settings_notifications_webpush_test' or 'list_settings_notifications_webpush'.

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 the webpush test endpoint or other notification channel settings. The only procedural hint is 'Read the matching GET or the /schema endpoint first', but that is about discovering fields, not about choosing between competing sibling tools.

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

create_settings_notifications_webpush_testB
Idempotent

Test Web Push settings.

POST /api/v1/settings/notifications/webpush/test

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 non-read-only, idempotent, and non-destructive, so there is no contradiction. However, the description adds little behavioral context beyond the word 'Test' and the HTTP method; it does not disclose what the test call actually does or what side effects may occur.

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, front-loads the action, and includes only the endpoint and the single-argument note. There is no 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?

With an output schema present and annotations covering safety, the main missing pieces are explicit usage guidance and a clear statement of what the test call does. For a one-parameter tool it is mostly adequate, but among many sibling `_test` tools it is not fully 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 is opaque (`body` with `additionalProperties: true`) and schema description coverage is 0%, so the description's instruction to read the matching GET or /schema endpoint is genuinely useful. It tells the agent how to discover the actual expected fields, which is more than the schema 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 identifies a specific action ('Test') and resource ('Web Push settings'), and states the POST endpoint. It is easy to distinguish from the configure-style sibling `create_settings_notifications_webpush`, though it does not explicitly state the intended effect (e.g., sending a test push notification).

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 provided. The description does not mention alternatives or conditions for choosing this tool over the many other notification `_test` siblings. The only directive about reading the GET or /schema endpoint is for parameter discovery, not tool selection.

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

create_settings_plexA
Idempotent

Update Plex settings.

POST /api/v1/settings/plex

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.9/5.0
Behavior3/5

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

Annotations already convey idempotency and non-destructiveness, and the description adds the requirement to consult GET/schema first. It does not describe effects such as merging/replacing fields or auth expectations, but annotations lower 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.

Conciseness5/5

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

Three short sentences: action, endpoint, and parameter guidance. There is no redundant or misleading prose.

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 open-body settings update with an output schema and annotations, the description covers the key requirements: endpoint, mutation intent, and how to discover body fields. It could be more explicit about naming the sibling GET tool, but it is not incomplete.

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 schema is an open object with 0% coverage, so the description's instruction to read the matching GET or /schema endpoint is essential for discovering valid fields. It compensates for the empty schema, though it leaves actual field discovery to another call.

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 Plex settings,' identifying a specific verb and resource. It is clear, but it does not explicitly differentiate from sibling tools like list_settings_plex or create_settings_plex_sync.

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 states the operation (update Plex settings) and instructs the agent to read the matching GET or /schema endpoint before calling. This is clear context for when to use it, though it does not name alternatives or exclusions.

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

create_settings_plex_syncA
Idempotent

Start full Plex library scan.

POST /api/v1/settings/plex/sync

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

A4.2/5.0
Behavior4/5

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

Annotations already declare the operation is non-read-only, idempotent, and non-destructive. The description adds the key behavioral fact that it triggers a full library scan and warns the agent to consult GET/schema first. It does not address edge cases like an already-running scan, but annotations lower 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.

Conciseness5/5

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

Four short lines with no filler: the action is front-loaded, the endpoint is included, and the parameter guidance is the minimum needed. Every sentence 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 single-body-parameter trigger endpoint with an output schema, the description is nearly complete. It names the action, gives the endpoint, and explains how to discover the payload shape. It could add one sentence about side effects or prerequisites such as Plex being configured, but nothing critical is missing for 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 sole parameter is a generic open object with 0% schema coverage. The description compensates by identifying body as the request payload and, more importantly, directing the agent to the matching GET or /schema endpoint for the expected fields. It does not enumerate fields, but the redirect is the actionable semantic information.

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 a specific verb and resource: 'Start full Plex library scan.' This clearly distinguishes the tool as a trigger action, unlike siblings such as list_settings_plex_sync (which lists sync state) or create_settings_plex (which configures Plex).

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 intended use is implied by 'Start full Plex library scan,' and the instruction to read the matching GET or /schema endpoint provides a useful prerequisite. However, it does not explicitly state when to prefer this over sibling settings endpoints or mention 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.

create_settings_radarrC
Idempotent

Create Radarr instance.

POST /api/v1/settings/radarr

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
Behavior2/5

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

Annotations already indicate this is a non-read, idempotent, non-destructive operation, so the description's burden is lower. However, the description adds no behavioral context beyond 'Create' – no mention of side effects, validation, or what happens on repeated calls.

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 in the opening sentence and a useful pointer to the schema endpoint. The endpoint line is somewhat redundant with the name, but there is no 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 create operation with an open-ended body and no parameter documentation, the description leaves the agent knowing how to find fields but not what the operation needs or how it relates to the sibling test/update/delete tools. The output schema covers return shape but not request semantics.

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 open body object. It only labels body as 'Request payload' and points the agent to the GET/schema endpoint; it does not describe any expected Radarr fields, defaults, or required configuration values.

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: 'Create Radarr instance.' It is specific enough to distinguish from unrelated tools and from settings for Sonarr, but it does not explicitly address the close sibling create_settings_radarr_test or explain what a Radarr instance 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 about when to use this tool instead of alternatives such as create_settings_radarr_test for validating a connection or update_settings_radarr_by_radarr_id for modifying an existing instance. The only advisory content is to read the GET/schema endpoint before supplying the body, which is a pre-call instruction rather than usage selection guidance.

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

create_settings_radarr_testA
Idempotent

Test Radarr configuration.

POST /api/v1/settings/radarr/test

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 provide idempotentHint=true and destructiveHint=false, covering the safety profile. The description adds that this is a test operation and the endpoint, but does not explain what testing entails, such as whether it validates connectivity, sends external requests, or returns success/failure 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 short and front-loaded: a one-line purpose, the endpoint, and body guidance. There is no filler, and the pointer to the schema endpoint earns its place. It could be slightly more compact by merging the endpoint into the purpose sentence.

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 untyped-body test endpoint with an output schema and safety annotations, the description provides enough: purpose, endpoint, and a way to discover body fields. It does not enumerate failure or success behavior, but the output schema covers return shape.

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 object with additionalProperties=true. The description partially compensates by telling the agent to consult the matching GET or /schema endpoint for expected fields, but it gives no direct detail about what the body should contain.

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 concrete action ('Test') and a target ('Radarr configuration'), and includes the HTTP endpoint. It is distinguishable from sibling tools like create_settings_radarr by the word 'test', though it does not explicitly contrast itself with related test/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 Guidelines4/5

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

It gives actionable guidance: read the matching GET or /schema endpoint before constructing the body. It does not explicitly state when to prefer this over create_settings_radarr or the other *_test siblings, but the action name and resource make the intended usage reasonably clear.

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

create_settings_sonarrA
Idempotent

Create Sonarr instance.

POST /api/v1/settings/sonarr

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 provide idempotentHint=true and destructiveHint=false, so the safe, repeatable nature of this operation is covered. The description adds the HTTP method and the need to consult the GET/schema endpoint before sending a body, but it does not describe side effects, validation behavior, or what happens if a Sonarr instance already 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: action first, endpoint second, then a single Args line. Every sentence serves a purpose, 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 create endpoint with an opaque body, the description provides the essential discovery path: the endpoint, the body argument, and the instruction to consult GET/schema first. Given the output schema exists and annotations cover idempotency/safety, the missing operational details are not critical for 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?

The schema gives no field-level information for 'body' (0% coverage), so the description's directive to read the matching GET or /schema endpoint is a useful compensating hint. It does not, however, enumerate any actual body fields or expected structure, leaving the agent reliant on an external discovery step.

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 first sentence, 'Create Sonarr instance,' uses a specific verb and resource, and the endpoint 'POST /api/v1/settings/sonarr' reinforces exactly what is being created. It is distinguishable from siblings like create_settings_sonarr_test, though the description does not explicitly name or contrast 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 instruction to 'Read the matching GET or the /schema endpoint first' is valuable prerequisite guidance and implies the tool should not be called before understanding the body schema. However, the description gives no explicit when-to-use / when-not-to-use guidance or mention of related alternatives such as update_settings_sonarr_by_sonarr_id or create_settings_sonarr_test.

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

create_settings_sonarr_testA
Idempotent

Test Sonarr configuration.

POST /api/v1/settings/sonarr/test

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 cover idempotency and non-destructiveness, so the description's job is lighter. The word 'test' adds the validation behavior, but the description does not disclose possible external effects such as contacting the Sonarr server or failure-mode 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?

Four short lines, purpose first, no filler. The endpoint line and argument note are directly useful, and every sentence 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 one-body-parameter test endpoint, this is mostly sufficient: output schema exists, annotations cover safety, and the /schema pointer handles the dynamic body. It is not perfect because it does not explain the expected workflow (e.g., test before saving) or what 'test' actually validates, but those are secondary for 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 coverage is 0% and body is an opaque additionalProperties object. The description at least explains that body is the request payload and instructs the agent to read the matching GET or /schema endpoint to discover expected fields, which is useful but stops short of actual field semantics.

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 says 'Test Sonarr configuration', a specific action on a specific resource. It is immediately distinguishable from the sibling create_settings_sonarr (save vs test) and from create_settings_radarr_test because it explicitly names Sonarr.

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 never says when to call this test endpoint instead of create_settings_sonarr or the other *_test settings endpoints. The context is only implied by the name/verb; there are no exclusions, prerequisites, or alternative routing.

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

create_settings_tautulliA
Idempotent

Update Tautulli settings.

POST /api/v1/settings/tautulli

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

A4.1/5.0
Behavior3/5

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

Annotations already indicate this is non-read-only, non-destructive, and idempotent. The description adds that this is an HTTP POST with a request payload, but it does not describe side effects, authorization requirements, or how settings are merged/replaced. This is acceptable given annotation coverage 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 action, 'Update Tautulli settings'. The endpoint line is slightly redundant with the tool name but not wasteful, and the payload guidance is 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?

Given the open body schema and the existence of an output schema, the description's instruction to read GET or /schema closes the main knowledge gap for calling the tool correctly. It does not mention authentication or detailed effects, but the annotations and endpoint context supply enough for a competent 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 only defines a free-form body with additionalProperties true and no field descriptions, so the description carries the burden. It compensates by explaining that body is the request payload and by directing the agent to GET or /schema to discover expected fields. This is the necessary semantic for an open 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 states 'Update Tautulli settings', which names a specific verb and resource. It also includes the HTTP endpoint POST /api/v1/settings/tautulli, making it easy to distinguish from list_settings_tautulli and other create_settings_* 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?

It provides clear context: this tool updates Tautulli settings. It also instructs the agent to read the matching GET or /schema endpoint first, which is actionable guidance. It does not explicitly mention alternatives or when-not-to-use, 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.

create_userC
Idempotent

Create new user.

POST /api/v1/user

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 declare readOnlyHint=false and idempotentHint=true, so the agent knows this is a write operation that is idempotent. The description adds no further behavioral context such as authentication requirements, required fields, or side effects. It does not contradict annotations, but also does not enhance 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: it states the action in the first line, then provides the HTTP endpoint and a note about the body argument. There is no fluff. It could be slightly more structured (e.g., separating endpoint and args), but overall it 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?

The description leaves ambiguity about which exact GET endpoint to consult and does not specify the expected body structure beyond an external reference. Given the large number of sibling tools and the open-ended body schema, this could confuse an agent. It does not cover authentication or other prerequisites, and while an output schema exists, the input side is 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?

The schema has a single 'body' object with no property descriptions (coverage 0%). The description points the agent to 'the matching GET or the /schema endpoint' to discover fields, which provides a useful path but does not enumerate actual field names or types. This partially compensates for the empty schema but leaves the agent to do additional lookups.

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 clear action and resource: 'Create new user.' It is unambiguous and directly conveys a write operation. However, it does not explicitly differentiate itself from sibling create_user_* tools (e.g., create_user_import_from_plex), so it doesn't fully meet the bar for distinguishing among siblings.

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 advises reading the 'matching GET or the /schema endpoint' to understand the payload, which is about constructing the request, not about selection criteria. No exclusions or alternative tool names are mentioned.

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

create_user_by_user_id_settings_mainB
Idempotent

Update general settings for a user.

POST /api/v1/user/{userId}/settings/main

Args: user_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
bodyYes
user_idYes

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 convey that this is a mutating, idempotent, non-destructive operation, so the description does not need to restate those traits. It adds the HTTP method/path and the important caveat that the body schema must be discovered via GET/schema. 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.

Conciseness4/5

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

The description is compact and well-structured: purpose first, then endpoint, then args. It is easy to parse and contains no wasted sentences, though the Args section is somewhat redundant with the input 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?

Combined with annotations and the output schema, the description covers safety and return shape, and the GET/schema instruction addresses the opaque body. Missing elements are explicit routing among sibling settings tools and any mention of permissions or side effects beyond what annotations already provide.

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 user_id as a path parameter and body as the request payload, and directs the agent to the matching GET/schema endpoint to learn the expected fields. This is useful, though it leaves the actual body semantics external rather than enumerating them.

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 opening sentence 'Update general settings for a user' names a concrete action, resource, and scope, and the endpoint path reinforces the target. It is distinguishable from other per-user settings tools by 'general settings', though the generated name 'create_user_by_user_id_settings_main' conflicts with the described 'Update' action and no sibling is explicitly named.

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 this tool is for updating a user's general settings and gives the practical instruction to read the matching GET or /schema endpoint first. However, it does not explicitly state when to choose this over siblings like create_settings_main or other per-user settings tools, nor does it provide any 'do not use' conditions.

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

create_user_by_user_id_settings_notificationsA
Idempotent

Update notification settings for a user.

POST /api/v1/user/{userId}/settings/notifications

Args: user_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
bodyYes
user_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 convey that this is a non-read, non-destructive, idempotent operation. The description adds the POST route and the operational requirement to inspect the GET/schema endpoint first, but does not discuss merge versus replace behavior, permissions, or other side effects. This adds some value without 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.

Conciseness5/5

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

The description is short and well-ordered: one-line purpose, route, then args. There is no filler, and the added instruction about reading GET/schema earns its place by addressing the opaque body parameter.

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 tool with an open body, the description provides the path, arg roles, and a discovery mechanism for the payload fields; the output schema covers return expectations. It is slightly incomplete only in not addressing when to choose this over the many related notification-setting 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?

Schema description coverage is 0%, so the description must compensate. It clarifies that user_id is a path parameter and body is the request payload, and it tells the agent to consult the matching GET or /schema endpoint because the body is open (additionalProperties). This is practical and sufficient for invoking the tool, even though actual fields are not enumerated.

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?

Description opens with 'Update notification settings for a user', a specific verb and resource. The 'for a user' scope distinguishes it from the many global settings_notifications siblings, though it never names an alternative explicitly. The HTTP method and path reinforce what operation is being performed.

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 the create_settings_notifications_* or other user settings siblings. The only instruction is to read the matching GET or /schema endpoint before supplying the body, which is within-tool preparation rather than alternative selection.

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

create_user_by_user_id_settings_passwordA
Idempotent

Update password for a user.

POST /api/v1/user/{userId}/settings/password

Args: user_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
bodyYes
user_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 indicate this is a mutating (readOnlyHint=false), non-destructive, idempotent operation. The description adds that the operation updates a password and that the body schema must be discovered from the matching GET or /schema endpoint. It does not disclose side effects, auth requirements, or response behavior, but annotations cover the core 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.

Conciseness5/5

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

The description is concise and well-structured: a one-line purpose, the endpoint, and a short argument list. Every sentence serves a purpose, and there is no filler or redundant elaboration.

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 parameter and zero schema coverage, the description provides a viable discovery path by telling the agent to read the matching GET or /schema first. It is adequate for a simple password update but lacks explicit guidance on when-to-use, permissions, and the create/update naming inconsistency.

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 user_id is a path parameter and that body is a request payload, and it directs the agent to discover expected body fields via GET or /schema. However, it does not describe the actual body fields, leaving a required nested object unspecified.

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 password for a user.' The endpoint line reinforces the target. It does not explicitly distinguish itself from sibling settings tools like get_user_by_user_id_settings_password, but the update-vs-get verb makes the distinction inferable. The tool name's 'create_' prefix conflicts slightly with the description's 'update' wording, but the description itself 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 Guidelines3/5

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

Usage is implied: use this when updating a user's password. The description provides a useful prerequisite—'Read the matching GET or the /schema endpoint first'—but does not explicitly state when to prefer this tool over alternatives or mention any exclusions or auth requirements.

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

create_user_by_user_id_settings_permissionsB
Idempotent

Update permission settings for a user.

POST /api/v1/user/{userId}/settings/permissions

Args: user_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
bodyYes
user_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?

Annotations already indicate readOnly=false, idempotent=true, destructive=false, and the description does not add substantive behavioral detail such as whether permissions are replaced or merged, authorization requirements, or side effects. The only extra context is the instruction to fetch the schema/GET first, which is procedural 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.

Conciseness5/5

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

The description is compact and well organized: one-sentence purpose, endpoint, then categorized args. Every included sentence adds useful information, and the reference to the GET/schema endpoint is a necessary pointer for the opaque body.

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 endpoint, annotations, output schema, and the pointer to the GET/schema endpoint provide enough for a minimally viable call. It is not fully complete because it leaves the body semantics, permissions model, and update behavior to be discovered, and the create/update naming conflict adds uncertainty.

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, and it does partially: it identifies user_id as a path parameter and body as the request payload, and points to the matching GET/schema for field definitions. It does not enumerate the expected permission fields, so the agent still depends on an external lookup for the actual body 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?

The description states a specific action and resource ('Update permission settings for a user') and gives the exact endpoint, which distinguishes it from sibling settings tools like get_user_by_user_id_settings_permissions. However, the tool name starts with create_ while the description says Update, and the method is POST, leaving mild verb ambiguity.

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 advises reading 'the matching GET or the /schema endpoint first' before constructing the body, which is a useful precondition. It does not explicitly state when to choose this tool over the GET counterpart or other user-settings mutation tools, leaving the selection mostly implied by the purpose.

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

create_user_import_from_plexB
Idempotent

Import all users from Plex.

POST /api/v1/user/import-from-plex

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
Behavior3/5

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

Annotations already provide idempotent and non-destructive hints scan. The description adds that the operation imports all Plex usersand instructs the agent to consult the schema for payload shape. However, it does not disclose whether the import creates or updates users, whether Plex must already be configured, or any auth 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 compact and front-loaded with the primary purpose, followed by the endpoint and a necessary schema-discovery instruction. There is no 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?

Despite the output schema and annotations covering some aspects, the description lacks usage context, preconditions, and behavioral expectations. An agent still does not know when to choose this import over related Plex/user tools or what concrete side effects the import has.

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 is an open-ended body object. The description compensates by labeling body as the request payload and directing the agent to the matching GET or /schema endpoint for expected fields. This is workable but does not 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 a clear action ('Import all users from Plex') with a specific resource and source. It is distinguishable from the manual create_user and authentication-related Plex siblings, though it does not explicitly name exclusions.

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, nor any prerequisites or conditions. The only directive is to read the GET or /schema endpoint, which is about payload discovery, not tool selection.

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

create_user_register_push_subscriptionA
Idempotent

Register a web push /user/registerPushSubscription.

POST /api/v1/user/registerPushSubscription

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 readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the mutation safety profile is covered. The description adds a useful behavioral pointer: the body is complex enough that the agent must consult the GET or /schema endpoint first. It does not disclose additional runtime behavior such as whether an existing matching subscription gets replaced or what happens on duplicates.

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 short sentences with no filler. The endpoint is front-loaded, and the schema-lookup instruction is stated compactly. Every sentence contributes.

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 output schema exists, so return values need not be explained. The description provides a schema-reference path for the complex body, which is helpful, but it omits context such as which user the subscription is registered for, authentication expectations, and the relationship to the webpush notification settings endpoints. It is adequate for a simple register operation but not rich.

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 coverage and one generic 'body' object, the description must compensate. It does so by directing the agent to the matching GET or /schema endpoint for the expected fields, which is meaningful guidance. However, it gives no concrete parameter names, formats, or examples, so the agent still must perform a separate lookup before invoking the 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 states a specific verb ('Register') and resource ('web push') plus the exact endpoint, so an agent can tell this creates a push subscription rather than configuring webpush notification settings (siblings create_settings_notifications_webpush). However, it does not explicitly contrast with related sibling tools like get_user_by_user_id_push_subscriptions or delete_user_by_user_id_push_subscription_by_endpoint.

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 by saying 'Read the matching GET or the /schema endpoint first to see the fields this resource expects', which tells the agent to fetch a schema before calling. It does not state when to prefer this tool over alternatives, nor mention prerequisites like authentication context or which user the subscription applies to.

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

delete_issue_by_issue_idB
DestructiveIdempotent

Delete issue.

DELETE /api/v1/issue/{issueId}

Args: issue_id: Issue ID

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_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 destructiveHint=true and idempotentHint=true, and the 'Delete issue' text plus DELETE method aligns with them. The description adds no additional context such as whether the action is permanent, whether related data is affected, or whether special permissions are required, but it also 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 compact and front-loaded with the purpose and endpoint. It has no filler, though the Args line is redundant with the schema and could be omitted without losing meaning.

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 delete operation with annotations and an output schema, the core essentials are present: the action, endpoint, and required id. However, the absence of usage guidance and any behavioral depth beyond the annotations leaves it merely adequate rather than 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?

The only parameter is described as 'Args: issue_id: Issue ID,' which essentially repeats the schema's title 'Issue Id.' With schema description coverage at 0%, the description needed to compensate by adding format, example, or sourcing guidance, but it 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 opens with 'Delete issue,' naming the exact action and resource, and also provides the HTTP endpoint DELETE /api/v1/issue/{issueId}. This is unambiguous, though it does not explicitly distinguish itself from sibling tools like delete_issue_comment_by_comment_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 given on when to use this tool versus alternatives. The description does not mention when deletion is appropriate, what prerequisites exist, or how it relates to other issue-related tools. An agent receives no routing context among the many sibling tools.

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

delete_issue_comment_by_comment_idB
DestructiveIdempotent

Delete issue comment.

DELETE /api/v1/issueComment/{commentId}

Args: comment_id: Issue Comment ID

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYes

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?

The description adds no behavioral context beyond what the annotations already provide. It does not mention that deletion is permanent, whether it can be undone, or any permission requirements, despite being a destructive operation. The idempotentHint and destructiveHint annotations cover the safety profile, but the description itself contributes no further 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 compact and front-loaded: the purpose appears in the first sentence, followed by the endpoint and parameter list. Every line adds relevant information without filler or repetition. It is appropriately sized for a one-parameter delete tool.

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 one-parameter delete operation, the description together with the annotations and output schema is largely complete. The resource, HTTP method, parameter, and destructive nature are all represented. It lacks only optional context like auth requirements or side effects, but those are not critical given the existing annotations and simplicity of the 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?

The description documents the single parameter as "comment_id: Issue Comment ID," which provides a basic mapping from argument to meaning. However, this adds only marginal value over the schema's existing title "Comment Id" and does not explain expected format, source, or constraints. With schema_description_coverage at 0%, the description partially compensates but does not go beyond a restatement.

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 a direct, specific statement: "Delete issue comment." This clearly identifies the verb and resource, and the endpoint DELETE /api/v1/issueComment/{commentId} reinforces the action. It is easily distinguished from sibling tools like update_issue_comment_by_comment_id or delete_issue_by_issue_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 about when to use this tool versus alternatives. The description does not mention related operations such as updating an issue comment, nor any conditions, prerequisites, or exclusions. Usage must be inferred entirely from the tool name and the one-line action.

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

delete_media_by_media_idB
DestructiveIdempotent

Delete media item.

DELETE /api/v1/media/{mediaId}

Args: media_id: Media ID

ParametersJSON Schema
NameRequiredDescriptionDefault
media_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 description adds no behavioral details beyond the annotations, which already indicate destructive and idempotent behavior. It doesn't mention permanence, side effects, or authorization requirements. The endpoint is provided, but that's not behavioral. The description 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 very concise, using three short lines. It is front-loaded with the action and resource, and the parameter is listed. There is no unnecessary content or fluff, making it 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 simple single-parameter delete operation, the description is adequate but minimal. It lacks usage context, error handling, or return value explanation, though an output schema exists. Given the destructive nature, a note on permanence or consequences would improve completeness.

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, media_id, is described as 'Media ID' which is identical to the schema title and adds no semantic meaning. With 0% schema description coverage, the description fails to clarify what constitutes a valid media ID (e.g., UUID format, where to obtain it, or any constraints).

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 and resource: 'Delete media item.' It also includes the HTTP endpoint, which is specific and distinguishes it from other delete_* tools that target different resources (issues, requests, users, etc.). 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?

No guidance is given on when to use this tool versus other delete tools or under what conditions. It doesn't mention any prerequisites, scenarios, or exclusions. The agent must infer usage solely from the name and action.

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

delete_request_by_request_idC
DestructiveIdempotent

Delete request.

DELETE /api/v1/request/{requestId}

Args: request_id: Request ID

ParametersJSON Schema
NameRequiredDescriptionDefault
request_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 disclose that this is destructive and idempotent (readOnly=false, destructive=true). The description adds no behavioral context beyond the word 'Delete' and the HTTP route, such as permanence, cascading effects, authorization requirements, 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.

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. However, it contains redundancy: the Args list duplicates the schema and the endpoint repeats the operation, so not every line 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 low-complexity, one-parameter delete operation with robust annotations and an output schema. The description gives enough for an agent to know what resource is being acted on and what parameter to supply, though it lacks caveats about consequences or permissions.

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 should add real meaning, but 'request_id: Request ID' only repeats the schema title. The endpoint's {requestId} at least implies the parameter is a path value, but there is no format, example, or additional semantic explanation.

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 request') and gives the exact DELETE route, so an agent can identify the resource and action. It does not explicitly contrast with sibling tools like update_request_by_request_id or get_request_by_request_id, so it stops short of the highest 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 gives no guidance about when to use this tool, when not to use it, or what alternatives exist. It only restates the endpoint and argument, leaving the agent to infer 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.

delete_settings_discover_by_slider_idB
DestructiveIdempotent

Delete slider by ID.

DELETE /api/v1/settings/discover/{sliderId}

Args: slider_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
slider_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?

The annotations already declare destructiveHint=true and idempotentHint=true, so the description adds no behavioral context beyond those. It does not mention whether deletion is permanent, what effects it has on related settings, or what response is expected; it simply restates the delete action.

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

Conciseness4/5

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

The description is very short and front-loads the action and endpoint. The 'Args' line is somewhat redundant with the input schema, but the overall structure is clear and free of 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 a simple one-parameter delete operation with annotations and an output schema, the description is mostly adequate. However, it omits any statement about deletion consequences or when deletion is appropriate, which matters for a destructive operation.

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 only one required number parameter. The description does add that slider_id is a path parameter, which is useful for constructing the request, but it does not explain what the ID refers to or any constraints beyond the 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 states a specific verb and resource: 'Delete slider by ID.' It is immediately distinguishable from sibling tools like update_settings_discover_by_slider_id and create_settings_discover_add by the delete operation and 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?

There is no guidance on when to use this tool versus the update or create alternatives, nor any mention of prerequisites such as the slider needing to exist. The only usage signal is the tool name and the verb 'Delete,' which is implied rather than explicitly explained.

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

delete_settings_radarr_by_radarr_idB
DestructiveIdempotent

Delete Radarr instance.

DELETE /api/v1/settings/radarr/{radarrId}

Args: radarr_id: Radarr instance ID

ParametersJSON Schema
NameRequiredDescriptionDefault
radarr_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?

The annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=true. The description adds no behavioral context beyond repeating that it is a delete operation — it does not mention irreversibility, associated data impacted, or authentication/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.

Conciseness4/5

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

The description is compact and front-loaded, opening with the action before adding the endpoint and parameter. The REST path is slightly redundant with the first sentence, but the overall structure is efficient and scannable.

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, the description is minimally adequate: the annotations cover the destructive and idempotent behavior, and there is an output schema present. However, it lacks the surrounding operational context an agent needs — when deletion is appropriate, how to validate the ID, or what side effects may occur.

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 'Args: radarr_id: Radarr instance ID' line carries the full explanatory burden. It clarifies that the integer is the identifier of a configured Radarr instance, but it does not explain how to obtain it (e.g., from list_settings_radarr) or relate it to the {radarrId} path 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 opens with 'Delete Radarr instance.' — a specific verb and resource that immediately distinguishes this from delete_settings_sonarr_by_sonarr_id and other delete_* siblings. The REST path reinforces exactly what is being removed.

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 this tool should be used, what conditions must be met before deleting, or what alternatives exist. It does not mention that list_settings_radarr can be used to discover available IDs or that update_settings_radarr_by_radarr_id is the non-destructive alternative for modifying an instance.

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

delete_settings_sonarr_by_sonarr_idA
DestructiveIdempotent

Delete Sonarr instance.

DELETE /api/v1/settings/sonarr/{sonarrId}

Args: sonarr_id: Sonarr instance ID

ParametersJSON Schema
NameRequiredDescriptionDefault
sonarr_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?

The description explicitly says 'Delete Sonarr instance,' which aligns with the destructiveHint=true and idempotentHint=true annotations without contradicting them. However, it adds little beyond the annotations: it does not disclose whether deletion is permanent, whether related integrations are affected, or what the success/failure response contains. The endpoint line is useful but not behavioral context.

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

Conciseness5/5

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

The description is compact and well-structured: a one-line action, the endpoint, and the argument definition. Every line earns its place, and the most important information is front-loaded. 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 simple delete operation with one required parameter, the description is nearly complete. The destructive and idempotent behavior is covered by annotations, and an output schema exists so return values do not need to be described. Only a sentence about consequences or when deletion is appropriate would make it fully complete.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. The line 'sonarr_id: Sonarr instance ID' adds semantic meaning by identifying what the parameter refers to, beyond the schema title 'Sonarr Id.' It does not explain how to discover or validate a Sonarr instance ID, but for a single simple parameter this is adequate.

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 a clear verb and resource: 'Delete Sonarr instance.' This distinguishes the tool from siblings like update_settings_sonarr_by_sonarr_id, get_service_sonarr_by_sonarr_id, and list_settings_sonarr. The endpoint pattern reinforces the specific scope 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?

No guidance is given about when to use this tool versus alternatives, such as using update_settings_sonarr_by_sonarr_id to modify an existing Sonarr configuration. There is no mention of prerequisites, consequences, or conditions that should hold before deleting. The intended use is implied by the name and one-line description, but not explicitly stated.

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

delete_user_by_user_idA
DestructiveIdempotent

Delete user by ID.

DELETE /api/v1/user/{userId}

Args: user_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_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?

The annotations already declare destructiveHint=true and readOnlyHint=false, and the description's 'Delete' wording is consistent with those signals, so there is no contradiction. However, the description adds no additional behavioral context such as whether deletion is permanent, whether related data is removed, or what 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.

Conciseness5/5

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

The description is extremely compact and front-loaded: a one-sentence purpose, the endpoint, and a minimal args block. 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.

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 covering the destructive profile and an output schema present, this is minimally adequate. It states the action, endpoint, and parameter, but it leaves out useful operational caveats such as irreversibility, cascading effects, or authorization requirements.

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 only provides the parameter name, type, and required status. The description adds that user_id is a path parameter, which is useful for invocation, but it does not clarify the meaning or expected value of the ID beyond what the parameter name already implies.

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 opening sentence 'Delete user by ID' states a specific verb and resource, and the explicit endpoint DELETE /api/v1/user/{userId} reinforces the action. This clearly distinguishes the tool from sibling get/update/create user 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?

No guidance is given about when to use this tool versus alternatives like get_user_by_user_id, update_user_by_user_id, or list_user. There are no prerequisites, exclusions, or conditions, so the agent must infer the appropriate context from the operation name alone.

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

delete_user_by_user_id_push_subscription_by_endpointB
DestructiveIdempotent

Delete user push subscription by key.

DELETE /api/v1/user/{userId}/pushSubscription/{endpoint}

Args: user_id: Path parameter. endpoint: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
endpointYes

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 disclose that this is destructive and idempotent, so the description does not need to restate that. It adds only the HTTP method and path parameters, but no extra behavioral context such as side effects, error cases, or required permissions. This is acceptable but not enriched 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 no filler. The path and parameter list are structured clearly. However, the vague 'by key' phrase and lack of parameter elaboration prevent a perfect score.

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 two required scalar parameters, and the annotations plus output schema cover safety and return expectations. Still, the description omits meaningful context about the endpoint parameter, which is central to identifying the correct subscription, and does not clarify how the endpoint is used as a key.

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 parameter meaning. It only labels both parameters as path parameters, which adds location but not semantics: it does not explain what 'endpoint' means, what format it should take, or how it relates to the 'key' mentioned in the first sentence.

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 ('user push subscription'), and the HTTP path identifies the scope (user ID and endpoint). It distinguishes itself from the sibling GET tool by explicitly showing the DELETE method, though 'by key' is slightly ambiguous without reading the 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 such as create_user_register_push_subscription or get_user_by_user_id_push_subscription_by_endpoint. Usage is only implied by the word 'Delete' and the HTTP method; no exclusions or alternative conditions are stated.

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

get_collection_by_collection_idB
Read-onlyIdempotent

Get collection details.

GET /api/v1/collection/{collectionId}

Args: collection_id: Path parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo
collection_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 well covered. The description reinforces this with the 'GET' verb and reveals the endpoint path shape, but adds nothing beyond that — no mention of auth requirements, error behavior, or response nuances, though an output schema does 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 — five short lines with the core statement 'Get collection details' front-loaded and the endpoint shown before the Args block. The Args section partially restates schema content but earns its place by adding path/query placement that the schema omits.

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 read tool with rich annotations and an output schema, the description is mostly adequate: purpose, endpoint, and parameter roles are all present. The notable gaps are domain context (what a collection is) and language value semantics, which prevent it from being fully self-sufficient 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?

With 0% schema description coverage, the description carries the burden, and it does add real value by explicitly marking collection_id as a path parameter and language as a query parameter — placement information the schema alone cannot convey. However, it stops short of explaining what language values look like (e.g., ISO codes) or what effect the language parameter has, leaving the agent guessing at acceptable formats.

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 ('Get') and resource ('collection details'), and the endpoint GET /api/v1/collection/{collectionId} clearly scopes it to fetching a single collection by ID, distinguishing it from sibling getters like get_movie_by_movie_id or get_tv_by_tv_id. However, 'details' is vague — it does not explain what a collection is in this domain or what fields are returned, which stops it 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?

The description provides no guidance on when to call this endpoint versus alternatives — no mention of prerequisites (e.g., needing a collection ID from a search or list call), no exclusions, and no reference to sibling tools. An agent must infer when this tool is appropriate purely 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_discover_keyword_by_keyword_id_moviesB
Read-onlyIdempotent

Get movies from keyword.

GET /api/v1/discover/keyword/{keywordId}/movies

Args: keyword_id: Path parameter. page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
languageNo
keyword_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 establish read-only, idempotent, non-destructive behavior, so the description's safety burden is light. The description adds the HTTP method and endpoint, plus which parameters are path vs query, but it does not disclose additional behavior such as pagination semantics or default language handling. 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 compact and front-loaded with the core purpose, followed by a clear endpoint and parameter list. There is no redundant prose, though the brevity comes at the cost of semantic completeness.

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-only endpoint with an output schema and safety annotations, the description is serviceable but not complete. It omits how to obtain a valid keyword ID, acceptable language values, page behavior, and any note that page/language are optional, leaving an agent to guess or inspect 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 needed to compensate, but it only labels each parameter as 'Path parameter' or 'Query parameter.' It does not explain what page represents, how language should be formatted, or the meaning of keyword_id beyond its name and location.

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 operation: 'Get movies from keyword,' with the resource being movies and the scope being a keyword. This is enough to distinguish it from sibling tools like get_keyword_by_keyword_id (returns keyword details) and genre/language/studio discovery variants, though it does not explicitly say 'associated with a keyword.'

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 by the endpoint and path parameter: use this when you have a keyword ID and want its movies. However, the description gives no explicit when-to-use guidance, no mention of alternatives for keyword lookup, and no indication of how to discover valid keyword IDs.

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

get_discover_movies_genre_by_genre_idB
Read-onlyIdempotent

Discover movies by genre.

GET /api/v1/discover/movies/genre/{genreId}

Args: genre_id: Path parameter. page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
genre_idYes
languageNo

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=false, so the safe read-only nature is covered. The description adds the HTTP method GET and distinguishes path vs query parameters, but provides no additional behavioral context such as pagination behavior, language handling, or response characteristics beyond the existing output schema.

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: a one-line purpose, the exact endpoint, and a clean parameter list. No 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?

Given the simple GET operation, existing annotations, and an output schema, the description covers the essentials. However, it omits usage guidance and meaningful parameter explanations, leaving the agent to infer when to use this tool and what valid values for page/language look like.

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 classifies genre_id, page, and language as path or query parameters without explaining valid values, defaults, or how page/language affect results. This adds minimal meaning beyond the schema's type and title information.

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 a specific verb and resource: 'Discover movies by genre.' The endpoint 'GET /api/v1/discover/movies/genre/{genreId}' reinforces the exact operation and, combined with the name, clearly distinguishes it from siblings like get_discover_tv_genre_by_genre_id or get_discover_movies_language_by_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?

The description only states what the tool does and lists parameters; it gives no explicit guidance on when to choose it over alternatives such as list_discover_movies or get_discover_movies_studio_by_studio_id. No when-not-to-use or 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.

get_discover_movies_language_by_languageC
Read-onlyIdempotent

Discover movies by original language.

GET /api/v1/discover/movies/language/{language}

Args: language: Path parameter. page: Query parameter. language_query: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
languageYes
language_queryNo

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, so safety behavior is covered. However, the description adds no behavioral context beyond that, such as pagination behavior, query parameter semantics, or expected output 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 brief and structured with a route and an Args list, making the parameter locations clear at a glance. It contains no substantial fluff, though the route and the Args list do overlap somewhat in intent.

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 3 parameters, no schema descriptions, and no usage guidance, the description leaves significant gaps around how to call the tool correctly. The output schema and annotations exist, but they do not explain the semantics of the discover endpoint or the language_query parameter, so the description is not complete enough.

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 restates parameter names and their path/query positions without explaining what 'language' versus 'language_query' actually means. For example, it does not say whether language_query filters the list or controls result display language, nor does it give allowed formats or defaults.

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 core action and resource clearly: 'Discover movies by original language.' It includes the exact route, making the intent and resource unambiguous. Combined with the sibling names, an agent can tell this is the movie-language discover endpoint, distinct from genre/studio/TV discover 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?

No when-to-use, when-not-to-use, or alternative tool guidance is provided. The description only states the purpose and parameter location, leaving the agent to infer when this should be selected instead of list_discover_movies, get_discover_movies_genre_by_genre_id, or get_discover_tv_language_by_language.

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

get_discover_movies_studio_by_studio_idB
Read-onlyIdempotent

Discover movies by studio.

GET /api/v1/discover/movies/studio/{studioId}

Args: studio_id: Path parameter. page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
languageNo
studio_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=true, destructiveHint=false, and idempotentHint=true, covering the main safety traits. The description adds the HTTP method and path, which is useful but not behavioral detail like pagination or response shape. It doesn't contradict annotations, and adds 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.

Conciseness4/5

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

The description is very short: a purpose sentence, the endpoint, and a terse arg list. It's efficient and front-loaded, with no fluff. However, the arg list is a bit unstructured, but overall it's appropriately concise.

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 (3 params, 1 required) and the presence of an output schema, the description doesn't need to detail return values. However, it lacks any context about expected behavior (e.g., that it returns a list), pagination defaults, or any prerequisites. It's adequate for a basic GET but leaves some 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 only labels parameters as 'path' or 'query' without explaining their meaning, valid formats (e.g., language code), or how to obtain studio_id. This adds little beyond the schema's own property names and types.

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 'Discover movies by studio' which clearly identifies the action (discover), the resource (movies), and the filter (by studio). It also provides the endpoint. This is clear and distinct from siblings like get_studio_by_studio_id, though it doesn't explicitly mention 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 given on when to use this tool versus other discover endpoints (e.g., by genre, keyword). The purpose is implied by the name, but the description doesn't mention alternatives or selection criteria, so an agent gets no explicit usage direction.

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

get_discover_tv_genre_by_genre_idB
Read-onlyIdempotent

Discover TV shows by genre.

GET /api/v1/discover/tv/genre/{genreId}

Args: genre_id: Path parameter. page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
genre_idYes
languageNo

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, so safety behavior is covered. The description adds that results are TV shows filtered by genre via a GET endpoint, but it does not disclose additional behavioral details such as pagination behavior or response shape. No contradiction with 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.

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 Args section is redundant with the schema but compact and adds parameter-location context, so there is minimal 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 simple read-only discovery endpoint with annotations and an output schema, the description is minimally adequate. It names all parameters and the endpoint, but it omits important context such as how genre_id values are sourced and what language format is expected, leaving some ambiguity for an agent.

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 labels genre_id, page, and language as path or query parameters, which the schema does not state, but it fails to explain what values are valid, such as the format expected for genre_id or language.

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 and resource: 'Discover TV shows by genre.' The endpoint path further clarifies that this is the TV genre discovery endpoint, distinguishing it from siblings like get_discover_movies_genre_by_genre_id and the TV language/network discovery 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 choose this tool over alternatives. It does not mention that list_discover_tv or get_discover_tv_language_by_language should be used for other discovery contexts, nor does it mention how to obtain a valid genre_id.

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

get_discover_tv_language_by_languageC
Read-onlyIdempotent

Discover TV shows by original language.

GET /api/v1/discover/tv/language/{language}

Args: language: Path parameter. page: Query parameter. language_query: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
languageYes
language_queryNo

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 adds only the HTTP method and path, which is technical, not behavioral. It does not disclose pagination behavior, rate limits, or any quirks about the language parameter (e.g., accepted formats). No additional behavioral context 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.

Conciseness2/5

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

The description is short, but the first sentence is the only substantive content. The 'Args:' section merely repeats parameter names and types already present in the input schema, adding no value. This is wasted space that does not 'earn its place.' The structure front-loads the purpose, but the redundant parameter listing undermines conciseness by diluting the description with low-value 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?

With three parameters, zero schema description coverage, and only an output schema (which handles return structure), the description must explain the inputs and usage context. It does not. The meaning of 'language_query' is ambiguous, pagination behavior is unaddressed, and there is no guidance on how to construct a valid request. The description is insufficient for an agent to correctly invoke the tool without additional assumptions.

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 the parameters. It merely lists them: 'language: Path parameter. page: Query parameter. language_query: Query parameter.' This adds no semantic meaning beyond the schema. It does not explain what language_query does, whether page is 0-indexed, or how language is formatted (e.g., ISO 639-1). The description fails to bridge the gap left by 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 'Discover TV shows by original language', which clearly identifies the verb (discover), the resource (TV shows), and the filter (original language). It differentiates from siblings like get_discover_tv_genre_by_genre_id or get_discover_movies_language_by_language. However, it does not clarify whether 'language' refers to an ISO code, name, or other identifier, and it does not mention what the response contains. Still, the core purpose is clear and non-tautological.

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 it is for TV-only discovery, that it filters by original language, or that movie equivalent exists. There is no mention of when to prefer this over get_discover_movies_language_by_language or other discover tools. The user 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_discover_tv_network_by_network_idB
Read-onlyIdempotent

Discover TV shows by network.

GET /api/v1/discover/tv/network/{networkId}

Args: network_id: Path parameter. page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
languageNo
network_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?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds no behavioral context beyond the HTTP method and parameter locations—no mention of pagination behavior, language handling, or response characteristics. 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 brief and organized: a one-line purpose, the endpoint URL, and a simple args list. No filler text. The args list is somewhat redundant with the schema but is still clear.

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 discovery endpoint with three parameters and an output schema, the description covers the basic calling contract. It lacks a note on when to use it relative to sibling discovery tools and gives no extra detail about optional parameters, but the output schema exists to fill return-value 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 needed to compensate. It only restates parameter names and identifies path vs query parameters, but the endpoint already shows {networkId} in the path, and page/language are self-explanatory names with no added semantics, formats, or behavior.

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 clear action ('Discover TV shows') and the resource modifier ('by network'), with the endpoint path confirming the resource. This distinguishes it from sibling discovery tools like get_discover_tv_genre_by_genre_id or get_discover_tv_language_by_language.

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 no explicit guidance on when to use this tool versus alternatives; the only clue is the descriptive name and purpose line, which implies use when TV shows for a specific network are needed. Sibling alternatives such as get_network_by_network_id are not mentioned.

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

get_issue_by_issue_idC
Read-onlyIdempotent

Get issue.

GET /api/v1/issue/{issueId}

Args: issue_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_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 indicate a safe, idempotent read operation. The description adds only the HTTP method and path, which is not behavioral beyond what annotations imply. No additional context about return format, error handling, or side effects 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.

Conciseness3/5

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

The description is very brief, which is good for conciseness, but it lacks structure and depth. It provides the endpoint and argument but does not front-load useful information beyond the bare minimum.

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 the tool has an output schema and annotations, the description is still incomplete. It doesn't explain what an issue is, what the response contains, or any error conditions. For a simple get-by-id, more context is needed to guide an agent.

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 should compensate. It only states 'issue_id: Path parameter', which clarifies placement but adds no semantic meaning about the ID's purpose or constraints. The schema already defines it as a required number.

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 'Get issue' and the HTTP endpoint, making it clear the tool retrieves a single issue by ID. It does not explicitly differentiate from list_issue (which lists issues), but the name and endpoint convey the core purpose adequately.

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 when to use this tool versus alternatives like list_issue, nor does it state prerequisites or context for use.

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

get_issue_comment_by_comment_idB
Read-onlyIdempotent

Get issue comment.

GET /api/v1/issueComment/{commentId}

Args: comment_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYes

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 false, so the safety profile is covered. The description adds only the HTTP method and path, which is not behavioral context. It does not disclose what the response contains, potential errors, or any other behavior beyond what the 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 exceptionally concise, containing only the essential information: the action, the endpoint, and the parameter. There is no redundant fluff, and the structure (action, URL, args) is immediately scannable. 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 a simple get-by-ID tool with an output schema present, the description is mostly adequate. It covers the action and the parameter, and the annotations handle safety. However, it lacks any note about return value structure, error conditions, or permissions. Given the simplicity, it is sufficient but not thorough.

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 clarifies that comment_id is a 'Path parameter', which adds a small semantic detail not present in the input schema (which only has a title). However, it does not explain the meaning, format, or purpose of the comment_id beyond being an identifier. Since the schema coverage is 0% and there is only one parameter, this minimal clarification earns a middle score.

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 'Get issue comment' which clearly identifies a read operation on a specific resource. The tool name and the included endpoint (GET /api/v1/issueComment/{commentId}) make it unambiguous that it fetches a single comment by ID, distinguishing it from get_issue_by_issue_id and other related tools. However, it is terse and could explicitly say 'by comment ID' for extra clarity.

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 dedicated read operation for a specific comment, nor does it reference any conditions, exclusions, or sibling tools. An agent is left to 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.

get_keyword_by_keyword_idC
Read-onlyIdempotent

Get keyword.

GET /api/v1/keyword/{keywordId}

Args: keyword_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyword_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, covering the safety profile. The description adds only the HTTP method and path, which is not a behavioral trait beyond what annotations provide. It does not disclose return format, error behavior, or any other operational details.

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

Conciseness4/5

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

The description is very short and front-loaded, with no wasted words. It states the action, endpoint, and parameter clearly in two lines. While under-specified in content, it is efficiently structured and every sentence 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?

The tool is simple with one parameter, an output schema exists, and annotations cover safety, so the description does not need to explain return values. However, it is missing any context about what a keyword is or when to use this over sibling tools, leaving some ambiguity for an agent unfamiliar with the domain.

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 only restates that keyword_id is a path parameter, which is already in the schema. No additional semantics about format, constraints, or meaning are provided, adding zero value beyond 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+resource ('Get keyword') and includes the exact endpoint (GET /api/v1/keyword/{keywordId}), which is specific and distinguishes it from sibling search tools like list_search_keyword. It is not a tautology because it adds the HTTP method and path, though it does not explicitly differentiate from similar get_* 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?

No guidance is provided on when to use this tool versus alternatives. There is no mention that this fetches a keyword by ID as opposed to searching for keywords (list_search_keyword) or fetching movies for a keyword (get_discover_keyword_by_keyword_id_movies). The description lacks any usage 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_media_by_media_id_watch_dataD
Read-onlyIdempotent

Get watch data.

GET /api/v1/media/{mediaId}/watch_data

Args: media_id: Media ID

ParametersJSON Schema
NameRequiredDescriptionDefault
media_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 readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no behavioral details—no mention of return format, errors, or any side effects beyond what annotations imply. With the low bar for annotation coverage, it fails to add extra context.

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 concise and free of fluff, but it's under-specified and not well-structured. The URL and args are presented clearly, but the core explanation is minimal.

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, so return values need not be described, but the description fails to explain what watch data represents, the distinction from similar tools, or any conditions. For a simple GET operation, it's incomplete for an agent to understand its purpose fully.

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 repeats 'media_id: Media ID' which essentially matches the schema's title and type. With 0% schema description coverage, it should compensate but doesn't explain the semantics or format of media_id beyond the 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?

The description states 'Get watch data' which is a verb+resource, but it's vague—'watch data' is undefined and doesn't distinguish from the sibling get_user_by_user_id_watch_data. The URL pattern adds little clarity. It's not a tautology, but it 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 given on when to use this tool versus alternatives like get_user_by_user_id_watch_data. The description provides no context for selection.

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

get_movie_by_movie_idB
Read-onlyIdempotent

Get movie details.

GET /api/v1/movie/{movieId}

Args: movie_id: Path parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo
movie_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=true and idempotentHint=true, so the safety profile is covered. The description adds the HTTP method and endpoint structure, which is useful, but does not disclose other behavioral details such as localization behavior or how the language parameter affects 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.

Conciseness4/5

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

The description is short and front-loaded with the core statement. The endpoint line and parameter labels are compact, though the Args section adds little beyond the 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 simple read-only GET with an output schema and safety annotations, the description is mostly adequate. The main gap is the lack of semantic detail for the language parameter, which an agent would need to use it correctly. Otherwise, the endpoint and required parameter are clear.

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 responsibility for explaining parameters. It only labels movie_id as a path parameter and language as a query parameter, which repeats location rather than meaning. It does not explain what values language accepts or what movie_id represents beyond being a path 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 and resource: 'Get movie details.' It is unambiguous about the operation. However, it does not explicitly distinguish itself from sibling tools like get_movie_by_movie_id_ratings or get_movie_by_movie_id_similar, so differentiation relies on 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?

No guidance is provided about when to use this tool versus alternatives. There is no mention of when to use the base movie details endpoint instead of the ratings, recommendations, or similar endpoints.

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

get_movie_by_movie_id_ratingsA
Read-onlyIdempotent

Get movie ratings.

GET /api/v1/movie/{movieId}/ratings

Args: movie_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
movie_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 and idempotentHint=true, covering safety. The description adds the HTTP GET method and path structure, which is mild additional context but not substantial behavioral disclosure 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 concise, with the key information (method, path, parameter) front-loaded. No wasted words or repetitive 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 tool is a simple read operation with a single parameter and output schema exists, the description is mostly complete. However, it could clarify the ID type (TMDB vs internal) and note the difference from combined ratings. Since output schema exists, return format is covered.

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 restates that movie_id is a path parameter, adding minimal semantic meaning. It doesn't explain that movie_id typically refers to a TMDB ID or provide format or type details beyond the 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 tool retrieves movie ratings, using a specific verb and resource. It distinguishes from siblings like get_movie_by_movie_id and get_movie_by_movie_id_ratingscombined by specifying this is for ratings only.

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 HTTP method and path, implying usage context but no explicit when-to-use guidance or alternatives. It doesn't mention that get_movie_by_movie_id_ratingscombined might be a more comprehensive alternative for combined ratings.

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

get_movie_by_movie_id_ratingscombinedB
Read-onlyIdempotent

Get RT and IMDB movie ratings combined.

GET /api/v1/movie/{movieId}/ratingscombined

Args: movie_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
movie_idYes

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, covering the safety profile. The description adds minimal behavioral context beyond the core function—it does not mention auth, rate limits, or response details. The description 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 concise and front-loaded with the main action. The 'Args' line is slightly redundant given the schema, but the overall structure is clean and free of fluff.

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 endpoint with a single parameter and an output schema (signal indicates presence), the description adequately states the purpose and output scope. Missing usage guidelines and parameter nuances are minor given the tool's simplicity.

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 restates 'movie_id: Path parameter,' which adds no meaning beyond the parameter name and type already present in the schema. No explanation of what the movie_id represents or constraints beyond it being required.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'RT and IMDB movie ratings combined.' It explicitly mentions the two rating sources, which distinguishes it from sibling get_movie_by_movie_id_ratings. The purpose is unambiguous and specific.

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_movie_by_movie_id_ratings or other movie endpoints. The description only states what it does without indicating usage scenarios or exclusions.

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

get_movie_by_movie_id_recommendationsB
Read-onlyIdempotent

Get recommended movies.

GET /api/v1/movie/{movieId}/recommendations

Args: movie_id: Path parameter. page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
languageNo
movie_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, covering the safety profile. The description adds the HTTP GET method and path, which is useful but not substantial. It doesn't describe pagination behavior, default page, or response format 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 concise and well-structured, using a clear format for the endpoint and args. It front-loads the purpose and avoids unnecessary verbosity, though it could add more detail without becoming bloated.

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 read-only tool with an output schema present, the description covers the essential request details but omits critical behavioral context like pagination defaults, language code format, or how recommendations are derived. It's adequate for a simple call but leaves an agent without full clarity on expected parameters and 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. It lists the three parameters (movie_id, page, language) and their roles as path or query, but provides no additional semantics—no explanation of what page controls, what language format is expected, or any constraints. This is minimal added value beyond the schema's property 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 states the tool gets recommended movies, which is a specific verb and resource. It clearly relates to movie recommendations, distinguishing it from similar tools like get_movie_by_movie_id_similar and get_tv_by_tv_id_recommendations, though it doesn't explicitly name them. 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?

No guidance is provided on when to use this tool versus alternatives. There's no mention of conditions, exclusions, or comparison to sibling tools like get_movie_by_movie_id_similar. The context of when to use recommendations is only implicit in the name and description.

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

get_movie_by_movie_id_similarC
Read-onlyIdempotent

Get similar movies.

GET /api/v1/movie/{movieId}/similar

Args: movie_id: Path parameter. page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
languageNo
movie_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 fully cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the bar is lower here. However, the description adds almost nothing beyond the endpoint URL and parameter labels that restate the schema. No behavioral context is provided about pagination behavior, language code format, response size, or what criteria drive the 'similar' selection.

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: the purpose appears in the first sentence, followed only by the endpoint and a minimal Args list. No wasted prose. It loses a point because the Args block largely restates what the input schema already provides in structured form.

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 output schema covers return-value structure and annotations cover safety, so those gaps are filled. But the tool lacks any sibling-routing guidance despite having a near-twin in get_movie_by_movie_id_recommendations, and the language parameter's accepted format is undefined. For a tool with two very similar siblings, this is a meaningful completeness 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 compensate for the missing parameter documentation. The Args section does add the path-versus-query distinction, which the schema does not convey, but it fails to define value semantics: what language format is expected ('en-US' vs 'en'), whether page is 1-indexed, or what movie_id refers to beyond being a path parameter. It labels parameters without explaining them.

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 one-line summary 'Get similar movies' states a clear verb and resource, and the sibling names (get_movie_by_movie_id, get_movie_by_movie_id_ratings, get_movie_by_movie_id_recommendations) make it distinguishable at a glance for the most part. It loses a point because 'similar' is never defined relative to the nearly-identical 'recommendations' endpoint, leaving ambiguity about what each 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 given on when to use this tool versus alternatives. The closest sibling, get_movie_by_movie_id_recommendations, is never mentioned, and no conditions, exclusions, or selection criteria are provided. An agent must guess which of the two near-identical endpoints returns the desired result set.

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

get_network_by_network_idB
Read-onlyIdempotent

Get TV network details.

GET /api/v1/network/{networkId}

Args: network_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
network_idYes

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=false, so the safety profile is well covered. The description adds the GET route and confirms network_id is a path parameter, but it does not disclose any non-obvious behavior; for a simple fetch 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.

Conciseness5/5

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

Every line earns its place: purpose, endpoint, and argument. There is no filler or redundant restatement of the 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?

For a one-parameter GET with an output schema and rich annotations, the description covers the essential details. The only notable omission is sibling differentiation, but that is more a usage-guidelines gap than a completeness 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?

With schema description coverage at 0%, the description helps by stating that network_id is a path parameter. It does not explain what kind of ID this is or any constraints beyond the schema's number type, but the parameter name and tool context make a single required ID reasonably self-explanatory.

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 'Get TV network details' with a specific verb and resource, and it includes the concrete GET endpoint. However, it does not differentiate itself from the sibling get_discover_tv_network_by_network_id, which appears to target the same entity.

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 get_discover_tv_network_by_network_id or other discovery endpoints. The intended use must be inferred from the name and description rather than explicitly stated.

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

get_person_by_person_idB
Read-onlyIdempotent

Get person details.

GET /api/v1/person/{personId}

Args: person_id: Path parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo
person_idYes

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?

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe read-only nature is covered. The description adds the GET endpoint and parameter roles but discloses little else; 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 compact and front-loaded with the main purpose, followed by the endpoint and parameter roles. Every line earns its place, with no unnecessary prose.

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 ID-based read operation, the description together with annotations and the available output schema provides enough to invoke it safely. The main gaps are the lack of language-parameter semantics and any guidance on choosing between person-related endpoints.

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 labels person_id as a path parameter and language as a query parameter, which adds meaning beyond the bare schema properties. However, it does not explain what language controls or what values are acceptable, leaving the parameter semantics only partially clarified 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.

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: 'Get person details.' It also gives the concrete GET endpoint, so an agent knows what resource is being fetched. It does not explicitly differentiate itself from the sibling get_person_by_person_id_combined_credits, though the resource scope is inferable.

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 related person tools such as get_person_by_person_id_combined_credits. There are no exclusions, prerequisites, or context clues about when this lookup is the right choice.

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

get_person_by_person_id_combined_creditsB
Read-onlyIdempotent

Get combined credits.

GET /api/v1/person/{personId}/combined_credits

Args: person_id: Path parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo
person_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, so the safety profile is well covered. The description adds the HTTP method GET and parameter placement, but no further behavioral context such as response behavior or language handling.

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 action, and free of filler. The Args section is somewhat redundant with the schema but usefully clarifies path versus query placement.

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?

Annotations and output schema cover safety and return shape, and the simple parameter set is mostly invokable from the endpoint alone. However, the description omits the meaning of 'combined credits' and any usage differentiation from sibling tools, leaving minor but real 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 needed to compensate. It only labels person_id as a path parameter and language as a query parameter; it does not explain valid values, expected language code format, or what the parameters mean semantically.

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 ('Get combined credits') and includes the precise endpoint, making it clear that this tool retrieves a person's combined credits resource. It is distinguishable from sibling get_person_by_person_id by the '/combined_credits' path, though it does not explicitly define what 'combined credits' includes.

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_person_by_person_id or list_search. The description only lists the endpoint and parameter locations, with no when-to-use, prerequisites, or exclusions.

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

get_request_by_request_idB
Read-onlyIdempotent

Get MediaRequest.

GET /api/v1/request/{requestId}

Args: request_id: Request ID

ParametersJSON Schema
NameRequiredDescriptionDefault
request_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=true, idempotentHint=true, and destructiveHint=false, and the 'Get' wording is fully consistent with them — no contradiction. The description adds the HTTP method/path but no deeper behavior like error responses for unknown IDs or auth expectations, which the annotations' safety profile partially mitigates.

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, and the endpoint line carries genuine routing information. The Args block is redundant with the input schema, but it is only two lines and does not meaningfully bloat the 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?

For a one-parameter, read-only, idempotent GET with an output schema, the definition is mostly adequate: pass a request_id and receive a MediaRequest. It is incomplete in connective guidance — it does not say IDs can be obtained from list_request or clarify what the returned MediaRequest contains beyond what the output schema already documents.

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 must compensate, but 'Args: request_id: Request ID' merely echoes the schema's title and type. It adds no format expectations, provenance (e.g., obtainable from list_request), or example values. The only marginal addition is the {requestId} placeholder in the endpoint implying a path 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 states a specific verb and resource ('Get MediaRequest') and the endpoint 'GET /api/v1/request/{requestId}' makes the single-resource-by-ID semantics explicit. It falls short of a 5 because it never explicitly contrasts itself with the collection-level sibling list_request or the mutating update/delete request variants, leaving differentiation to the name alone.

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 list_request for fetching all requests, no note on where request_id comes from, and no exclusion such as 'for mutations use update_request_by_request_id.' Usage context must be entirely inferred 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.

get_service_radarr_by_radarr_idB
Read-onlyIdempotent

Get Radarr server quality profiles and root folders.

GET /api/v1/service/radarr/{radarrId}

Args: radarr_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
radarr_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=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the call returns both quality profiles and root folders, which is useful output context, but it does not mention error behavior, auth needs, or what happens for an unknown radarr_id.

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 main purpose, and avoids prose. The URL and Args lines are slightly redundant with the schema and path but add the path-parameter detail without 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 one-parameter GET with an output schema and read-only annotations, the description is close to sufficient. The notable gap is the confusing sibling get_settings_radarr_by_radarr_id_profiles, which also concerns Radarr profiles; the description does not clarify when each should be used, so an agent may select the wrong 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?

With 0% schema description coverage, the description needed to fully explain radarr_id, but it only says 'Path parameter,' which mostly restates the URL template. It does not say where the ID comes from, how to resolve it, or what valid values look like, leaving the schema title 'Radarr Id' to carry the meaning.

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 first sentence names a specific verb ('Get'), resource ('Radarr server'), and concrete returned data ('quality profiles and root folders'), so an agent can tell what the tool does. It does not explicitly distinguish itself from the similarly named sibling get_settings_radarr_by_radarr_id_profiles, which keeps it from a 5.

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

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 choose this tool over get_settings_radarr_by_radarr_id_profiles, list_service_radarr, or other Radarr endpoints. There is no mention of prerequisites, such as needing an existing Radarr server ID, or exclusions. The only usage signal is the purpose statement itself.

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

get_service_sonarr_by_sonarr_idA
Read-onlyIdempotent

Get Sonarr server quality profiles and root folders.

GET /api/v1/service/sonarr/{sonarrId}

Args: sonarr_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
sonarr_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, destructiveHint=false, covering the safety profile. The description adds that it returns quality profiles and root folders, which is behavioral context about the return content. However, it does not disclose anything about authentication, rate limits, or error behavior, but given the annotations cover the main traits, 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 highly concise: one sentence stating the action and a line for the endpoint and parameter. The key information is front-loaded. It wastes no words, though it could be slightly more structured with separate sections for behavior and parameter. Still, it is appropriately sized for a simple tool.

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 only one parameter, an output schema exists, and annotations cover safety, the description is largely complete. It states the return content (quality profiles and root folders) and the parameter's role (path parameter). There is no need to describe return values because the output schema handles that. It could mention prerequisites or typical use cases, but for a GET operation, it is sufficient.

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 only the type (number) and title, with no description (0% schema coverage). The description adds 'Path parameter', which clarifies the parameter's role but not its semantic meaning. The name 'sonarr_id' implies it is the ID of the Sonarr server, but the description does not elaborate on how to obtain it or valid values. This is minimal compensation for the schema gap, so a 3 is fair.

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

Purpose5/5

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

The description clearly states the tool 'Get Sonarr server quality profiles and root folders', a specific verb and resource. It distinguishes from siblings like list_service_sonarr (which lists all) and get_service_sonarr_lookup_by_tmdb_id (which searches by TMDB ID), making its purpose 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. It does not mention that this tool is for a specific Sonarr server's profiles/root folders, nor does it suggest when to use list_service_sonarr or lookup instead. The user must infer the usage context from the endpoint path.

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

get_service_sonarr_lookup_by_tmdb_idC
Read-onlyIdempotent

Get series from Sonarr.

GET /api/v1/service/sonarr/lookup/{tmdbId}

Args: tmdb_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
tmdb_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 no behavioral context beyond the HTTP path and a redundant parameter note. It does not disclose what happens on not-found, whether a Sonarr service must be configured, or any rate limits. With annotations present, the description should add context but fails to do so.

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 but not optimally structured. The first sentence is useful, but the second sentence repeating the parameter as a path parameter adds no value since the schema already covers it. Every sentence should earn its place; this one does not. It could be improved by removing the redundant 'Args' line and adding a brief note on return 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?

The tool is simple (one parameter) and has an output schema, so the return type is documented elsewhere. However, the description omits preconditions (e.g., Sonarr must be configured) and behavior when the TMDB ID is not found (e.g., returns empty list or error). For a lookup tool, this is a meaningful gap that could lead an agent to make incorrect assumptions.

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 for parameter meaning. However, it merely states 'tmdb_id: Path parameter,' which is redundant with the schema (already defines type number and required). It adds no explanation of what a TMDB ID is, its format, or how to obtain it. The parameter is trivial, but the description provides zero additional value.

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: 'Get series from Sonarr.' This clearly differentiates it from sibling tools like get_service_sonarr_by_sonarr_id (which fetches by Sonarr ID) and get_tv_by_tv_id (which likely fetches by TVDB/TMDB without Sonarr context). The tool name and description together make the purpose unambiguous.

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

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 does not mention use cases, prerequisites, or exclusions. An agent must infer from the name that it is for looking up a series by TMDB ID in Sonarr, but there is no explicit routing or when-not-to-use advice.

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

get_settings_radarr_by_radarr_id_profilesB
Read-onlyIdempotent

Get available Radarr profiles.

GET /api/v1/settings/radarr/{radarrId}/profiles

Args: radarr_id: Radarr instance ID

ParametersJSON Schema
NameRequiredDescriptionDefault
radarr_idYes

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 covered. The description adds the endpoint path and the argument name, but doesn't add behavioral context beyond that, such as what the profiles represent or any error conditions. With annotations covering the key behavioral traits, 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 short and front-loaded with the main purpose. The endpoint and Args section are useful but somewhat redundant with the schema. No wasted words, but the Args section could be considered unnecessary duplication.

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 GET with one parameter and an output schema, the description is mostly adequate. It tells the agent what the tool does and what the parameter is. However, it doesn't explain what profiles are used for or how they relate to Radarr configuration, which could matter for an agent deciding whether to call this tool. The output schema exists, so return values are covered.

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 mention 'radarr_id: Radarr instance ID' in the Args section, which adds meaning beyond the schema's bare 'Radarr Id' title. However, it doesn't explain how to find the Radarr instance ID or any constraints. The description adds some value but not enough to fully compensate for the 0% 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 states a clear verb and resource: 'Get available Radarr profiles.' It also includes the endpoint path, which reinforces the resource. It doesn't explicitly distinguish from sibling tools, but the name and endpoint make it clear this is about Radarr profiles 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 implies usage by showing the endpoint and the required radarr_id argument, but it doesn't explicitly state when to use this tool versus alternatives. There is no mention of when not to use it or which sibling tools are alternatives. The context is clear enough for a simple GET operation, but no explicit guidance is provided.

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

get_studio_by_studio_idC
Read-onlyIdempotent

Get movie studio details.

GET /api/v1/studio/{studioId}

Args: studio_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
studio_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, covering the safety profile. The description adds the HTTP method and path, which is helpful but not behavioral beyond what annotations convey. It does not disclose any side effects, authentication requirements, or response characteristics, but since annotations cover the main concerns, 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 concise and front-loaded with the core purpose. It includes the endpoint and argument list, which are useful. However, it is overly sparse, bordering on under-specification, though it avoids redundancy and 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?

The tool has an output schema, yet the description provides no information about what details are returned, how to interpret the response, or any context about the studio ID. There is no mention of authentication, pagination, or related endpoints. For a tool that retrieves specific data, the description is inadequate for an agent to fully understand the call's outcome.

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, so the description must compensate. It only states 'studio_id: Path parameter', which merely repeats the fact that it's a path parameter without explaining what the ID represents (e.g., TMDb ID, internal ID). It does not add meaningful semantics about the value's meaning or format beyond the schema's type definition.

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 ('Get movie studio details') and the resource (movie studio). It is specific enough to convey the tool's purpose. However, it does not differentiate from the sibling get_discover_movies_studio_by_studio_id, which may serve a similar but distinct use case. The description lacks explicit distinction, 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 does not mention any conditions, prerequisites, or scenarios where this endpoint is preferred over other studio-related tools like get_discover_movies_studio_by_studio_id. The user is left to 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.

get_tv_by_tv_idB
Read-onlyIdempotent

Get TV details.

GET /api/v1/tv/{tvId}

Args: tv_id: Path parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
tv_idYes
languageNo

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, and the description is consistent with them, confirming a safe GET operation. It adds the endpoint path and parameter locations but does not disclose response behavior, error cases, or language-handling semantics. Given the strong annotation coverage, this is minimally sufficient 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 very concise and well structured: one clear statement of the operation, the endpoint, then two focused argument lines. 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?

For a simple two-parameter read operation with an output schema and safety annotations, the description is nearly adequate for invocation. But it lacks context for choosing among the get_tv_by_tv_id_* siblings and does not specify the expected language format. The gaps are moderate, not severe.

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 explaining parameters. It usefully clarifies that tv_id is a path parameter and language is a query parameter, which the JSON Schema does not directly encode. However, it gives no detail about tv_id's meaning beyond the name, nor what language values are accepted or how they affect the response.

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: 'Get TV details' and identifies the endpoint GET /api/v1/tv/{tvId}. It is not a pure tautology, and 'details' plausibly distinguishes the base TV endpoint from sibling tools like ratings, recommendations, and similar. However, it does not explicitly say 'base details, not ratings or recommendations', so sibling differentiation is left mostly to the names.

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 get_tv_by_tv_id_* tools. The description only provides the endpoint and parameters, not context such as 'use this for base metadata' or 'use the ratings variant for scores'. An agent must infer selection 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.

get_tv_by_tv_id_ratingsA
Read-onlyIdempotent

Get TV ratings.

GET /api/v1/tv/{tvId}/ratings

Args: tv_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
tv_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 and idempotentHint=true, so the safety profile is covered. The description adds the exact HTTP method and endpoint path, which is useful for invocation but doesn't disclose any behavioral quirks (e.g., rating source, caching, or response shape). It provides modest additional context beyond annotations and 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.

Conciseness5/5

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

The description is extremely concise, front-loads the main purpose, and includes the endpoint and parameter in a structured format. Every line earns its place with no redundant or filler text.

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 operation with one parameter and an output schema present, this description is nearly complete. It gives the endpoint, parameter, and is backed by annotations covering safety. It lacks explicit usage direction, but that is already penalized in usage_guidelines. No critical invocation details 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?

With schema description coverage at 0%, the description compensates by specifying that tv_id is a path parameter and showing the endpoint template. This is valuable semantic information beyond the schema's type/title. It doesn't explain what the ID represents, but that's obvious from context.

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 'Get TV ratings' states a clear verb and resource, and the name and endpoint make it distinct from ratings for movies or other TV endpoints. It doesn't explicitly differentiate from siblings like get_tv_by_tv_id, but the 'ratings' suffix makes intent unambiguous. Slightly higher would require explicit contrast.

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 when to prefer ratings over recommendations or the base TV info endpoint. An agent must infer from the name/endpoint alone. No exclusions or context are given.

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

get_tv_by_tv_id_recommendationsC
Read-onlyIdempotent

Get recommended TV series.

GET /api/v1/tv/{tvId}/recommendations

Args: tv_id: Path parameter. page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
tv_idYes
languageNo

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 detail beyond that simple purpose and endpoint, omitting what the response contains, how language is interpreted, or any rate-limit/paging 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 extremely short and front-loads the main purpose with a one-line headline followed by an endpoint and a clean parameter list. There is no unnecessary filler, but the brevity contributes to the missing semantic 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?

The output schema exists, but with two nullable parameters having no described format and no usage guidance, the description is not complete enough for an agent to call the tool correctly. Notably, language and page values are left ambiguous, and no differentiation from similar endpoints is given.

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 fill the gap, but it merely labels each parameter as 'path' or 'query' and repeats its name. It does not explain what page means, what format language uses, or how tv_id maps to a TV-series ID.

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 'Get recommended TV series,' a clear verb plus resource, and includes the endpoint path. It distinguishes TV vs. movie recommendations, though it could do more to separate it from the sibling tool for similar TV series.

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 call this tool versus get_tv_by_tv_id_similar or the movie recommendation endpoints. It restates the HTTP route and parameters but gives no selection criteria or exclusion cases.

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

get_tv_by_tv_id_season_by_season_idB
Read-onlyIdempotent

Get season details and episode list.

GET /api/v1/tv/{tvId}/season/{seasonId}

Args: tv_id: Path parameter. season_id: Path parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
tv_idYes
languageNo
season_idYes

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 covered. The description adds modest context by specifying that the response includes season details and an episode listicket, and by revealing the REST path. It does not mention authentication, rate limits, or pagination, but for a simple read-only operation with an output schema this is not a major omission.

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-sentence purpose, the endpoint path, and a terse argument list. It contains no filler and front-loads the key intent. It could be slightly more narrative in explaining parameter behavior, but overall it 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?

With an output schema available and annotations covering the read-only nature, the core operational details are present: the resource, path structure, and required arguments. The main gaps are the lack of usage guidance and the thin explanation of the language parameter. It is minimally viable for invocation but not fully self-sufficient.

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 needed to compensate for the bare property titles. It names all three parameters and classifies tv_id and season_id as path parameters and language as a query parameter—detail the schema itself does not provide. However, it does not explain language value formats, optionality behavior, or any constraints beyond what the schema's default already hints at.

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 a clear verb-object statement ('Get season details and episode list') that names both the resource and the returned content. It is directly distinguishable from siblings like get_tv_by_tv_id and get_tv_by_tv_id_recommendations because it explicitly targets a season within a TV show. This is a specific, non-tautological statement of 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 about when to use this endpoint rather than the many sibling TV-related endpoints. It does not mention alternatives, exclusions, or the context in which a language parameter should be provided. The agent is left to infer usage solely 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_tv_by_tv_id_similarC
Read-onlyIdempotent

Get similar TV series.

GET /api/v1/tv/{tvId}/similar

Args: tv_id: Path parameter. page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
tv_idYes
languageNo

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 disclose readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to repeat these. However, it adds only the endpoint and basic parameter types, without describing pagination behavior, language format conventions, or how results are ordered. Given the annotations, the description adds minimal behavioral context beyond what is structured.

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 concise but somewhat redundant. The endpoint line is useful, but the 'Args' section merely repeats parameter names and roles that are already evident from the schema. It is not front-loaded with the most important information (usage differentiation) and includes some 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?

Given the presence of an output schema, the description need not explain return values, but it still lacks essential context: the format for 'language', how pagination works, and critical distinction from 'recommendations'. An agent would not know how to properly set the language or when to prefer this over similar endpoints. The description is incomplete for correct 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 must compensate. It lists the three parameters (tv_id, page, language) but only labels them as path/query parameters without explaining their semantics (e.g., page meaning pagination, language as ISO 639-1). The description adds minimal value beyond the schema's type information, and does not help the agent format values 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 states a clear verb and resource: 'Get similar TV series.' It distinguishes from the base 'get_tv_by_tv_id' (which likely retrieves the series itself) but does not explicitly differentiate from the sibling 'get_tv_by_tv_id_recommendations' (recommendations vs similar). The purpose 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?

The description provides no guidance on when to use this tool versus alternatives such as 'get_tv_by_tv_id_recommendations'. It does not mention the context of 'similar' (e.g., based on genre, keywords) or when it is preferable. No exclusions or prerequisites are stated.

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

get_user_by_user_idB
Read-onlyIdempotent

Get user by ID.

GET /api/v1/user/{userId}

Args: user_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

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 cover the safety profile with readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the GET method and path, which reinforce read-only behavior, but it does not disclose error behavior, authentication needs, or any other side effects beyond what annotations and the output schema 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.

Conciseness4/5

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

The description is appropriately short and front-loaded: purpose first, then endpoint, then the parameter mapping. There is no filler or redundant prose, and each line serves a clear function.

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 low-complexity, read-only retrieval tool with one parameter, strong annotations, and an output schema, the description provides enough context to call the tool correctly. The main missing piece is usage differentiation, but that is already captured under usage_guidelines and does not block a 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?

With 0% schema description coverage, the description compensates by explicitly identifying user_id as a path parameter and showing its placement in the endpoint template. This adds meaning beyond the schema's type and title fields, and it is sufficient for the single required 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 the action and resource: 'Get user by ID' and provides the exact endpoint 'GET /api/v1/user/{userId}'. This is more specific than a bare restatement because it identifies the HTTP method and path, and it is implicitly distinct from subresource siblings like get_user_by_user_id_quota and get_user_by_user_id_watchlist.

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_user, get_user_by_user_id_requests, or update_user_by_user_id. The description simply restates what the tool does without conditions, exclusions, 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_user_by_user_id_push_subscription_by_endpointB
Read-onlyIdempotent

Get web push notification settings for a user.

GET /api/v1/user/{userId}/pushSubscription/{endpoint}

Args: user_id: Path parameter. endpoint: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
endpointYes

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. The description adds the GET method and path but does not disclose additional behavioral context such as authentication requirements, response behavior for missing endpoints, or how the endpoint is matched. 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 with a one-sentence purpose, followed by the HTTP path and an Args list. There is no filler, though the Args section largely restates what the input schema already provides.

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 two-parameter read tool with a rich output schema and strong annotations, the description is nearly sufficient. However, the semantics of the endpoint parameter are ambiguous, and there is no pointer to the plural sibling for listing all subscriptions, leaving some practical 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?

With 0% schema description coverage, the description must compensate for parameter meaning, but it only labels user_id and endpoint as path parameters. It does not explain that endpoint is the full web push subscription endpoint URL or mention formatting/encoding concerns, so it adds little beyond the schema property 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 clearly states that the tool gets web push notification settings for a user, and the included GET path makes the target resource explicit. However, it does not explicitly distinguish this from the sibling get_user_by_user_id_push_subscriptions, leaving differentiation to 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 retrieving all push subscriptions with get_user_by_user_id_push_subscriptions, or how it relates to register/delete push subscription tools. The only usage clue is the generic phrase 'for a user,' which does not help an agent choose among siblings.

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

get_user_by_user_id_push_subscriptionsA
Read-onlyIdempotent

Get all web push notification settings for a user.

GET /api/v1/user/{userId}/pushSubscriptions

Args: user_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_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 safety profile is covered. The description adds the endpoint and the 'get all' scope, but does not disclose other behavior such as response shape, possible 404 for unknown users, 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.

Conciseness4/5

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

The description is short and front-loaded with the core purpose, followed by the endpoint and parameter. It contains no meaningful filler, though the 'Args' section is slightly redundant given the 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?

This is a simple single-parameter read operation with rich annotations and an output schema, so the description does not need to explain return values. The main missing piece is routing guidance relative to the singular sibling endpoint, but otherwise the definition is complete for 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 only the user_id number, and the description adds that it is a path parameter. Since user_id's meaning is fairly evident from the tool name and description, this is minimally sufficient, though it does not elaborate on semantics such as whose ID it is or expected format beyond the path template.

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: 'Get all web push notification settings for a user.' It also includes the exact endpoint path, making the operation unambiguous. The word 'all' distinguishes it from the sibling get_user_by_user_id_push_subscription_by_endpoint, which retrieves a single subscription.

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 clear focus on retrieving all push subscriptions implies its main use case, but it does not explicitly mention when to prefer this over the singular push subscription endpoint or when not to use it. There is no alternative guidance, so the agent must infer usage from the name and first sentence.

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

get_user_by_user_id_quotaB
Read-onlyIdempotent

Get quotas for a specific user.

GET /api/v1/user/{userId}/quota

Args: user_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_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=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the HTTP method and path, which is redundant with the annotation. It does not disclose any additional behavior such as response format, error conditions, or authentication needs, but given the annotations, the description is adequate and not contradictory.

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 main purpose. The endpoint and argument section are cleanly presented. No unnecessary fluff, 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?

There is an output schema, so return values are documented elsewhere. For a simple read operation with one parameter, the description is minimally sufficient. However, it does not explain what 'quotas' means or what kind of quota information is returned, which could be ambiguous. Given the output schema exists and the operation is trivial, a 3 is appropriate.

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 provides user_id with type number and title 'User Id'. The description only says 'Path parameter', which is already evident from the endpoint. It adds no semantic meaning about what the user_id represents (e.g., 'The ID of the user to fetch quotas for'). Since schema coverage is 0%, the description fails to compensate for missing parameter explanation.

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 'Get' and the resource 'quotas' for a user, which is clear. It is specific enough to distinguish from sibling tools like get_user_by_user_id or get_user_by_user_id_requests, though it does not explicitly call out that differentiation. The endpoint URL reinforces the 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. It does not mention related tools for user data or quotas, nor any prerequisites or exclusions. The agent must infer usage solely from the name and description, which is insufficient.

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

get_user_by_user_id_requestsB
Read-onlyIdempotent

Get requests for a specific user.

GET /api/v1/user/{userId}/requests

Args: user_id: Path parameter. take: Query parameter. skip: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNo
takeNo
user_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, covering the safety profile. The description adds the HTTP GET endpoint and path/query parameter locations, which is mild extra context. It does not disclose pagination behavior, result limits, or error semantics, but the annotation bar lowers the requirement.

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 well-structured: a one-line purpose, the endpoint, and a parameter list. It avoids fluff and is front-loaded with the core purpose. It could be slightly tighter, but it is appropriately sized for the information it conveys.

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 3 parameters, 0% schema coverage, and no parameter explanations, the description is incomplete for reliable invocation. The output schema exists, but the missing take/skip semantics means an agent may not know how to paginate or whether values are required. Given the low schema coverage, the description needed to compensate significantly, which it does not.

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 parameters as 'Path parameter' or 'Query parameter,' which tells location but not meaning. It does not explain that take/skip are typical pagination controls or any allowed values/defaults, leaving the agent to guess their 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 a specific verb and resource: 'Get requests for a specific user.' This clearly distinguishes it from general list tools like list_request and other per-user subresource tools (e.g., get_user_by_user_id_quota). However, it does not explicitly contrast itself with siblings, so it misses the full 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 by the phrase 'for a specific user' – an agent can infer this tool is for retrieving one user's requests rather than all requests. But there is no explicit guidance on when to use this versus list_request, nor any exclusions or alternatives, so guidance remains implicit.

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

get_user_by_user_id_settings_mainB
Read-onlyIdempotent

Get general settings for a user.

GET /api/v1/user/{userId}/settings/main

Args: user_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_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?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description only adds the HTTP GET endpoint, which restates the read-only nature and adds no new behavioral context like required authentication, error 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.

Conciseness5/5

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

The description is compact and well-structured: a clear lead sentence, the endpoint, and the argument definition. Every line adds useful information 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?

Given the strong annotations, the presence of an output schema, and a single simple path parameter, the definition supplies enough context for an agent to select and call the tool. It is not perfect because it omits explicit guidance on when to use it versus related user-setting tools, but that gap is largely covered by the purpose clarity dimension.

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, so the description needs to compensate. It does so by explicitly stating that user_id is a path parameter, and the tool purpose clarifies that user_id identifies the target user. For a single self-explanatory numeric parameter, this is sufficient to invoke the tool 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 identifies a GET operation on a user's main/general settings, which distinguishes it from sibling tools for notifications, password, and permissions settings. It could be stronger by explicitly naming a sibling or stating what 'general settings' includes, but the verb and resource are specific enough.

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 when-to-use guidance, no exclusions, and no mention of alternatives such as get_user_by_user_id_settings_notifications or list_settings_main. An agent has to infer the intended use from the tool name and path rather than from explicit instructions.

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

get_user_by_user_id_settings_notificationsA
Read-onlyIdempotent

Get notification settings for a user.

GET /api/v1/user/{userId}/settings/notifications

Args: user_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_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 readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond the annotations, such as return format, error behavior, or auth requirements. It merely states 'Get' and provides the endpoint, which is fully consistent with the annotations but adds no new 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: one purpose sentence, the endpoint, and a single parameter note. It is front-loaded with the core purpose and contains no fluff or filler. Every element 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?

The tool has an output schema, so return values are covered elsewhere. The description clearly states what the tool does and the required parameter. The annotations handle safety. The only minor gap is the lack of any note about which notification channels are included, but this is not necessary given the output schema and the simplicity of the operation.

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 identify user_id as a path parameter, which is slightly beyond the schema (which only states type: number). However, it does not explain what user_id refers to or any constraints, leaving the meaning to be inferred from the parameter name. This is minimal compensation, but 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: 'Get notification settings for a user.' It clearly identifies the tool's purpose and distinguishes it from sibling tools like get_user_by_user_id_settings_main or get_user_by_user_id_settings_permissions by explicitly naming 'notification settings.' The included endpoint further reinforces this.

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 context for when to use the tool (to fetch a user's notification settings), but it does not provide any exclusion or comparison with alternatives. Given the large sibling family of user settings tools, an agent would need to infer the correct choice from the name alone, as no explicit guidance is offered.

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

get_user_by_user_id_settings_passwordB
Read-onlyIdempotent

Get password page informatiom.

GET /api/v1/user/{userId}/settings/password

Args: user_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_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 endpoint pattern but no additional behavioral context (e.g., what happens on missing user, response structure). It does not contradict annotations, but also does not enrich them beyond a minimal level.

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 concise and front-loads the purpose, followed by the endpoint and args. However, it contains a typo ('informatiom') and is structurally minimal, reading more like a draft than a polished definition. It is efficient but lacks the polish of a well-structured description.

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 presence of an output schema and annotations covering read-only behavior, this simple getter is almost adequately described. The main gap is the absence of sibling differentiation and any explicit statement of when to use it. For a one-parameter tool, it is workable, but an agent would benefit from a hint about which settings page it targets.

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 notes 'Args: user_id: Path parameter' which clarifies that user_id is a path parameter, a detail not present in the input schema. However, it does not explain the semantics of user_id beyond its self-evident name. With 0% schema coverage in the description, it partially compensates but could be more explicit.

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 'Get password page informatiom' which identifies a clear verb (get) and resource (password page information). It is specific enough to distinguish from sibling settings getters like get_user_by_user_id_settings_main. However, a typo and lack of elaboration on what 'password page information' includes keep it just below the top tier.

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_user_by_user_id_settings_main or get_user_by_user_id_settings_permissions. The description only gives the endpoint and argument without any contextual advice, leaving the agent to 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.

get_user_by_user_id_settings_permissionsB
Read-onlyIdempotent

Get permission settings for a user.

GET /api/v1/user/{userId}/settings/permissions

Args: user_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

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, covering the safety profile. The description adds the HTTP method and path but does not disclose authentication requirements, error behavior, or response characteristics. With annotations present, 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 compact and front-loaded with the core purpose, followed by the endpoint and parameter note. No filler or redundant detail appears.

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 one-parameter read-only GET tool, the combination of description, annotations, and output schema covers the essential invocation details. It lacks explicit mention of authorization or how this differs from permission-related sibling tools, but the low complexity and strong annotations reduce the burden on the description.

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?

There is only one parameter and the schema coverage is 0%, so the description must compensate. It states 'user_id: Path parameter,' adding the parameter's location, but it does not explain the meaning, format, or constraints beyond the schema's type and required flag. This is minimally adequate.

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: 'Get permission settings for a user.' This distinguishes it from sibling create/update/delete tools and other user settings getters like get_user_by_user_id_settings_main or settings_password, though it does not explicitly call out those siblings.

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 create_user_by_user_id_settings_permissions or other user settings getters. The description simply restates the operation and endpoint, leaving the agent to infer the appropriate context.

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

get_user_by_user_id_watch_dataC
Read-onlyIdempotent

Get watch data.

GET /api/v1/user/{userId}/watch_data

Args: user_id: Path parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_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 only the HTTP method and path, which reinforces but does not go beyond the annotations. It does not disclose any additional behavioral context such as authentication requirements, data scope, 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 action, but it includes an endpoint line and an Args section that largely duplicate schema information. It is not bloated, but it is more under-specified than efficiently concise.

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, has an output schema, and annotations cover the read-only safety profile. However, the description never explains what 'watch data' actually represents or how it differs from related resources like watchlist. This leaves an agent with only a vague sense of the tool's purpose in the broader API.

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 restates that user_id is a path parameter, which is a structural detail, not semantic meaning. It does not explain what the user_id represents, any format constraints, or how it affects the returned data.

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 pair: 'Get watch data.' The endpoint path including user/{userId}/watch_data further specifies the resource. It does not explicitly distinguish from sibling get_media_by_media_id_watch_data, but the tool name and path make the target 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?

No guidance is provided on when to use this tool versus alternatives like get_user_by_user_id_watchlist or get_media_by_media_id_watch_data. The only implied usage is that it retrieves watch data, but there are no conditions, exclusions, or mentions of alternatives.

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

get_user_by_user_id_watchlistA
Read-onlyIdempotent

Get the Plex watchlist for a specific user.

GET /api/v1/user/{userId}/watchlist

Args: user_id: Path parameter. page: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
user_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, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the endpoint path and parameter locations but not additional behavioral context such as authentication requirements, rate limits, or response behavior. 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, starting with the core purpose. The Arg section is slightly redundant with the schema but adds parameter-location details efficiently. No filler or unnecessary prose.

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

Completeness4/5

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

The tool is a simple read-only retrieval with an output schema, so return-value documentation is not required. The endpoint, resource, and parameter locations are given. The only notable gap is the lack of detail about page semantics, but this is minor for a straightforward watchlist lookup.

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 some responsibility. It labels user_id as a path parameter and page as a query parameter, which adds value beyond the raw schema. However, it does not explain what 'page' controls, how pagination works, or the meaning of user_id beyond its obvious 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 clearly states the tool retrieves a specific user's Plex watchlist, using a specific verb and resource. It is distinct enough from sibling tools like get_user_by_user_id_watch_data and get_user_by_user_id, though it does not explicitly call out 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 the use case: when you need the Plex watchlist for a particular user. However, it gives no explicit guidance on when to prefer this over similar get_user_by_user_id_* endpoints, no pagination notes, and no exclusions or preconditions.

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

list_auth_meB
Read-onlyIdempotent

Get logged-in user.

GET /api/v1/auth/me

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, so the safety profile is covered. The description adds no behavioral context beyond the endpoint—it doesn't mention authentication requirements, error responses, or side effects. Given the annotations, the bar is lower, but the description still fails to add any behavioral nuance beyond what the schema and annotations provide. It is essentially a tautology of the purpose.

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 line plus the HTTP endpoint. Every word earns its place. It is front-loaded with the primary purpose. There is no redundancy or fluff, making it an exemplar of 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 has an output schema, so return details are not the description's job. It has no parameters, and annotations cover safety. However, the description does not mention any preconditions (e.g., requires an active session) or typical error cases (e.g., 401 when unauthenticated). For such a simple tool, this might be acceptable, but given the minimal guidance, a 3 reflects that it is adequate but not rich. It does not explain what 'logged-in user' means in context or what the response 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?

There are zero parameters, and the schema coverage is 100% (trivially). The baseline for 0 parameters is 4. The description correctly omits parameter details because none exist. No additional meaning is needed, so a 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 states a clear verb and resource: 'Get logged-in user.' This is specific and unambiguous, and the tool name list_auth_me is well-aligned. However, it does not explicitly differentiate from sibling auth tools like create_auth_local or create_auth_plex, though its purpose is distinct enough that an agent can infer it. No explicit comparison is made, so a 4 rather than 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. It only provides the endpoint path. No mention of when to prefer it, prerequisites like being logged in, or when not to use it. This is a minimal description with no usage context, so a 2.

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

list_backdropsA
Read-onlyIdempotent

Get backdrops of trending items.

GET /api/v1/backdrops

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 covered. The description adds the trending-item context and the GET method but does not disclose additional behavior such as response shape or any content restrictions; this is acceptable given 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 functional statement is front-loaded and the raw endpoint is included as a useful confirmation. Every sentence earns its place.

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

Completeness5/5

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

For a simple, parameterless read-only endpoint with a full output schema and safety annotations, the description is complete. An agent has enough information to select and invoke the tool correctly.

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

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 clarify about arguments. Per the baseline for parameterless tools, this is a strong score.

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 ('Get'), a resource ('backdrops'), and a scope ('of trending items'), making the tool's function clear. It does not explicitly contrast itself with sibling tools, but the resource is unique among the siblings, so confusion risk is low.

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 clear context: this endpoint returns backdrops associated with trending items. It names no alternatives or exclusions, but the tool is a parameterless, unique-resource getter, so minimal guidance is sufficient.

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

list_discover_genreslider_movieB
Read-onlyIdempotent

Get genre slider data for movies.

GET /api/v1/discover/genreslider/movie

Args: language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo

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. The description adds the HTTP GET endpoint but discloses no further behavioral context such as default language behavior, response contents, or limitations.

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?

Purpose is front-loaded and the endpoint/args are clearly separated. It is minimal and free of filler, though the parameter line is thin.

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 optional parameter, no required fields, output schema present, and safety annotations cover side effects. However, the description leaves the language parameter under-specified and offers no usage context, so completeness is only adequate.

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 language is a Query parameter, without explaining accepted values, format, or what omitting it means.

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

Purpose5/5

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

States a specific verb and resource: 'Get genre slider data for movies,' and gives the exact endpoint. This clearly distinguishes it from the sibling list_discover_genreslider_tv and other list/get 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?

Provides no when-to-use guidance or alternatives. It does not mention that list_discover_genreslider_tv is the TV counterpart or when one should be preferred over the other.

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

list_discover_genreslider_tvA
Read-onlyIdempotent

Get genre slider data for TV series.

GET /api/v1/discover/genreslider/tv

Args: language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the GET endpoint and scope, but does not disclose details such as response contents, language matching behavior, pagination, or auth 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 compact, front-loaded with the core purpose, and organized with endpoint and args. There is no filler or repetition of the tool name.

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

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 with one optional parameter, an output schema, and rich safety annotations, the description is largely sufficient. It is missing only minor context such as what 'genre slider data' specifically contains and accepted language code 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?

With 0% schema description coverage, the description needed to explain the parameter. It labels 'language' as a query parameter, which adds transport-level meaning beyond the schema, but it does not specify format, allowed values, or examples, so compensation is only partial.

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 ('Get') and resource ('genre slider data for TV series'), and includes the endpoint. The 'TV series' qualifier clearly differentiates it from sibling list_discover_genreslider_movie and other discover 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?

The description implies when to use the tool—when TV genre slider data is needed—but gives no explicit comparison with alternatives like list_discover_genreslider_movie or list_discover_tv, and no exclusions. It leaves some routing to inference from the tool name.

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

list_discover_moviesC
Read-onlyIdempotent

Discover movies.

GET /api/v1/discover/movies

Args: page: Query parameter. language: Query parameter. genre: Query parameter. studio: Query parameter. keywords: Query parameter. sort_by: Query parameter. primary_release_date_gte: Query parameter. primary_release_date_lte: Query parameter. with_runtime_gte: Query parameter. with_runtime_lte: Query parameter. vote_average_gte: Query parameter. vote_average_lte: Query parameter. vote_count_gte: Query parameter. vote_count_lte: Query parameter. watch_region: Query parameter. watch_providers: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
genreNo
studioNo
sort_byNo
keywordsNo
languageNo
watch_regionNo
vote_count_gteNo
vote_count_lteNo
watch_providersNo
vote_average_gteNo
vote_average_lteNo
with_runtime_gteNo
with_runtime_lteNo
primary_release_date_gteNo
primary_release_date_lteNo

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 cover read-only, idempotent, non-destructive behavior. The description adds only the URL and a parameter name list, with no mention of default sort, pagination behavior, date formats, or filter value semantics. It does not contradict the annotations but provides 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.

Conciseness2/5

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

The useful content is a single phrase plus endpoint, but eighteen lines are spent listing parameter names that already exist in the schema. The repetitive 'Query parameter' suffix makes the structure bloated and redundant rather than 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?

With 16 optional filter parameters, no parameter descriptions, and no examples of valid values or combinations, an agent cannot reliably construct a correct request. The output schema covers return values, but the missing parameter semantics leave an unacceptable gap for a tool this complex.

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 carries the full burden of explaining parameters. It only repeats each parameter name followed by 'Query parameter', offering no meaning for fields like sort_by, primary_release_date_gte, or watch_providers. This is a pure restatement of the schema with zero added 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 clearly identifies a read operation for movies via 'Discover movies' and the explicit GET endpoint. It names the resource and the action, but does not distinguish it from siblings like list_discover_tv or list_discover_movies_upcoming, so it misses the top level of clarity.

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 instead of related discovery endpoints, nor any conditions or exclusions. An agent is given no context for selecting this over list_discover_trending or list_discover_movies_upcoming.

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

list_discover_movies_upcomingC
Read-onlyIdempotent

Upcoming movies.

GET /api/v1/discover/movies/upcoming

Args: page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
languageNo

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, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only the endpoint and query parameter labels; it does not disclose pagination behavior, default language, or other runtime characteristics beyond what the schema and 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 compact and front-loaded with the core purpose ('Upcoming movies'). The endpoint and Args section are structured and easy to scan, though the Args list is largely redundant with the input 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 simple read-only endpoint with an output schema and strong annotations, the description is minimally adequate. However, it lacks usage guidance and parameter semantics, so an agent would need to infer when and how to call it confidently among sibling discover 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 explain what page and language mean. It only labels them as 'Query parameter,' adding location but not semantics such as 1-based page numbering, language code format, or defaults. This is insufficient 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 states the resource ('Upcoming movies') and the exact endpoint, making it clear this returns upcoming movies. It doesn't use a verb like 'list,' but the GET endpoint conveys the action. The name and endpoint distinguish it from siblings such as list_discover_movies and list_discover_tv_upcoming, though the description itself does little to explain 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 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_discover_movies, list_discover_tv_upcoming, or list_discover_trending. The description provides no use-case context, exclusions, or alternative routing. It is essentially a stub with no selection guidance.

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

list_discover_tvC
Read-onlyIdempotent

Discover TV shows.

GET /api/v1/discover/tv

Args: page: Query parameter. language: Query parameter. genre: Query parameter. network: Query parameter. keywords: Query parameter. sort_by: Query parameter. first_air_date_gte: Query parameter. first_air_date_lte: Query parameter. with_runtime_gte: Query parameter. with_runtime_lte: Query parameter. vote_average_gte: Query parameter. vote_average_lte: Query parameter. vote_count_gte: Query parameter. vote_count_lte: Query parameter. watch_region: Query parameter. watch_providers: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
genreNo
networkNo
sort_byNo
keywordsNo
languageNo
watch_regionNo
vote_count_gteNo
vote_count_lteNo
watch_providersNo
vote_average_gteNo
vote_average_lteNo
with_runtime_gteNo
with_runtime_lteNo
first_air_date_gteNo
first_air_date_lteNo

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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the endpoint path and parameter names but discloses no additional behavioral traits such as pagination behavior, default sorting, or response format. It does not contradict annotations, but it provides minimal extra context.

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 structured; it wastes space listing all parameters with the generic 'Query parameter' tag, which is repetitive and uninformative. The key information (purpose) is front-loaded, but the rest is filler rather than useful detail.

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 16 optional parameters, zero schema descriptions, and no guidance on filter combinations or defaults, the description is severely inadequate for an agent to call this tool correctly. It lacks any explanation of the discovery mechanism, expected output, or relationship to sibling discovery endpoints.

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 carries the full burden of explaining the 16 parameters. However, it merely repeats each parameter name followed by 'Query parameter', adding no meaning beyond what the property names already imply. It does not explain value formats, allowed values, or how parameters interact, leaving the agent to guess.

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 'Discover TV shows', which clearly indicates the verb (discover) and resource (TV shows), and it distinguishes from sibling tools like list_discover_movies and list_discover_tv_upcoming. However, it is essentially a paraphrase of the tool name and lacks any detail about what 'discover' entails (e.g., filtering, sorting).

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_discover_movies, list_discover_tv_upcoming, or list_search. No mention of prerequisites, typical use cases, or exclusions. The usage context is entirely implied by the name.

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

list_discover_tv_upcomingC
Read-onlyIdempotent

Discover Upcoming TV shows.

GET /api/v1/discover/tv/upcoming

Args: page: Query parameter. language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
languageNo

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 GET endpoint, which is consistent with read-only behavior, but adds no further behavioral context such as pagination behavior or language expectations. 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?

Compact and front-loaded with its one-line purpose, and the endpoint line is useful. However, the 'Args' block duplicates the input schema and adds no information, so not 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 read-only list call with two optional parameters, an output schema, and safety annotations, the description is minimally viable. Gaps include no differentiation from similar discover endpoints and no format guidance for the language parameter, though the defaults and output schema cover the basic zero-arg call.

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 'page: Query parameter. language: Query parameter.' merely restates the parameter names and location without defining semantics such as language format or page bounds. The 'Query parameter' label provides only minor credit by clarifying they are not body 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?

States a specific resource (upcoming TV shows) and includes the HTTP endpoint, so an agent knows it returns discover results for upcoming TV. It is not a tautology, but it does not explicitly set itself apart from closely named siblings such as list_discover_tv or list_discover_trending.

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 when-to-use guidance, no exclusions, and never references alternatives. An agent gets no help choosing between this and list_discover_tv, list_discover_movies_upcoming, or list_discover_trending; the only signal is the name itself.

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

list_discover_watchlistB
Read-onlyIdempotent

Get the Plex watchlist.

GET /api/v1/discover/watchlist

Args: page: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo

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 read-only, idempotent, and non-destructive behavior, lowering the burden on the description. The description adds the endpoint and indicates the page query parameter, implying pagination, but does not disclose response behavior, limits, or ordering. 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 purpose. The endpoint and parameter note are useful and nothing is overly verbose. It lacks some detail, but what is present is efficiently organized.

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 fairly simple, has strong annotations, and an output schema, so the description does not need to explain return values. However, given the ambiguous relationship to sibling watchlist tools and the minimal parameter explanation, the description is barely adequate for correct 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 compensate. It only says 'page: Query parameter,' which adds little beyond the schema field name and default. There is no explanation of page semantics, starting index, page size, or how pagination behaves.

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: 'Get the Plex watchlist.' This is clear and actionable, and the endpoint is also included. However, it does not explicitly differentiate this from sibling tools like get_user_by_user_id_watchlist, which could also be described as getting a watchlist.

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 does not mention that get_user_by_user_id_watchlist exists for a specific user's watchlist, nor does it explain what makes this discover watchlist distinct. The usage context is essentially left to inference.

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

list_genres_movieA
Read-onlyIdempotent

Get list of official TMDB movie genres.

GET /api/v1/genres/movie

Args: language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo

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 safety profile is fully covered. The description adds minimal behavioral context—the endpoint and the phrase 'official TMDB'—but does not elaborate on caching, response formatting, or any side effects beyond the obvious read operation. This is acceptable given the annotations, though not particularly 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 purpose is front-loaded in the first sentence, and the description is short. However, the 'Args' section merely restates the schema and provides no additional value, which is slight redundancy. Overall it is concise and well-structured, missing a perfect score only due to that unnecessary 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 simple read-only list tool with no required parameters and an output schema, the description is mostly sufficient for correct invocation. The main gap is the under-documented `language` parameter—its semantics are not explained, which could lead to incorrect calls. The rest of the context (purpose, endpoint, safety from annotations) is adequate.

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 a single `language` parameter with no description, and schema description coverage is 0%. The description only repeats 'language: Query parameter' in the Args section, which adds no semantic meaning. It does not explain what values are expected (e.g., ISO codes), what the parameter does (localization), or whether it is optional—though the schema indicates default null. The description fails to compensate for the schema's lack of parameter documentation.

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 ('Get list') and resource ('official TMDB movie genres'), making the tool's purpose immediately clear. It is distinct from sibling `list_genres_tv` by explicitly specifying 'movie' genres, and from discovery tools like `get_discover_movies_genre_by_genre_id` by indicating it returns the full list rather than a specific genre's movies.

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 clearly indicates this tool is for movie genres, which provides context for when to use it versus the sibling `list_genres_tv`. It does not explicitly name alternatives or state when not to use them, but the media-type qualifier in the description is enough to guide selection for a simple list endpoint.

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

list_genres_tvC
Read-onlyIdempotent

Get list of official TMDB movie genres.

GET /api/v1/genres/tv

Args: language: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo

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?

The annotations already signal readOnlyHint, idempotentHint, and non-destructive behavior, so the description only needs to add contextual behavior; it adds 'official TMDB' and the endpoint, but misidentifies the genre type and gives no detail about localization, ordering, or default language behavior. This reduces transparency rather than improving it.

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, includes the exact endpoint, and uses a clear Args section. It is not bloated, though one of its few content words ('movie') is incorrect.

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 is simple, has an output schema, and carries read-only annotations, the one-paragraph description is still incomplete because it contradicts the TV genre scope and omits the minimal language-parameter semantics an agent would need to call it 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 input schema documents 'language' as an optional string or null with default null, and the description merely restates it as 'language: Query parameter,' adding only location information. With 0% schema description coverage, the description should specify expected values (e.g., language codes) or how the default behaves, but it does not.

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 a clear verb and resource ('Get list of official TMDB ... genres') and even includes the endpoint, but it says 'movie genres' while the tool name, endpoint (/api/v1/genres/tv), and sibling list_genres_movie all indicate TV genres. This mislabeling makes the tool's actual purpose misleading and harms 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 about when to choose this tool over list_genres_movie or other discovery tools. The endpoint path hints at TV genres, but the description contradicts that by saying 'movie genres,' so an agent cannot reliably decide when 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_issueB
Read-onlyIdempotent

Get all issues.

GET /api/v1/issue

Args: take: Query parameter. skip: Query parameter. sort: Query parameter. filter: Query parameter. requested_by: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNo
sortNo
takeNo
filterNo
requested_byNo

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 false, so the safety profile is known. The description adds only the endpoint and parameter names, without disclosing pagination defaults, filtering syntax, sorting behavior, or other operational traits.

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, followed by a compact endpoint and parameter list. It has no filler, though the repetitive parameter lines could have been replaced with actual semantics.

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 call with an output schema and safety annotations, calling with no parameters is well-defined. However, the definition is incomplete for parameterized use because it never explains filter/sort syntax, pagination behavior, or requested_by semantics.

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 'Query parameter' without explaining what it does, how sort/filter strings should be formed, or what requested_by means. It identifies names but does not compensate 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 states a specific verb ('Get') and resource ('all issues'), clearly identifying a list operation. This distinguishes it from siblings like get_issue_by_issue_id and list_issue_count, and the endpoint line reinforces the exact resource.

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_issue_count, get_issue_by_issue_id, or create_issue. The phrase 'Get all issues' implies a collection use case, but there are no explicit exclusions or alternative routing.

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

list_issue_countB
Read-onlyIdempotent

Gets issue counts.

GET /api/v1/issue/count

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/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 known. The description adds only the HTTP path and a rephrase of the tool name, without disclosing any additional behavioral traits such as whether counts are global, scoped, or computed differently.

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 two concise lines. The endpoint path is useful context, though the opening sentence is largely redundant with the tool name.

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 safety annotations, the description provides enough to attempt a call. The main ambiguity is what 'issue counts' precisely quantifies, but that is likely resolved by the output schema.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%, so there is no parameter information missing. Baseline for a zero-parameter tool is 4; the description does not need to add anything here.

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 'Gets' and resource 'issue counts', so the basic purpose is present. However, it is nearly a restatement of the tool name and does not clarify what 'issue counts' means (total count, per-status, etc.) or distinguish itself from sibling list_issue.

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 like list_issue or list_request_count. There are no exclusions, prerequisites, or contextual hints to help an agent select this tool.

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

list_languagesA
Read-onlyIdempotent

Languages supported by TMDB.

GET /api/v1/languages

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/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 fully covered. The description adds the GET endpoint but does not disclose additional behavioral traits such as response format, caching, or ordering; the output schema covers return values.

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 core meaning, and includes the endpoint. There is no filler or redundancy.

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

Completeness5/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 covering safety and an output schema covering the return shape, the description is complete. An agent has enough information to call 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 clarify. The baseline of 4 applies because no parameter semantics are 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 the resource clearly: 'Languages supported by TMDB.' The GET endpoint reinforces the retrieval verb, and the resource name distinguishes it from sibling list tools like list_regions and list_genres_movie. It is not a full sentence but 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 Guidelines3/5

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

The description implies the tool is for retrieving TMDB-supported languages, but it provides no explicit when-to-use guidance and does not mention alternatives or exclusions. For a zero-parameter static list this is acceptable but still implicit.

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

list_mediaC
Read-onlyIdempotent

Get media.

GET /api/v1/media

Args: take: Query parameter. skip: Query parameter. filter: Query parameter. sort: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNo
sortNo
takeNo
filterNo

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 communicate a safe, read-only, non-destructive, idempotent operation. The description adds no behavioral context beyond the raw endpoint: no pagination limits, no response behavior, no required authentication or rate-limit caveats. It is not contradictory, but it contributes no extra 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 short and superficially structured, but every parameter line is redundant filler that adds no informative value. This is under-specification rather than effective conciseness; a genuinely concise description would pack pagination/filter semantics into a few words.

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

Completeness2/5

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

The output schema and annotations reduce the burden, but the description still lacks essential invocation knowledge: what take/skip/filter/sort do, whether media includes movies, TV, or both, and how this endpoint relates to other list/retrieve tools. Given four parameters and a large sibling set, this is not complete enough for an agent to select or call it confidently.

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 had to explain the four parameters. It merely repeats each parameter name and labels it 'Query parameter,' giving an agent no idea what take, skip, filter, or sort mean, what formats are expected, or how they interact. This is effectively non-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 a verb, resource, and HTTP endpoint ('Get media. GET /api/v1/media'), so an agent can see it is a read operation on a media collection. However, it never clarifies what 'media' means, that it returns a list/collection, or how it differs from related tools like get_media_by_media_id_watch_data or list_discover_movies, 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 instead of any of the many sibling list_* tools. The description does not state prerequisites, typical use cases, or exclusions, so an agent must rely on 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_regionsB
Read-onlyIdempotent

Regions supported by TMDB.

GET /api/v1/regions

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, and the description's GET endpoint is consistent with that. However, the description adds no behavioral context beyond the endpoint—no auth requirements, rate-limit notes, or response behavior details.

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

Conciseness5/5

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

The description is two short lines with no filler: a resource statement and the endpoint. It is appropriately minimal and front-loaded, though it borders on terse.

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, the description combined with annotations and the output schema is sufficient for safe invocation. The only notable gap is the lack of relationship to list_watchproviders_regions, but that does not affect calling this 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, so there is nothing for the description to document; schema coverage is effectively complete. The baseline of 4 applies because no parameter clarification 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 clearly names the resource ('Regions supported by TMDB') and provides the HTTP endpoint, so the agent can infer this is a read-only list operation. It does not explicitly say 'list' and does not differentiate itself from the similarly named sibling list_watchproviders_regions.

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, exclusions, or mention of alternative tools. The agent is left to infer from the tool name and endpoint that this is the general regions endpoint, which could be confused with list_watchproviders_regions.

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

list_requestC
Read-onlyIdempotent

Get all requests.

GET /api/v1/request

Args: take: Query parameter. skip: Query parameter. filter: Query parameter. sort: Query parameter. requested_by: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNo
sortNo
takeNo
filterNo
requested_byNo

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, covering the safety profile. The description adds no behavioral context beyond that – no mention of pagination behavior, filtering semantics, or return format limits. It does not contradict the annotations, but it also contributes no 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 concise and front-loaded: the one-line purpose is immediately followed by the endpoint and a compact parameter list. No unnecessary fluff exists, but the structure could be more useful if parameter details were organized with examples or field references.

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 five optional, unconstrained parameters, the description must fill the gap left by missing schema descriptions. It does not explain how 'take', 'skip', 'filter', 'sort', or 'requested_by' are formatted or combined, nor does it mention pagination defaults. The output schema exists but does not make up for the lack of request-building context. An agent would likely construct invalid queries without further information.

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 the parameters. It merely repeats each parameter name and says 'Query parameter,' which adds no semantic meaning. For example, 'filter' and 'sort' are left completely undefined, leaving the agent without any idea of expected syntax or values.

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 ('Get') and resource ('all requests'), which distinguishes it from single-request retrieval (get_request_by_request_id) and count (list_request_count). However, it does not explicitly differentiate it from those siblings, 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?

No guidance is provided on when to use this tool versus alternatives such as list_request_count or get_request_by_request_id. The description only shows an HTTP endpoint and parameter names, leaving the agent to infer the correct selection context.

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

list_request_countB
Read-onlyIdempotent

Gets request counts.

GET /api/v1/request/count

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, so the safety profile is covered. The description adds only the endpoint URL, which is not a behavioral trait. It does not disclose what the response contains (e.g., a single integer vs. an object) or any authentication/rate-limit considerations.

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, front-loaded with the purpose, and includes an HTTP endpoint. There is no wasted text, but the brevity means it omits potentially useful context, so it doesn't reach a 5.

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 no-parameter, read-only tool with an output schema and annotations, the description's 'Gets request counts' is minimally sufficient. However, it does not clarify whether this returns a total count or counts by status, nor does it help an agent choose between this and list_request. The sibling list provides some hints, but the description itself is 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 input schema lists no properties, so the description has no need to add parameter-level meaning. The baseline of 4 applies because schema coverage is complete and no parameters exist 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?

The description 'Gets request counts' states a specific verb and resource. It distinguishes from list_request (which returns full request objects) and list_issue_count (which counts issues). However, it is minimal and does not detail what 'request counts' means, 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?

The description provides no guidance on when to use this tool versus alternatives like list_request or list_issue_count. It contains no when-to-use advice, exclusions, or conditions, leaving the agent to infer from sibling tool names.

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

list_search_companyC
Read-onlyIdempotent

Search for companies.

GET /api/v1/search/company

Args: query: Query parameter. page: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
queryNo

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 and destructiveHint=false, so the safety profile is covered. However, the description adds no behavioral context beyond the purpose—no mention of pagination, result format, or how the query parameter behaves. It does not disclose anything about the response or side effects (though there are none). Given the low bar set by annotations, this is 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.

Conciseness3/5

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

The description is extremely concise, with only two sentences and the endpoint. It is front-loaded with the main purpose. However, it is so sparse that it borders on under-specification rather than concise efficiency. The structure is acceptable but leaves out critical 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 search tool with two optional parameters, the description is incomplete. It does not explain how the query parameter is used, what a typical search entails, or how pagination works. Even though an output schema exists, the lack of parameter semantics and usage guidance makes it insufficient for an agent to call it correctly in varied contexts.

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 the parameters. It only says 'query: Query parameter.' and 'page: Query parameter.'—this is a tautology that repeats the parameter name without adding meaning. It does not clarify that query is the search term or that page controls pagination. No added value beyond the schema itself.

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 and resource: 'Search for companies.' This is a specific verb+resource pair, and the tool name itself distinguishes it from siblings like list_search and list_search_keyword. It also includes the exact endpoint, reinforcing the 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 such as list_search or list_search_keyword. It does not mention that this is specifically for company search, nor does it explain any exclusions or prerequisites. The agent is left 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.

list_search_keywordC
Read-onlyIdempotent

Search for keywords.

GET /api/v1/search/keyword

Args: query: Query parameter. page: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
queryNo

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, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds only the endpoint path and parameter names, with no additional behavioral context such as pagination behavior, result limits, 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.

Conciseness4/5

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

The description is compact and front-loaded with the purpose, followed by the endpoint and an Args block. It wastes no words, though the available space could have been used to add more useful semantic or usage details.

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 GET endpoint with two optional parameters and an output schema, the essential call contract is mostly present. However, the description does not clarify what kind of keywords are searched or how pagination works, leaving some ambiguity for an agent selecting or invoking the 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 compensate, but it only repeats 'query' and 'page' as 'Query parameter.' This adds minimal meaning beyond the schema property names and does not explain what values are expected or how the parameters affect the search.

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 ('Search for keywords') and identifies the resource via the endpoint 'GET /api/v1/search/keyword'. It is clear enough on its own, though it does not explicitly differentiate this from sibling search tools like list_search or list_search_company.

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_search, list_search_company, or get_keyword_by_keyword_id. The description only lists parameters and provides no selection criteria or exclusions.

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

list_service_radarrA
Read-onlyIdempotent

Get non-sensitive Radarr server list.

GET /api/v1/service/radarr

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 description need not reassert safety. It adds the 'non-sensitive' qualifier and the exact GET path, which is useful, but it does not mention auth requirements, pagination, or what data is omitted as sensitive.

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 lines, front-loaded with the key purpose, and no filler content. The endpoint line provides useful reference information without bloating the description.

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 operation with an output schema and safety annotations, the description supplies enough context: what it returns at a high level ('non-sensitive Radarr server list') and the endpoint. It could be richer about which Radarr servers are included, but the output schema covers return shape and details.

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 trivially complete with 100% description coverage. Per the rubric, zero parameters establish a baseline of 4, and the description cannot add meaningful parameter semantics where none exist.

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 ('Get') and resource ('Radarr server list'), and the 'non-sensitive' qualifier hints at a distinction from sensitive/settings endpoints. It is clear but does not explicitly differentiate from sibling tools such as list_settings_radarr or get_service_radarr_by_radarr_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 about when to use this tool instead of alternatives like list_settings_radarr, list_service_sonarr, or get_service_radarr_by_radarr_id. The endpoint line is informational but does not explain selection criteria or context.

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

list_service_sonarrA
Read-onlyIdempotent

Get non-sensitive Sonarr server list.

GET /api/v1/service/sonarr

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

The description adds the 'non-sensitive' qualifier, which tells the agent that the response omits sensitive fields, and it states the exact GET endpoint. Annotations already cover read-only, idempotent, and non-destructive behavior, so the description adds useful scoping beyond those safe traits.

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 the core purpose front-loaded and the endpoint supplied separately. There is no filler, redundancy, or unnecessary detail.

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

Completeness5/5

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

Given zero parameters, a present output schema, and annotations that fully cover the operation's safety profile, the description is sufficient for an agent to select and invoke this tool correctly. Nothing essential 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?

This tool has zero parameters and the schema reflects that, so there is nothing for the description to clarify. The baseline of 4 applies because no parameter documentation is needed.

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

Purpose5/5

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

The description clearly states the action ('Get') and the resource ('non-sensitive Sonarr server list'), and the endpoint reinforces the scope. This distinguishes it from siblings like get_service_sonarr_by_sonarr_id or list_settings_sonarr without ambiguity.

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 intended use is implied: call this when you need the non-sensitive list of Sonarr servers. However, it does not explicitly compare itself to alternatives such as list_service_radarr or get_service_sonarr_by_sonarr_id, leaving some routing to inference.

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

list_settings_aboutA
Read-onlyIdempotent

Get server stats.

GET /api/v1/settings/about

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 readOnlyHint=true, idempotentHint=true, destructiveHint=false, signaling a safe read operation. The description adds no extra behavioral context such as authentication needs, rate limits, or response specifics. With the safety profile already in annotations, this is adequate 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: a direct statement of function and the exact endpoint. Every word earns its place, no redundancy, and the core purpose is front-loaded.

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

Completeness5/5

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

For a parameterless GET endpoint with annotations covering safety and an output schema available, the description is complete. An agent can correctly invoke it without missing information.

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 with no schema parameters, so baseline 4 applies. The description does not need to explain parameter semantics, and the schema confirms no arguments are required.

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 a specific verb and resource: 'Get server stats', reinforced by the endpoint path 'GET /api/v1/settings/about'. This clearly distinguishes it from sibling list_settings_* tools, each of which targets different settings areas.

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 sibling tools like list_settings_public or list_settings_main, nor does it describe any exclusions or preferred conditions. The endpoint path is implicit context, but there is no explicit usage guidance.

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

list_settings_cacheA
Read-onlyIdempotent

Get a list of active caches.

GET /api/v1/settings/cache

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds 'active caches' and the GET endpoint, but does not disclose further behavioral details like auth requirements or what 'active' means. With annotations present, the description does not need to repeat safety, but it also adds limited extra context.

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 second line, 'GET /api/v1/settings/cache', is somewhat redundant with the tool name and description but is not overly verbose, so it does not significantly hurt conciseness.

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

Completeness5/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 operation with rich annotations and an output schema, the description is sufficient: it states the resource being returned and the schema/annotations cover safety and response structure. There are no required parameters or complex semantics left undocumented.

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 parameter semantics are trivially satisfied. The description correctly implies a parameterless call; 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.

Purpose5/5

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

The description uses a specific verb ('Get') and resource ('active caches'), clearly distinguishing it from sibling cache mutation tools like create_settings_cache_by_cache_id_flush. It adds the 'active' qualifier, making it more informative than a tautology of 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 Guidelines4/5

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

The description gives clear context: this is a read-only list operation for active caches. It does not explicitly name alternatives or exclusions, but with zero parameters and no competing list-cache sibling, the appropriate usage is unambiguous.

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

list_settings_discoverA
Read-onlyIdempotent

Get all discover sliders.

GET /api/v1/settings/discover

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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, covering the safety profile. The description adds the HTTP method (GET) and the specific endpoint, but provides no additional behavioral context such as response structure or side effects. Given the annotation coverage, this is acceptable 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 extremely concise: one line stating the purpose and one line for the endpoint. It is front-loaded with the main action and contains no 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 read-only GET with no parameters and an existing output schema, the description is adequate. It clearly identifies the resource and the operation. It could optionally clarify what 'discover sliders' are, but the output schema likely provides that detail, and the sibling list_settings_discover_reset hints at the domain.

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. There is nothing to explain, and the description does not need to elaborate on parameters.

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 ('Get') and a specific resource ('discover sliders'), and includes the exact HTTP endpoint. This clearly differentiates it from sibling tools like list_settings_main or list_settings_public, making the purpose unambiguous.

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

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 are many list_settings_* siblings, and the description does not mention any conditions, exclusions, or preferred scenarios.

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

list_settings_discover_resetC
Read-onlyIdempotent

Reset all discover sliders.

GET /api/v1/settings/discover/reset

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior1/5

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

The description says 'Reset all discover sliders,' which implies a mutating operation, but the annotations declare readOnlyHint=true and destructiveHint=false. This is a direct contradiction. The description also fails to disclose what 'reset' means—whether sliders return to defaults, whether confirmation is needed, 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 core instruction is one clear sentence, and the HTTP endpoint line is short. The description is not bloated, but the endpoint line adds little beyond what the tool name and action already imply.

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 too sparse for a tool that performs a reset. It does not specify what 'reset' entails, whether it affects all users or just the current one, or whether it is reversible. The annotation contradiction further undermines completeness, even though an output schema exists and no parameters are 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 tool has zero parameters and 100% schema description coverage, so there is nothing for the description to clarify. The baseline of 4 for parameterless tools is appropriate; any parameter explanation would be superfluous.

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: 'Reset all discover sliders.' This clearly communicates the action and object, and the word 'all' distinguishes it from per-slider update or delete operations. However, it does not explicitly differentiate itself from sibling tools like update_settings_discover_by_slider_id or delete_settings_discover_by_slider_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 about when to use this tool versus alternatives. It does not mention that update_settings_discover_by_slider_id is for changing individual sliders, or that list_settings_discover is for viewing current settings. The usage context is only implied by the verb 'reset.'

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

list_settings_jobsA
Read-onlyIdempotent

Get scheduled jobs.

GET /api/v1/settings/jobs

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/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 extra behavioral detail (e.g., response format, authentication needs), but it is consistent with the annotations and 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.

Conciseness5/5

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

The description is only two short lines, with the purpose front-loaded in the first line and the HTTP endpoint in the second. There is no wasted text, and every element 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 zero-parameter, read-only listing operation that has an output schema and safety annotations, the description is adequate. It doesn't specify response details or pagination, but the output schema and annotations fill these gaps, so nothing essential 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 no parameters, so the schema is trivially complete with 100% coverage. The description does not need to explain parameters, and it adds no confusion. Its neutrality 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 a clear action ('Get') and a specific resource ('scheduled jobs'), which precisely identifies the tool's purpose. It is distinct from sibling tools that create, run, or cancel jobs, and does not merely restate 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 tool versus alternatives such as create_settings_jobs_by_job_id_run or schedule. It simply states the action without any context about selection criteria or exclusions.

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

list_settings_logsC
Read-onlyIdempotent

Returns logs.

GET /api/v1/settings/logs

Args: take: Query parameter. skip: Query parameter. filter: Query parameter. search: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNo
takeNo
filterNo
searchNo

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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it's a safe read operation. The description adds little beyond that—it doesn't disclose sorting, default pagination limits, or whether results are chronological. Since annotations cover safety, this is acceptable but not enhanced.

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 path, but the parameter listing adds no semantic value and is essentially a repeat of the schema. It's not verbose, but it could be more informative in 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 the four parameters with zero documentation and no output schema details, this description is incomplete for an agent to use correctly. Not explaining the meaning of 'filter' or the limit/offset behavior leaves room for misconfiguration. The read-only nature is clear from annotations, but the functional 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%, meaning the schema only provides names and types (all nullable with defaults). The description merely repeats the parameter names as query parameters without explaining 'take' as limit, 'skip' as offset, 'filter' as query syntax, or 'search' as keyword. This 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 'Returns logs' is extremely vague—it does not specify what logs (e.g., application logs, audit logs) or for what resource (settings). It is not a tautology, but it provides minimal information and fails to distinguish from other list_* tools. The endpoint path is given but adds no clarity for an agent.

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 lists query parameters but doesn't explain their purpose or how to filter logs effectively. No mention of context such as 'when troubleshooting settings changes' or 'for recent errors'.

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

list_settings_mainA
Read-onlyIdempotent

Get main settings.

GET /api/v1/settings/main

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 and destructiveHint=false, so the safety profile is clear. The description adds the HTTP method (GET) and endpoint path, which is useful context but not substantive behavioral disclosure. No additional behavioral traits are mentioned, so with annotations covering the main concerns, 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?

Extremely concise: only two lines, with the core purpose front-loaded. There is no wasted text, and the structure is optimal for a tool with no parameters and a clear action.

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

Completeness5/5

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

Given no parameters, an output schema that documents the return structure, and annotations that cover the safety profile, the description is complete. An agent can call this tool correctly without additional context. Nothing 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, and schema coverage is 100% (trivially). According to the rubric, 0 params gives a baseline of 4. The description adds no parameter information, but none is needed since there are no parameters 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?

The description 'Get main settings' uses a clear verb and resource, and the name distinguishes it from other settings tools like list_settings_public or list_settings_plex. However, it does not explicitly state what 'main settings' contains or how it differs from siblings, relying on the name to carry that weight.

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 the many sibling settings tools (e.g., list_settings_about, list_settings_plex). The agent is left to infer based on the name alone, with no exclusions or alternatives mentioned.

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

list_settings_notifications_discordB
Read-onlyIdempotent

Get Discord notification settings.

GET /api/v1/settings/notifications/discord

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 this as read-only, idempotent, and non-destructive. The description adds only the HTTP GET path and does not disclose any additional behavioral context such as authentication needs, response behavior, or side effects. It does not contradict the annotations, but it adds little beyond structured data.

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: a plain-language summary followed by the exact API endpoint. It is front-loaded, contains no filler, and 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.

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 GET with an output schema and safety-related annotations, the description is sufficient to allow a correct call. It does not provide usage routing or alternative selection, but that missing guidance is already captured 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, so the input schema fully documents the call surface. The description does not need to add parameter-level meaning, and the no-parameter baseline of 4 applies.

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

Purpose4/5

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

The description uses a specific verb ('Get') and resource ('Discord notification settings') and includes the exact endpoint, so an agent can tell what the tool is for. It doesn't explicitly contrast with sibling list_settings_notifications_* tools beyond the provider name, but the resource is clear enough.

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 other notification-provider settings tools, such as list_settings_notifications_pushbullet, or versus the create_settings_notifications_discord mutation tool. The description only restates the action; the agent must infer selection from tool names alone.

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

list_settings_notifications_emailA
Read-onlyIdempotent

Get email notification settings.

GET /api/v1/settings/notifications/email

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, destructiveHint=false, and idempotentHint=true. The description simply says 'Get', which aligns with read-only behavior but adds no additional behavioral context (e.g., response format, error conditions, or any side effects). Since annotations cover safety, the description meets the baseline without 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 sentences: the primary purpose and the HTTP endpoint. Both are necessary and there is zero fluff. It is front-loaded with the action and resource, making it immediately clear to 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?

The tool is simple: no parameters, read-only, and an output schema exists (indicated by 'has output schema: true'). The description does not need to explain return values. The only minor gap is a lack of mention of what settings are included, but for a straightforward GET it is sufficiently 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 schema coverage is 100% (empty schema). Per the baseline for 0 params, the description does not need to explain parameters. The description adds no parameter-specific information, which is appropriate for a no-parameter GET 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 ('Get') and resource ('email notification settings'). It distinguishes from sibling tools by specifying 'email' as the channel, though it does not explicitly name the alternatives. The name already carries the differentiation, so the description is adequate.

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 no explicit when-to-use guidance or exclusions. It implies a retrieval operation, and the name suggests it is specific to email notifications. Sibling tools for other channels (discord, gotify, etc.) are not referenced, but the context makes the intent clear. Some guidance on when to choose this over other notification settings tools would improve it.

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

list_settings_notifications_gotifyA
Read-onlyIdempotent

Get Gotify notification settings.

GET /api/v1/settings/notifications/gotify

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 adds the HTTP GET endpoint but no additional behavioral context such as auth requirements, rate limits, or response handling. For a zero-parameter read operation this is acceptable, though not a rich disclosure.

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 lines with no filler. The core action is front-loaded, and the endpoint is a useful supplementary detail. Every element earns its place.

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

Completeness5/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-only tool with an output schema and safety annotations, the description is complete enough. An agent knows the resource, the HTTP method, and the safe read-only nature of the operation without needing 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 and the schema is empty, so there are no parameter semantics for the description to clarify. The baseline for zero-parameter tools is 4, and the description does not need to compensate for any undocumented 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 a specific verb and resource: 'Get Gotify notification settings.' This clearly distinguishes it from other notification-provider settings tools and from create_settings_notifications_gotify. The included endpoint reinforces the exact operation, though it adds little beyond the tool name itself.

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 explicit. The verb 'Get' and the readOnlyHint annotation suggest this is the tool to use for reading Gotify settings, but the description does not explicitly contrast it with create_settings_notifications_gotify or other list_settings_* siblings. No alternatives or when-not-to-use conditions are mentioned.

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

list_settings_notifications_lunaseaA
Read-onlyIdempotent

Get LunaSea notification settings.

GET /api/v1/settings/notifications/lunasea

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's GET endpoint reinforces the read-only nature but adds little beyond the annotation. No contradiction; it just does not disclose anything substantive 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.

Conciseness5/5

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

Two lines with zero waste: the purpose is front-loaded and the HTTP endpoint adds precise, actionable information. Every element 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 simple 0-parameter, read-only GET with an output schema, the description plus annotations are largely sufficient — safety is covered by annotations, return shape by the output schema, and purpose by the description. The notable gap is the lack of differentiation among the cluster of near-identical notification-setting list 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 with 100% schema coverage, so there is nothing for the description to clarify. Baseline for 0-parameter tools is 4, and the description appropriately omits parameter 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?

"Get LunaSea notification settings" states a clear verb (Get) and resource, and the HTTP endpoint disambiguates the exact operation. However, it is essentially a readable paraphrase of the tool name and does no explicit differentiation work against the many sibling notification-settings tools (pushbullet, discord, telegram, etc.), relying on the resource name alone.

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 siblings such as list_settings_notifications_pushbullet, nor the write counterpart create_settings_notifications_lunasea. The readOnlyHint annotation implies read usage, but the description itself gives no when-to-use or when-not-to-use context.

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

list_settings_notifications_pushbulletA
Read-onlyIdempotent

Get Pushbullet notification settings.

GET /api/v1/settings/notifications/pushbullet

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 fully covered. The description adds no extra behavioral context beyond the endpoint, but there are no side effects or hidden behaviors to disclose. 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?

Extremely concise: one clear descriptive sentence plus the endpoint. No filler, and the operation is front-loaded.

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

Completeness5/5

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

For a no-argument, read-only GET with an output schema and full safety annotations, this description is complete. The resource and operation are specific enough for an agent to select and invoke the tool correctly.

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

Parameters4/5

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

The tool takes zero parameters, so the schema carries no burden and the baseline is 4. The description need not explain parameters because none exist.

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

Purpose5/5

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

States the exact operation ('Get') and resource ('Pushbullet notification settings'), clearly distinguishing it from sibling mutation tools like create_settings_notifications_pushbullet and its test variant. The accompanying endpoint reinforces 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 Guidelines3/5

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

The description implies the use case—retrieve current Pushbullet notification settings—but does not explicitly say when to use it versus alternatives such as create_settings_notifications_pushbullet for updates or pushbullet_test for testing. No exclusions or 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.

list_settings_notifications_pushoverA
Read-onlyIdempotent

Get Pushover notification settings.

GET /api/v1/settings/notifications/pushover

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 covered. The description adds the HTTP method and endpoint path, which provides some API-level context. However, it does not disclose what settings are included, whether authentication is required, or any rate-limit implications, but those are partially mitigated by the existing annotations and output schema.

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 that state the purpose and the endpoint. There is no fluff, and the primary action is front-loaded. Every word adds value, making it an example of efficient, well-structured 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 zero-parameter, read-only getter with an output schema present, the description is largely complete. It clearly identifies the endpoint and action. The only minor gap is that it does not explicitly mention the existence of related sibling tools (e.g., test or sounds variants), but that is more a usage-guidance concern than a completeness issue. Given the output schema covers return values, the description sufficiently equips an agent to call the tool 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 and schema coverage is 100%, so the baseline for parameter semantics is 4. The description adds no parameter-specific information, but none is needed since the input schema is empty. It correctly implies that the tool takes no arguments.

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 ('Get') and resource ('Pushover notification settings'), making the tool's purpose immediately clear. It also includes the HTTP endpoint, which reinforces the action. The description differentiates from siblings like list_settings_notifications_pushbullet (different provider) and create_settings_notifications_pushover (a write operation), so an agent can distinguish it without opening schemas.

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 create_settings_notifications_pushover, nor that list_settings_notifications_pushover_sounds exists for a different purpose. An agent must infer usage solely from the verb 'Get' and the sibling list, which is not explicit.

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

list_settings_notifications_pushover_soundsB
Read-onlyIdempotent

Get Pushover sounds.

GET /api/v1/settings/notifications/pushover/sounds

Args: token: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo

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=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the HTTP method and endpoint, but does not disclose the token's role, authentication requirements, or response format. With annotations handling the safety aspects, this is a bare-adequate 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?

The description is very brief and front-loaded with the core purpose. The endpoint and args sections are minimal, but the args line repeats schema information without value. Despite that, it is not bloated and maintains clarity, so it earns a 4.

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 means return values do not need to be described. However, the description lacks token semantics and usage context, which are critical for an agent to invoke the tool correctly. For a simple one-parameter GET endpoint, it is minimally sufficient but leaves important gaps.

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 only says 'token: Query parameter,' which is already obvious from the schema. It does not explain what the token is (e.g., API key, auth token), whether it is required for this endpoint, or how to obtain it. An agent would have no idea what value to supply.

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 'Get Pushover sounds' states a specific verb and resource, and the included endpoint 'GET /api/v1/settings/notifications/pushover/sounds' reinforces this. It clearly differentiates from sibling tools like list_settings_notifications_pushover, which would likely cover broader notification settings, not the sounds 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 guidance on when to use this tool versus alternatives. The description does not mention that this should be used to populate a sound selection field in Pushover configuration, nor does it exclude any contexts. It merely states the action without any usage context.

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

list_settings_notifications_slackA
Read-onlyIdempotent

Get Slack notification settings.

GET /api/v1/settings/notifications/slack

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, covering the safety profile. The description adds no additional behavioral context, such as the response format or any side effects. It is consistent with the annotations, and the existing annotations adequately convey that this is a safe read operation. No contradiction exists, but the description adds minimal value beyond the structured data.

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: a single sentence stating the purpose and a separate line for the HTTP endpoint. It is front-loaded with the key information and contains no fluff or redundant content. Every sentence 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?

The tool is simple with no parameters, and an output schema exists, so the description need not explain return values. It covers the essential 'what' (retrieve Slack notification settings) without missing critical operational details. While it could mention that it returns the current settings, the name and the GET method imply this, and the output schema fills in the details.

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% description coverage (since there are no parameters to describe). The description does not need to explain parameters, and per the calibration baseline for 0 parameters, a score of 4 is appropriate. The description adds nothing extra, but none is 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 clearly states 'Get Slack notification settings', specifying a verb (get) and a resource (Slack notification settings). It distinguishes from sibling tools like list_settings_notifications_discord by naming Slack. However, it doesn't elaborate on what 'settings' entails, which is a minor gap.

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 create_settings_notifications_slack or the test variants. There is no mention of prerequisites, exclusions, or when to prefer other tools. The only context is the name itself, which is not sufficient for an agent to make a routing decision.

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

list_settings_notifications_telegramA
Read-onlyIdempotent

Get Telegram notification settings.

GET /api/v1/settings/notifications/telegram

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/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 safety profile is covered. The description adds no extra behavioral context such as authentication requirements, response format, or side effects, but it also 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, front-loading the purpose in the first sentence and providing the exact HTTP endpoint in the second. Every element is useful and there is no redundant or vague wording.

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

Completeness5/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 strong annotations, the description provides sufficient context. It identifies the operation, resource, and endpoint, and no additional preconditions or return-value explanations are necessary given the output schema.

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

Parameters4/5

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

The tool has zero parameters, so the schema is fully covered and there is nothing for the description to explain about parameters. The description correctly focuses on the resource and 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 states a specific verb and resource: 'Get Telegram notification settings.' It clearly distinguishes which settings are accessed and is scoped to Telegram, separating it from sibling notification-settings tools despite not naming them explicitly.

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

Usage Guidelines3/5

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

The description does not explicitly mention alternatives or when not to use this tool, but its usage is clearly implied by the resource name and description: use it when retrieving Telegram notification settings. No additional context is provided for choosing among similar list_settings_notifications_* siblings.

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

list_settings_notifications_webhookA
Read-onlyIdempotent

Get webhook notification settings.

GET /api/v1/settings/notifications/webhook

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?

The annotations already cover the important safety profile with readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the exact GET endpoint but little additional behavioral context such as auth requirements or configuration scope. 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?

The description is extremely concise and front-loaded, with a clear human-readable purpose followed by the exact API endpoint. There is no filler or redundant elaboration.

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 GET tool with a meaningful output schema and safety annotations, this description provides the essential information needed to select and invoke it. It is slightly thin on distinguishing among the many notification-setting siblings, but nothing critical for invocation 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 and the input schema is empty with 100% coverage, so there are no parameter semantics for the description to clarify. The baseline of 4 for parameterless tools 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 clearly states the verb ('Get') and the specific resource ('webhook notification settings'), which distinguishes it from the many sibling notification-setting tools and from the create_settings_notifications_webhook mutation. The resource scope is unambiguous.

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

Usage Guidelines3/5

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

The usage context is only implied: call this tool when you need the current webhook notification settings. It does not explicitly name alternatives or state when-not-to-use, and it could have pointed to create_settings_notifications_webhook for modifications. The verb 'Get' gives a basic selection signal, but no explicit routing guidance is provided.

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

list_settings_notifications_webpushA
Read-onlyIdempotent

Get Web Push notification settings.

GET /api/v1/settings/notifications/webpush

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the HTTP endpoint and method, which provides minor extra context, but no deeper behavioral details such as response shape or permission 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 two short lines with no filler: a clear purpose statement followed by the exact endpoint. Every element earns its place.

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

Completeness5/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 settings retrieval tool with an output schema and strong annotations, the description is fully sufficient. 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 the input schema is trivially complete. The description does not need to explain parameter semantics, 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.

Purpose5/5

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

The description uses a specific verb ('Get') and a specific resource ('Web Push notification settings'), clearly stating what the tool does. The resource name also differentiates it from siblings like list_settings_notifications_pushbullet and create_settings_notifications_webpush.

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 such as creating or testing webpush settings. The verb 'Get' implies retrieval, but there is no explicit 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.

list_settings_plexB
Read-onlyIdempotent

Get Plex settings.

GET /api/v1/settings/plex

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 declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds minimal behavioral context beyond the HTTP path; it does not describe what settings are returned or any special behavior, 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 extremely concise and front-loaded with the verb. It is appropriately sized for a no-parameter GET, though it may be too terse to provide helpful 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?

Given the output schema exists and there are no parameters, the description is minimal. It lacks context on the exact meaning of 'Plex settings' and fails to distinguish from sibling tools, which is a significant gap for an agent deciding which tool to call.

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 input. The description adds no parameter details, but the baseline for zero parameters is 4, and there is nothing to explain.

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 and resource ('Get Plex settings') and is unambiguous in its verb. However, it does not differentiate from sibling tools like list_settings_plex_devices_servers, list_settings_plex_library, etc., leaving the exact scope of 'Plex settings' ambiguous.

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 other list_settings_plex_* tools. The description does not mention any conditions, 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_settings_plex_devices_serversA
Read-onlyIdempotent

Gets the user's available Plex servers.

GET /api/v1/settings/plex/devices/servers

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds only the endpoint path and a restatement of the resource; it does not disclose additional behavioral context such as authentication needs, failure modes, or what 'available' means.

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: a plain-language summary followed by the exact endpoint. Every word earns its place and the key information 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 endpoint with an output schema, the description is nearly complete. It states what the tool returns ('available Plex servers') but does not position it against the close siblings, which 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 input schema has zero parameters, so there are no parameter semantics the description needs to clarify. The zero-parameter baseline of 4 applies.

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

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: 'Gets the user's available Plex servers.' It clearly identifies the target as servers rather than library, users, or sync, which distinguishes it from the many Plex-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?

The description provides no guidance on when to use this tool versus alternatives like list_settings_plex_library or list_settings_plex_users. It does not mention exclusions, prerequisites, or when another sibling would be more appropriate.

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

list_settings_plex_libraryC
Read-onlyIdempotent

Get Plex libraries.

GET /api/v1/settings/plex/library

Args: sync: Syncs the current libraries with the current Plex server enable: Comma separated list of libraries to enable. Any libraries not passed will be disabled!

ParametersJSON Schema
NameRequiredDescriptionDefault
syncNo
enableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior1/5

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

The description explicitly says 'sync' syncs libraries and 'enable' can disable any libraries not passed, which is mutation and potentially destructive. This directly contradicts the annotations readOnlyHint=true and destructiveHint=false, making the tool's behavior dangerously ambiguous despite the description's 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 brief and front-loaded with the core purpose, followed by a clean endpoint line and two parameter bullets. Every line earns its place, though the sync value format could have been clarified without much extra 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?

The output schema exists, so return values need not be explained, but the tool's behavior is incomplete: it does not clarify valid sync values, combination semantics with enable, or the relationship to list_settings_plex_sync. The annotation contradiction on mutability further undermines 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 coverage is 0%, so the description must explain the parameters. It does partially: 'sync' is described as syncing with the Plex server, and 'enable' is explained as a comma-separated list with a clear disable warning. However, sync's accepted value format and how the parameters interact are left unclear.

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 'Get Plex libraries' and gives the exact endpoint, so the verb and resource are clear. It does not distinguish itself from siblings like list_settings_plex or list_settings_plex_sync, but the resource is specific enough that an agent can identify the intended 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 call this tool versus the closely related sibling list_settings_plex_sync or list_settings_plex. The description only lists parameters; it never states when this endpoint is the right choice or when an alternative 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_settings_plex_syncA
Read-onlyIdempotent

Get status of full Plex library scan.

GET /api/v1/settings/plex/sync

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds only the specific resource being read, which is consistent with the annotations but does not disclose any unique behavioral traits beyond them. This meets the lower bar set by 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 two concise components: a clear one-line purpose and an endpoint reference. The core statement is front-loaded, and there is no redundant or vague language.

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

Completeness5/5

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

This is a parameterless read operation with an output schema present, so return value details are handled by the schema. The description gives the agent exactly what it needs to select and invoke the tool correctly, given the low complexity and rich structured metadata.

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 description has no parameter semantics to add. The baseline of 4 is appropriate because no parameter documentation is needed.

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 specifically identifies the resource ('full Plex library scan') and the action ('Get status'), and the included endpoint reinforces the exact operation. The tool name and description clearly distinguish it from the sibling create_settings_plex_sync, which would initiate a scan rather than read its status.

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 versus alternatives, such as the sibling create_settings_plex_sync or list_settings_plex. The verb 'Get' implies read-only usage, but there is no reference to other tools or conditions that would direct an agent away from this tool.

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

list_settings_plex_usersA
Read-onlyIdempotent

Get Plex users.

GET /api/v1/settings/plex/users

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, so the safe read-only nature is covered. The description adds only the GET endpoint path, which is minor context beyond what annotations already communicate.

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 sentences with no wasted words. The key statement 'Get Plex users' is front-loaded and the endpoint is a useful supplement.

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 no-parameter, read-only list operation with an output schema and safety annotations, the description is nearly sufficient. It could add a bit more context about what kind of data is returned, but nothing needed to invoke the tool 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 no parameters, so there is nothing for the description to explain. Baseline of 4 applies because parameter semantics are not a concern for this 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 states a specific verb ('Get') and resource ('Plex users'), making the basic operation clear. It does not explicitly contrast itself with sibling tools such as list_settings_plex or list_settings_plex_library, so it earns 4 rather than 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 intended use is implied by the name and the short description: call this when you need to retrieve Plex users. There is no guidance about when to prefer a sibling tool, so it does not provide explicit usage or exclusion criteria.

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

list_settings_publicB
Read-onlyIdempotent

Get public settings.

GET /api/v1/settings/public

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 adds only the HTTP endpoint, which is not behavioral context. It does not disclose auth requirements, response behavior, or what 'public settings' actually entails, though the annotations 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.

Conciseness5/5

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

The description is extremely concise: one sentence of purpose and one line for the endpoint. Every word earns its place, and the core action is front-loaded. There is no redundant exposition.

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 zero-parameter GET with an output schema and strong annotations, the low description length is partially acceptable. However, it leaves ambiguity about what 'public settings' includes and when to use this tool over sibling settings tools. The output schema covers return structure, but the description is too sparse to fully disambiguate the tool's role.

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 0 parameters, so the baseline is 4. There are no parameter semantics to document, and the description does not need to add anything for parameters. The endpoint path reinforces that this is a no-input operation.

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: 'Get public settings.' It names the HTTP endpoint, which adds specificity. However, it does not explicitly distinguish itself from sibling tools like list_settings_main or list_settings_about beyond the word 'public', so it 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?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of authentication context, what 'public' means relative to other settings tools, or any exclusions. The word 'public' only weakly implies a use case, but the description does not help an agent decide between this and the many sibling settings tools.

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

list_settings_radarrC
Read-onlyIdempotent

Get Radarr settings.

GET /api/v1/settings/radarr

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the HTTP method 'GET' and otherwise restates the tool name, disclosing no additional behavioral traits such as output format, size limits, or authentication requirements.

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 a single phrase and the endpoint. It is front-loaded and contains no filler, though it is under-specified in terms of guiding agent 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?

With zero parameters and an output schema present, the description is minimally sufficient for invocation. However, it does not clarify whether 'Radarr settings' refers to a list of configured Radarr servers or a single settings object, leaving some ambiguity that could mislead agents.

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 no parameters, so the baseline score of 4 applies. The description adds no parameter details, but none are needed since the input schema is empty.

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 'Get Radarr settings,' which clearly identifies the action and resource. However, it does not differentiate this tool from siblings such as list_settings_sonarr or get_settings_radarr_by_radarr_id_profiles, and it essentially restates 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 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. There is no mention of when to choose list_settings_radarr over list_settings_sonarr or other settings endpoints, no prerequisites, and no conditions.

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

list_settings_sonarrA
Read-onlyIdempotent

Get Sonarr settings.

GET /api/v1/settings/sonarr

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 covered. The description adds only the HTTP method and path, which is not behavioral context beyond what is obvious from a GET. It does not describe return format, auth requirements, or other side effects, but given the annotations, the bar is lower; it adds no contradictions.

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: a single sentence and the HTTP path. It is front-loaded with the core action, and every word serves a purpose. No fluff or redundant elaboration.

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 (no parameters), the presence of an output schema (which can convey return structure), and annotations covering safety, the description is nearly complete. It does not describe what settings are returned, but that is delegated to the output schema. The only minor gap is the lack of any mention of specific settings categories, but this is not critical for a simple GET.

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 description coverage is trivially 100%. The baseline for 0 params is 4, and the description does not need to explain any parameters. It adds no parameter-specific information, but none is required.

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 clear verb ('Get') and a specific resource ('Sonarr settings'), which unambiguously identifies the tool's purpose. It distinguishes itself from sibling tools like list_settings_radarr by explicitly naming Sonarr, so an agent can tell them apart without needing to inspect schemas.

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, exclusions, or reference to other settings tools. The usage is implied solely by the tool name, but the description adds no explicit guidance on selection criteria.

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

list_settings_tautulliA
Read-onlyIdempotent

Get Tautulli settings.

GET /api/v1/settings/tautulli

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, idempotentHint, and destructiveHint, covering the safety profile. The description adds the concrete GET endpoint, which is mildly useful, but it does not disclose auth requirements, response size, or any other behavioral details 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.

Conciseness5/5

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

The description is two short lines with no fluff. It front-loads the purpose ('Get Tautulli settings') and includes the exact API path, making every element informative without wasting tokens.

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

Completeness5/5

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

For a parameterless read-only GET with an output schema, nothing critical is missing. The endpoint is specified, annotations cover safety, and the return value is presumably documented in the output schema, so the agent has enough to invoke the tool 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 parameter documentation is not needed. With 100% schema description coverage and an empty properties object, the description cannot add meaningful parameter semantics. A baseline of 4 is appropriate 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 clearly states the action ('Get') and the resource ('Tautulli settings'), and the endpoint line confirms this is a read-only fetch. It is unambiguous, though it does not explicitly contrast with the many other list_settings_* 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 such as list_settings_main or create_settings_tautulli. The intended use is implied by the verb and resource name, 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_statusA
Read-onlyIdempotent

Get Overseerr status.

GET /api/v1/status

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 agent knows this is a safe, non-mutating read operation. The description adds the HTTP endpoint (GET /api/v1/status), which is useful, but it does not disclose what the returned status object contains (e.g., version, uptime, database status). Since 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, consisting of a single sentence and the HTTP path. Every word earns its place, and there is no fluff. For a zero-parameter status endpoint, this is perfectly 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 that the tool has no parameters, an output schema exists, and annotations cover safety, the description is complete enough. It states the purpose and the endpoint. An agent can correctly invoke this tool without additional information.

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 imposes no burden. The description does not need to explain parameters, and it adds nothing beyond the endpoint. With no parameters, the 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 states a specific verb ('Get') and a clear resource ('Overseerr status'). It is unambiguous and distinct from sibling tools like list_settings_about or list_settings_public, though it does not explicitly differentiate itself from them. The name itself is also descriptive, so the purpose is 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?

No guidance is given on when to use this tool versus alternatives. Since it is a status check, the intended use is somewhat obvious, but the description does not state any conditions or contexts where it should be preferred. It also does not mention any exclusions or prerequisites.

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

list_status_appdataA
Read-onlyIdempotent

Get application data volume status.

GET /api/v1/status/appdata

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, idempotentHint, and non-destructive behavior, so the description does not need to restate safety. It adds the fact that this is a GET endpoint scoped to appdata status, but gives no further detail about what the status payload contains. 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.

Conciseness5/5

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

The description is two short, front-loaded sentences with no wasted text. The endpoint line adds exact routing information without padding.

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

Completeness5/5

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

For a parameterless, read-only status operation with an output schema present, the description covers everything needed to invoke it correctly. The annotations and output schema handle the remaining behavioral and return-value 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 input schema has zero parameters and schema description coverage is 100%, so the baseline of 4 applies. The description does not need to explain parameter meanings 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 identifies a specific action and resource: getting the application data volume status via GET /api/v1/status/appdata. This is clear enough to separate it from generic list_status by resource, though it does not explicitly contrast it with siblings.

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_status or list_settings_about. The description states only what the endpoint does, leaving the selection logic 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_userC
Read-onlyIdempotent

Get all users.

GET /api/v1/user

Args: take: Query parameter. skip: Query parameter. sort: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNo
sortNo
takeNo

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, covering the safety profile. The description adds only the HTTP endpoint and parameter names, but not pagination behavior, return format, or auth requirements. Marginal 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 concise and front-loaded with the purpose. The Args section is minimal but adds no semantic enrichment beyond naming parameters. It is not verbose, yet it also does not earn its sentences fully.

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 list tool with three optional parameters and an output schema, the core purpose is stated. However, it lacks usage guidance relative to siblings and does not explain how the parameters affect the result, leaving uncertainty about pagination and sorting.

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 schema provides no explanations. The description merely labels take, skip, and sort as query parameters without clarifying that take is a limit, skip is an offset, or sort ordering. It fails to compensate 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?

Description states 'Get all users.' which is a clear verb+resource. It is distinguishable from the singular get_user_by_user_id and other list_* siblings, though it does not explicitly contrast with 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?

No guidance on when to use this over alternatives. It does not mention that it returns all users without filtering, nor does it differentiate from list_media, list_request, or list_issue. Only parameter names are listed.

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

list_watchproviders_moviesC
Read-onlyIdempotent

Get watch provider movies.

GET /api/v1/watchproviders/movies

Args: watch_region: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
watch_regionNo

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 readOnlyHint=true and idempotentHint=true, so safety is covered. The description adds the HTTP endpoint and the parameter name, but no behavioral details such as what the response contains, whether results are filtered by region, pagination, or any other behaviors. The endpoint is context, but not 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 concise and front-loaded with the action. Including the endpoint is useful, and the structure is clear. However, the 'Args' section merely restates the schema parameter, adding little value, so it could be trimmed. Overall, it is efficient and well-structured.

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 optional parameter and an output schema, the description is under-specified. It does not clarify what 'watch provider movies' means, how watch_region affects results, or how this differs from list_watchproviders_tv. The output schema may describe return values, but the tool's purpose and parameter semantics remain vague enough that an agent might mis-select or misuse 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 coverage is 0%, so the description carries the full burden. It only states 'watch_region: Query parameter,' which adds no meaning beyond the schema's property label 'Watch Region,' type string/null, and default null. It does not explain the allowed format (e.g., ISO 3166-1 alpha-2), whether it is required, or how it filters results.

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: 'Get watch provider movies.' The resource 'movies' distinguishes it from sibling list_watchproviders_tv, and the name itself further clarifies. However, it does not explicitly differentiate from siblings like list_watchproviders_tv or list_watchproviders_regions, and the meaning of 'watch provider movies' could be interpreted as movies from providers or providers offering movies.

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 is for movies (vs. TV) or that watch_region filters by region, and it does not reference sibling tools. An agent would have to 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.

list_watchproviders_regionsB
Read-onlyIdempotent

Get watch provider regions.

GET /api/v1/watchproviders/regions

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?

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds no behavioral information beyond restating the GET nature of the call. There is no mention of response size, pagination, auth requirements, or other runtime traits.

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: a one-line purpose plus the endpoint. Every element earns its place, and 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 zero-parameter, read-only tool with an output schema and strong annotations, the description is largely sufficient to call the tool. The main remaining gap is ambiguity with the sibling list_regions, but the resource name is explicit enough to make the call 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 and 100% schema coverage, so there is nothing the description needs to explain. The baseline of 4 applies because the schema and context signals fully cover 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 clearly states the operation ('Get') and resource ('watch provider regions'), making the tool's basic purpose immediately understandable. However, it does not distinguish this tool from the similar sibling list_regions, 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?

There is no guidance on when to use this tool versus alternatives such as list_regions or list_watchproviders_movies/list_watchproviders_tv. No 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.

list_watchproviders_tvB
Read-onlyIdempotent

Get watch provider series.

GET /api/v1/watchproviders/tv

Args: watch_region: Query parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
watch_regionNo

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, covering the safety profile. The description adds the exact endpoint but does not disclose any further behavioral traits such as pagination, error handling, or authentication needs. Given the annotations, the description adds minimal extra context.

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 avoids unnecessary verbosity and is appropriately sized for a simple GET tool, though it sacrifices informative content 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?

The tool has one optional parameter and an output schema, so return values are covered by the schema. However, the description fails to explain the parameter's semantics or provide usage context, making it incomplete for an agent to know how to use watch_region correctly. The lack of schema descriptions makes this gap more severe.

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 identifies watch_region as a query parameter, which is already implied by the schema. It does not explain that the parameter is a region code, its possible values, or how it affects the response. This is a significant gap for an agent to correctly invoke the tool.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'watch provider series', which is specific and distinguishes it from sibling tools like list_watchproviders_movies and list_watchproviders_regions by specifying 'series'. The endpoint further clarifies the scope.

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 based on resource type (series) but does not explicitly mention when to use this tool versus alternatives like list_watchproviders_movies or list_watchproviders_regions. No conditions or exclusions are provided, 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.

update_issue_comment_by_comment_idA
Idempotent

Update issue comment.

PUT /api/v1/issueComment/{commentId}

Args: comment_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
bodyYes
comment_idYes

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 convey that this is not read-only, is idempotent, and is not destructive. The description adds a useful discovery pointer to the GET/schema endpoint but does not elaborate on update semantics, 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.

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 method/path, and a short Args list. Every sentence adds useful information with 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?

The tool is a simple two-parameter update with an output schema and helpful annotations. The description covers the purpose, endpoint, parameter roles, and a discovery strategy for body fields, which is adequate for an open-schema body.

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 comment_id as a path parameter and body as the request payload. It also tells the agent to consult the matching GET or /schema endpoint to learn expected body fields, which is valuable for an open additionalProperties 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 operation clearly: 'Update issue comment' and reinforces it with the PUT endpoint. This distinguishes it from sibling tools like create_issue_by_issue_id_comment, get_issue_comment_by_comment_id, and delete_issue_comment_by_comment_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 makes clear it updates an existing issue comment and advises reading the matching GET or /schema endpoint first. However, it does not explicitly state when to prefer this tool over alternatives or mention any exclusions.

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

update_request_by_request_idA
Idempotent

Update MediaRequest.

PUT /api/v1/request/{requestId}

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

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
request_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=false and idempotentHint=true, which align with 'Update' and PUT. The description adds the guidance to inspect the schema/GET for the body structure, which is behavioral context. No contradictions, but little extra disclosure 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.

Conciseness4/5

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

The description is compact, starting with the purpose, then the HTTP method, then an Args section. It avoids fluff, but the 'PUT /api/v1/request/{requestId}' line is somewhat redundant with the tool name and could be merged. Still well-structured 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 that an output schema exists (so return values are covered) and there are only two parameters, the description sufficiently guides an agent on how to construct a correct call, especially with the pointer to external schema for the body. No major missing information for a typical mutation 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?

Schema coverage is 0%, so the description must compensate. It defines request_id as 'Request ID' and describes body as a 'Request payload' with explicit instructions to read the GET/schema endpoints to determine its fields. This adds meaningful guidance beyond bare parameter names and types.

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 MediaRequest' with a clear verb and resource, and also includes the HTTP method and path. It is obviously distinct from create/delete/get siblings in name, but does not explicitly contrast with them. Still, 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 Guidelines3/5

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

It advises reading the matching GET or /schema endpoint before using, which is a useful precursor, but it does not state when to prefer this tool over alternatives (e.g., update vs create). The context is partially there but not explicit about selection.

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

update_settings_discover_by_slider_idA
Idempotent

Update a single slider.

PUT /api/v1/settings/discover/{sliderId}

Args: slider_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
bodyYes
slider_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare this as readOnly=false, idempotent=true, and destructive=false, so no contradiction exists. The description supplements those annotations by exposing the PUT method and directing agents to inspect the matching GET or /schema endpoint to learn the expected payload shape before mutating. This is useful behavioral context, though it does not go deep into 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 compact, front-loaded with the core action, and uses a clear endpoint and Args structure. Every sentence contributes necessary information, 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?

Given that the body schema is an opaque object with additionalProperties true, the description compensates well by instructing agents to consult the matching GET or /schema endpoint first. Combined with the output schema and annotations, this is sufficient for a competent agent to perform the update correctly, though a bit more context about required vs optional body fields would complete the picture.

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 carries the burden of explaining the parameters. It does this well by clarifying slider_id is a path parameter and body is the request payload, then pointing to external schema sources for the body fields. It adds meaning beyond the bare object and number types, even though it deliberately omits the dynamic field list.

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 a specific verb and resource: 'Update a single slider.' Together with the PUT endpoint and the tool name, it is clearly distinct from sibling operations like create or delete settings discover sliders. It fully identifies what the tool does without needing to inspect the schema.

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 context is implied by 'Update a single slider' and the PUT endpoint, and the description gives useful pre-call guidance to read the matching GET or /schema endpoint first. However, it does not explicitly state when to prefer this tool over alternatives, nor any conditions or exclusions, so the guidance remains implicit rather than fully articulated.

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

update_settings_radarr_by_radarr_idA
Idempotent

Update Radarr instance.

PUT /api/v1/settings/radarr/{radarrId}

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

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
radarr_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=false, idempotentHint=true, and destructiveHint=false, and the description's "Update" aligns with these. The description adds the useful PUT-specific behavior and the need to fetch the schema before building the payload, but it does not disclose side effects, partial vs full replacement, or authorization expectations.

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 tightly structured with the one-line purpose, endpoint, and argument list. Every sentence contributes meaning, and the most important preparation guidance (read GET/schema first) is included without unnecessary elaboration.

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, return values do not need to be described in prose. The description covers the key preparation step for the dynamic body parameter and the resource identifier, but it would be slightly stronger if it explicitly pointed to list_settings_radarr or the matching GET tool as the source for obtaining a valid radarr_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?

Schema description coverage is 0%, so the description carries the parameter documentation burden. It explicitly defines radarr_id as "Radarr instance ID" and body as a request payload, and tells the agent to consult the matching GET or /schema endpoint for field details, which is essential because body is an opaque object with additionalProperties allowed.

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 and resource: "Update Radarr instance" and the PUT endpoint. It clearly identifies the target and differentiates it from the Sonarr counterpart, 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 description implies use for modifying an existing Radarr configuration and instructs the agent to read the matching GET or /schema endpoint before constructing the body. However, it does not explicitly state when to use this tool instead of create_settings_radarr, delete_settings_radarr_by_radarr_id, or the similar Sonarr update.

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

update_settings_sonarr_by_sonarr_idA
Idempotent

Update Sonarr instance.

PUT /api/v1/settings/sonarr/{sonarrId}

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

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
sonarr_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 convey readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the PUT method and advises inspecting the GET or /schema endpoint before sending a body, which hints at the request contract, but it does not describe authorization requirements or side effects 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.

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 route, and a short Args list. Every sentence earns its place, with no filler or repetition of schema details.

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

Completeness4/5

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

For a tool with a free-form body parameter and an output schema, the instruction to read the matching GET or /schema endpoint addresses the main invocation unknown. The description is less explicit about when to use it relative to sibling settings tools, but annotations and the output schema cover safety and return expectations sufficiently.

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 the body parameter is an open additionalProperties object. The description compensates by identifying sonarr_id as the Sonarr instance ID and explaining that body is the request payload whose fields should be discovered from the matching GET or /schema endpoint, which is essential guidance for an otherwise opaque 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 opens with "Update Sonarr instance" and specifies the exact HTTP route PUT /api/v1/settings/sonarr/{sonarrId}, making the verb and resource clear. It is distinguishable from create/delete/list siblings by the word "Update" and the sonarrId path parameter, though it does not explicitly name those alternatives.

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

Usage Guidelines3/5

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

Usage is implied by "Update Sonarr instance" and the PUT method, but the description does not explicitly say when to choose this over create_settings_sonarr or delete_settings_sonarr_by_sonarr_id. It does provide a practical prerequisite: read the matching GET or /schema endpoint first to understand the expected body fields.

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

update_userA
Idempotent

Update batch of users.

PUT /api/v1/user

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

A4.2/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, idempotent, not destructive. The description adds the endpoint and a schema-discovery note, but does not disclose additional behavioral traits like partial failure behavior or side effects. 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 compact: a one-sentence purpose, the endpoint, and a single args note. Every line earns its place, and the key operation 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?

With annotations covering idempotency and destructiveness, plus an output schema present, the main missing piece is the body structure. The description addresses this by telling the agent to consult the GET or /schema endpoint. Minor gaps remain around batch body formatting and explicit routing against sibling tools, but they do not block 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 body parameter is an opaque object with additionalProperties: true and 0% schema coverage. The description compensates by naming body as the request payload and directing the agent to the matching GET or /schema endpoint to learn the expected fields. It does not spell out the exact batch shape, but this is a meaningful pointer for an open-world body.

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 'Update batch of users' with a clear verb and resource. The word 'batch' differentiates it from the sibling update_user_by_user_id, which targets a single user, and the HTTP endpoint is provided.

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 batch scope is clear, and the instruction to read the matching GET or /schema endpoint before building the body is a useful precondition. However, it does not explicitly state when to prefer this over update_user_by_user_id or list other alternatives.

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

update_user_by_user_idA
Idempotent

Update a user by user ID.

PUT /api/v1/user/{userId}

Args: user_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
bodyYes
user_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already convey that the tool is not read-only, is idempotent, and is not destructive. The description adds the HTTP method and the body-discovery requirement, but does not disclose additional behavioral details such as permissions 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 compact and front-loaded: a one-sentence purpose, the endpoint, then parameter roles. Every line contributes useful information without redundancy 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?

Given the presence of output schema and annotations, the description is reasonably complete for invoking the tool: it identifies the endpoint, parameter roles, and where to discover body fields. The main gap is lack of sibling differentiation, which prevents a higher score.

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 user_id is a path parameter and body is the request payload. However, it defers actual field semantics to external endpoints rather than providing them directly, leaving the body structure unspecified.

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 a user') and identifies the target by user ID, which aligns with the tool name. It does not explicitly distinguish itself from the sibling tool 'update_user', though 'by user ID' provides some differentiation.

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 practical guidance: read the matching GET or /schema endpoint to discover expected body fields. This tells the agent how to construct a valid request, though it does not state when to choose this tool over alternatives like update_user.

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. 170 tool updatesv1.0.0
    • First observedcreate_auth_local
    • First observedcreate_auth_logout
    • First observedcreate_auth_plex
    • First observedcreate_auth_reset_password
    • First observedcreate_auth_reset_password_by_guid
    • First observedcreate_issue
    • First observedcreate_issue_by_issue_id_by_status
    • First observedcreate_issue_by_issue_id_comment
    • First observedcreate_media_by_media_id_by_status
    • First observedcreate_request
    • First observedcreate_request_by_request_id_by_status
    • First observedcreate_request_by_request_id_retry
    • First observedcreate_settings_cache_by_cache_id_flush
    • First observedcreate_settings_discover
    • First observedcreate_settings_discover_add
    • First observedcreate_settings_initialize
    • First observedcreate_settings_jobs_by_job_id_cancel
    • First observedcreate_settings_jobs_by_job_id_run
    • First observedcreate_settings_jobs_by_job_id_schedule
    • First observedcreate_settings_main
    • First observedcreate_settings_main_regenerate
    • First observedcreate_settings_notifications_discord
    • First observedcreate_settings_notifications_discord_test
    • First observedcreate_settings_notifications_email
    • First observedcreate_settings_notifications_email_test
    • First observedcreate_settings_notifications_gotify
    • First observedcreate_settings_notifications_gotify_test
    • First observedcreate_settings_notifications_lunasea
    • First observedcreate_settings_notifications_lunasea_test
    • First observedcreate_settings_notifications_pushbullet
    • First observedcreate_settings_notifications_pushbullet_test
    • First observedcreate_settings_notifications_pushover
    • First observedcreate_settings_notifications_pushover_test
    • First observedcreate_settings_notifications_slack
    • First observedcreate_settings_notifications_slack_test
    • First observedcreate_settings_notifications_telegram
    • First observedcreate_settings_notifications_telegram_test
    • First observedcreate_settings_notifications_webhook
    • First observedcreate_settings_notifications_webhook_test
    • First observedcreate_settings_notifications_webpush
    • First observedcreate_settings_notifications_webpush_test
    • First observedcreate_settings_plex
    • First observedcreate_settings_plex_sync
    • First observedcreate_settings_radarr
    • First observedcreate_settings_radarr_test
    • First observedcreate_settings_sonarr
    • First observedcreate_settings_sonarr_test
    • First observedcreate_settings_tautulli
    • First observedcreate_user
    • First observedcreate_user_by_user_id_settings_main
    • First observedcreate_user_by_user_id_settings_notifications
    • First observedcreate_user_by_user_id_settings_password
    • First observedcreate_user_by_user_id_settings_permissions
    • First observedcreate_user_import_from_plex
    • First observedcreate_user_register_push_subscription
    • First observeddelete_issue_by_issue_id
    • First observeddelete_issue_comment_by_comment_id
    • First observeddelete_media_by_media_id
    • First observeddelete_request_by_request_id
    • First observeddelete_settings_discover_by_slider_id
    • First observeddelete_settings_radarr_by_radarr_id
    • First observeddelete_settings_sonarr_by_sonarr_id
    • First observeddelete_user_by_user_id
    • First observeddelete_user_by_user_id_push_subscription_by_endpoint
    • First observedget_collection_by_collection_id
    • First observedget_discover_keyword_by_keyword_id_movies
    • First observedget_discover_movies_genre_by_genre_id
    • First observedget_discover_movies_language_by_language
    • First observedget_discover_movies_studio_by_studio_id
    • First observedget_discover_tv_genre_by_genre_id
    • First observedget_discover_tv_language_by_language
    • First observedget_discover_tv_network_by_network_id
    • First observedget_issue_by_issue_id
    • First observedget_issue_comment_by_comment_id
    • First observedget_keyword_by_keyword_id
    • First observedget_media_by_media_id_watch_data
    • First observedget_movie_by_movie_id
    • First observedget_movie_by_movie_id_ratings
    • First observedget_movie_by_movie_id_ratingscombined
    • First observedget_movie_by_movie_id_recommendations
    • First observedget_movie_by_movie_id_similar
    • First observedget_network_by_network_id
    • First observedget_person_by_person_id
    • First observedget_person_by_person_id_combined_credits
    • First observedget_request_by_request_id
    • First observedget_service_radarr_by_radarr_id
    • First observedget_service_sonarr_by_sonarr_id
    • First observedget_service_sonarr_lookup_by_tmdb_id
    • First observedget_settings_radarr_by_radarr_id_profiles
    • First observedget_studio_by_studio_id
    • First observedget_tv_by_tv_id
    • First observedget_tv_by_tv_id_ratings
    • First observedget_tv_by_tv_id_recommendations
    • First observedget_tv_by_tv_id_season_by_season_id
    • First observedget_tv_by_tv_id_similar
    • First observedget_user_by_user_id
    • First observedget_user_by_user_id_push_subscription_by_endpoint
    • First observedget_user_by_user_id_push_subscriptions
    • First observedget_user_by_user_id_quota
    • First observedget_user_by_user_id_requests
    • First observedget_user_by_user_id_settings_main
    • First observedget_user_by_user_id_settings_notifications
    • First observedget_user_by_user_id_settings_password
    • First observedget_user_by_user_id_settings_permissions
    • First observedget_user_by_user_id_watch_data
    • First observedget_user_by_user_id_watchlist
    • First observedlist_auth_me
    • First observedlist_backdrops
    • First observedlist_discover_genreslider_movie
    • First observedlist_discover_genreslider_tv
    • First observedlist_discover_movies
    • First observedlist_discover_movies_upcoming
    • First observedlist_discover_trending
    • First observedlist_discover_tv
    • First observedlist_discover_tv_upcoming
    • First observedlist_discover_watchlist
    • First observedlist_genres_movie
    • First observedlist_genres_tv
    • First observedlist_issue
    • First observedlist_issue_count
    • First observedlist_languages
    • First observedlist_media
    • First observedlist_regions
    • First observedlist_request
    • First observedlist_request_count
    • First observedlist_search
    • First observedlist_search_company
    • First observedlist_search_keyword
    • First observedlist_service_radarr
    • First observedlist_service_sonarr
    • First observedlist_settings_about
    • First observedlist_settings_cache
    • First observedlist_settings_discover
    • First observedlist_settings_discover_reset
    • First observedlist_settings_jobs
    • First observedlist_settings_logs
    • First observedlist_settings_main
    • First observedlist_settings_notifications_discord
    • First observedlist_settings_notifications_email
    • First observedlist_settings_notifications_gotify
    • First observedlist_settings_notifications_lunasea
    • First observedlist_settings_notifications_pushbullet
    • First observedlist_settings_notifications_pushover
    • First observedlist_settings_notifications_pushover_sounds
    • First observedlist_settings_notifications_slack
    • First observedlist_settings_notifications_telegram
    • First observedlist_settings_notifications_webhook
    • First observedlist_settings_notifications_webpush
    • First observedlist_settings_plex
    • First observedlist_settings_plex_devices_servers
    • First observedlist_settings_plex_library
    • First observedlist_settings_plex_sync
    • First observedlist_settings_plex_users
    • First observedlist_settings_public
    • First observedlist_settings_radarr
    • First observedlist_settings_sonarr
    • First observedlist_settings_tautulli
    • First observedlist_status
    • First observedlist_status_appdata
    • First observedlist_user
    • First observedlist_watchproviders_movies
    • First observedlist_watchproviders_regions
    • First observedlist_watchproviders_tv
    • First observedupdate_issue_comment_by_comment_id
    • First observedupdate_request_by_request_id
    • First observedupdate_settings_discover_by_slider_id
    • First observedupdate_settings_radarr_by_radarr_id
    • First observedupdate_settings_sonarr_by_sonarr_id
    • First observedupdate_user
    • First observedupdate_user_by_user_id

TDQS

B3/5.0

Scored across 170 tools

Disambiguation4/5

Most tools are clearly distinguished by resource and action, and descriptions clarify the differences (e.g., settings vs. service endpoints for Radarr/Sonarr). However, some overlap exists between notification settings tools and push-subscription user tools, and between GET/PUT request updates and status-change POST endpoints, which could cause misselection.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern derived from REST paths (list_, get_, create_, update_, delete_). Even long names like create_settings_notifications_telegram_test are predictable and uniform, with no camelCase or mixed conventions.

Tool Count2/5

With 170 tools, the surface is severely overwhelming for an agent. Many tools could be consolidated (e.g., a single notification-settings tool with a provider parameter), and the sheer number far exceeds the typical 3-15 well-scoped range, making selection and discovery impractical.

Completeness4/5

The tool set covers most core CRUD and lifecycle operations for auth, users, requests, issues, media, discover, settings, and services. Minor gaps exist, such as no generic get_media_by_media_id or full update_issue (only status changes), but these are workable and the overall domain is well covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with Jellyseerr media request systems through natural language. Supports searching for media, creating requests, checking request status, and managing your media library workflow.
    8
    -
  • A
    license
    B
    quality
    A
    maintenance
    MCP server exposing Seerr's full v1 REST API as tools, enabling LLMs to search and discover media, manage requests and approvals, users, issues, watchlists, and integration settings for Plex/Jellyfin/Emby and Sonarr/Radarr, including reads and writes with destructive operations flagged.
    15
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Enables full control of Sonarr from Claude.ai and Claude Code by exposing all 234 v3 API operations as tools for managing media libraries.
    234
    8 npm
    MIT