Skip to main content
Glama

Server Details

No-code app builder: manage your GoodBarber mobile app, shop, community and content. MCP 2026-07-28.

Ownership verified
Status
Healthy
Uptime
96.2% over 21 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
goodbarber/goodbarber-skills
GitHub Stars
0

TDQS

C2.9/5.0

Scored across 120 tools

Disambiguation4/5

Tool names clearly encode the domain, action, and entity type, so most tools are easy to tell apart even with brief descriptions. However, paragraph tools share nearly identical descriptions, shop_get_variant has a contradictory description, and a few pairs like cms_list_sections vs cms_list_cms_sections could cause misselection.

Naming Consistency4/5

The set follows a consistent snake_case verb_noun pattern with cms_ and shop_ prefixes. Minor inconsistencies such as cms_create_photos (plural) vs singular delete/update tools and promocodes singular/plural in create vs list names prevent a perfect score.

Tool Count1/5

With 120 tools, this is an extreme mismatch for an MCP server's typical scope, far exceeding the 50-tool threshold. Even with two major domains, the size makes it unwieldy for agents to reason over and increases selection overhead substantially.

Completeness3/5

CMS content types and shop products have strong CRUD and paragraph coverage, and the shop side includes orders, promocodes, analytics, and push notifications. Notable gaps exist: promocodes can be created/read/listed but not updated/deleted, collections and tags are read-only, and category create/update/delete operations are absent.

Available Tools

120 tools
cms_create_articleCreate articleAInspect

Create article. Guidance: Create one CMS article from article category ids. | context: title, categories

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoOptional editorial date in RFC 3339 format, for example 2026-05-04T10:00:00+02:00.
metaNoOptional SEO payload with title and description.
slugNoOptional URL slug; the server may normalize it.
titleYesHeadline shown in feeds and on the item page.
authorNoOptional byline or author display name. If omitted, the app account holder's name is used.
leadinNoOptional deck HTML.
pinnedNoWhether the article is pinned in its category listing.
statusNoPublication status. Omit on create to default to published. Do not send scheduled.
accessTierNoPaywall tier. 'premium' locks the article behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.
categoriesYesNon-empty category id array. Use cms_list_cms_sections to discover article category ids.
publishedDateNoFuture ISO datetime for deferred publication. Requires status='stock' when provided.
commentsEnabledNoWhether end-user comments are enabled for this article.
maxFreeParagraphsNoNumber of body paragraphs shown as a free preview before purchase, 0 to 5. Applies only to premium in-app-purchase articles.
publicationEndDateNoFuture ISO datetime for scheduled unpublication.
displaySummaryInListNoWhether the article summary is shown in list views. Writable only when maxFreeParagraphs is 0.

TDQS

A3.5/5.0
Behavior3/5

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

The description only states 'create article' and adds no side-effect details beyond the annotations. The annotations already cover read-only, idempotency, and destructiveness, but the description does not mention default status, return value, or publication 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 mostly concise, but the 'Guidance: ... | context: title, categories' fragment is awkward and slightly redundant, reducing clarity without adding meaningful 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?

The schema covers all parameters and notes category discovery via cms_list_cms_sections, but the description is minimal and does not mention the created article output or basic workflow expectations. It is adequate but not complete for a 15-parameter 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 input schema already describes every parameter with 100% coverage, so the description does not need to repeat them. It adds little semantic value beyond the schema's own detailed field descriptions.

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

Purpose5/5

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

The description clearly identifies the action as creating one CMS article, which distinguishes it from sibling tools like cms_create_article_paragraph and the other content-type create tools. The phrase 'from article category ids' reinforces the intended input.

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 is the tool for creating a new article versus updating or creating paragraphs, but it does not explicitly call out alternatives such as cms_update_article or cms_create_article_paragraph. Sibling names allow inference, but there is no direct usage guidance.

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

cms_create_article_paragraphCreate article paragraphAInspect

Create paragraph. Guidance: Create one paragraph under a CMS article. | context: id, type

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesArticle id returned by cms_list_articles.
typeYesBody-block kind.
captionNoOptional caption for photo blocks.
contentNoRequired for text and quote blocks.
embedUrlNoRequired sanitized iframe or embed HTML for embed blocks. Set an explicit iframe width and height (for example 100%) so the block renders at a visible size.
positionNoOptional 1-based insert position; omit to append.
isThumbnailNoFor photo, when true, use as article thumbnail source where applicable.
originalThumbnailNoRequired URL, data URI, or base64 image source for photo blocks.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the creation behavior is clear. The description adds little beyond the fact that it creates a paragraph; it does not mention potential side effects, required parent article existence, 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 extremely concise, consisting of two short sentences with no redundant phrasing. It avoids fluff and gets directly to the point.

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 description plus the fully covered parameter schema is sufficient to understand the core operation and required inputs. It does not describe the return value, but with no output schema and a straightforward create action, this is not a significant gap.

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

Parameters3/5

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

Schema coverage is 100% with each parameter having a meaningful description, so the baseline is 3. The tool description adds no extra semantic context beyond what the parameter descriptions already provide.

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 creates one paragraph under a CMS article, specifying the verb and resource. It distinguishes this tool from sibling paragraph-creation tools for events, maps, sounds, and videos by naming the article context.

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

Usage Guidelines2/5

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

The description does not provide explicit guidance on when to choose this tool over the many sibling create_*_paragraph tools. It merely restates the action without mentioning alternatives or conditions such as 'use for article body blocks only'.

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

cms_create_eventCreate eventCInspect

Create event. Guidance: Create one CMS agenda event from event category ids. | context: title, categories, sortDate

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoOptional editorial datetime in RFC 3339 format with timezone.
metaNoOptional SEO payload with title and description.
slugNoOptional URL slug; the server may normalize it.
emailNoOptional organizer contact email.
titleYesEvent headline shown in feeds and on the item page.
allDayNoWhether the event lasts the whole day.
leadinNoOptional deck HTML.
statusNoPublication status. Omit on create to default to published. Do not send scheduled.
addressNoOptional venue address for the event.
endDateYesEvent end datetime in RFC 3339 format with timezone. Must be after sortDate, or on or after it when allDay is true.
urlShopNoOptional ticketing or shop URL for the event.
latitudeNoOptional venue latitude in decimal degrees; finite number.
sortDateYesEvent start datetime in RFC 3339 format with timezone, for example 2026-06-01T18:00:00+02:00.
urlEventNoOptional official event info URL.
longitudeNoOptional venue longitude in decimal degrees; finite number.
accessTierNoPaywall tier. 'premium' locks the item behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.
categoriesYesNon-empty category id array. Use cms_list_cms_sections with type='agenda' to discover event category ids.
phoneNumberNoOptional organizer contact phone number.
publishedDateNoFuture ISO datetime for deferred publication. Requires status='stock' when provided.
commentsEnabledNoWhether end-user comments are enabled for this event.
publicationEndDateNoFuture ISO datetime for scheduled unpublication.

TDQS

C2/5.0
Behavior1/5

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

The description adds no behavioral details beyond the annotations. It does not mention side effects (beyond creation), idempotency, error behavior, or what happens on success. The annotations already indicate non-read-only and non-destructive, but the description contributes nothing about the tool's actual 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 very short and to the point, which is concise. However, the structure is awkward: it includes a 'Guidance' portion that rephrases the purpose and lists parameters, adding redundancy without new information. The main purpose is front-loaded, but the extra text is not fully earned.

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

Completeness1/5

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

Given the tool has 21 parameters, multiple enums, and a nested object, the description is highly incomplete. It does not explain the event model, relationship to categories, expected configuration, or any workflow context. No output schema is present, and the description gives no hint of the return value or side effects, leaving the tool largely unexplained beyond its name.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional parameter semantics beyond repeating a few parameter names (title, categories, sortDate) without elaboration. It neither clarifies nor contradicts the schema, so it remains at the baseline.

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 clearly states the verb ('Create') and resource ('event'), and specifies it creates a CMS agenda event from category ids. However, it does not distinguish this from other create tools (e.g., cms_create_article) or mention alternatives, so purpose is functional but not fully precise.

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

Usage Guidelines1/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 state when to use this tool versus alternative creation tools, nor does it give any scenario-based instructions. The 'Guidance' phrase merely rephrases the purpose and lists some parameters, not actual usage direction.

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

cms_create_event_paragraphCreate event paragraphBInspect

Create paragraph. Guidance: Create one paragraph under a CMS agenda event. | context: id, type

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent id returned by cms_list_events.
typeYesBody-block kind.
captionNoOptional caption for photo blocks.
contentNoRequired for text and quote blocks.
embedUrlNoRequired sanitized iframe or embed HTML for embed blocks. Set an explicit iframe width and height (for example 100%) so the block renders at a visible size.
positionNoOptional 1-based insert position; omit to append.
isThumbnailNoFor photo, when true, use as event thumbnail source where applicable.
originalThumbnailNoRequired URL, data URI, or base64 image source for photo blocks.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate the tool is not read-only, not destructive, and not idempotent, which aligns with the 'create paragraph' description. The description does not add behavioral detail beyond this, such as whether the created paragraph is returned, what happens on validation failure, or how automatic positioning works when position is omitted.

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 mostly direct. The first sentence 'Create paragraph' is somewhat redundant with the title, but the second sentence adds the key context about creating under a CMS agenda event. Overall it is concise and easy to parse.

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 the complexity of the operation. It does not mention output or return value, error behavior, conditional requirements across block types, or relationship to thumbnail selection. Given eight parameters and conditional dependencies, the description alone leaves important operational context unstated.

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

Parameters3/5

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

The input schema provides 100% coverage with detailed descriptions for all eight parameters, including conditional fields like content for text/quote blocks, embedUrl for embed blocks, and originalThumbnail for photo blocks. The tool description itself adds little beyond the schema, so it meets the baseline for high schema coverage.

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

Purpose4/5

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

The title and description clearly state the action: create a paragraph under a CMS agenda event. This distinguishes it from sibling tools that create paragraphs under articles, maps, sounds, videos, or shop products. The description is slightly minimal but 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 guidance says to create one paragraph under a CMS agenda event, which signals the primary use case. It does not explicitly contrast with other cms_create_*_paragraph tools or state when not to use it, leaving some inference to the agent based on the sibling list.

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

cms_create_mapCreate mapBInspect

Create map item. Guidance: Create one CMS map (point of interest) item from map category ids. | context: title, categories, address

ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoOptional SEO payload with title and description.
slugNoOptional URL slug; the server may normalize it.
emailNoOptional contact email for the map point.
titleYesMap point name shown in feeds and on the item page.
leadinNoOptional deck HTML.
statusNoPublication status. Omit on create to default to published. Do not send scheduled.
addressYesStreet or place address of the point of interest. Required and non-empty.
websiteNoOptional website URL for the map point.
latitudeYesLatitude of the point in decimal degrees; finite number.
longitudeYesLongitude of the point in decimal degrees; finite number.
accessTierNoPaywall tier. 'premium' locks the item behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.
categoriesYesNon-empty category id array. Use cms_list_cms_sections with type='maps' to discover map category ids.
phoneNumberNoOptional contact phone number for the map point.
publishedDateNoFuture ISO datetime for deferred publication. Requires status='stock' when provided.
commentsEnabledNoWhether end-user comments are enabled for this map item.
useThumbAsPinIconNoWhether the map item thumbnail is used as the map pin icon. Stored as off on create; set a thumbnail via a photo paragraph first, then update this flag.
publicationEndDateNoFuture ISO datetime for scheduled unpublication.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already communicate readOnly=false, idempotent=false, openWorld=true, and destructive=false. The description only adds that it creates an item and does not describe side effects, errors, or return behavior, but core safety properties are covered by 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 free of irrelevant detail, but it slightly repeats the same idea: 'Create map item' followed by 'Create one CMS map item.' The pipe-separated context fragment is also minimally redundant, though 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?

With 17 parameters and no output schema, the description does not state what the create call returns (e.g., created item ID) or outline follow-up actions. Required inputs are fully specified in the schema, making the description adequate but not fully complete for a complex create 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 100%, and the parameter descriptions are detailed (e.g., categories discovery, useThumbAsPinIcon sequencing, status/publishedDate rules). The tool description itself adds no parameter-level meaning, so it stays at the baseline for high 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 'Create one CMS map (point of interest) item from map category ids', giving a concrete action and object type. It distinguishes the top-level map creation from sibling paragraph tools, though it repeats 'map item' and relies on the tool name for full 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 explicit when-to-use or when-not-to-use guidance. It does not mention alternatives such as cms_create_map_paragraph, cms_update_map, or cms_get_map, leaving the agent to infer the appropriate selection from the title and schema.

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

cms_create_map_paragraphCreate map paragraphAInspect

Create paragraph. Guidance: Create one paragraph under a CMS map item. | context: id, type

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMap item id returned by cms_list_maps.
typeYesBody-block kind.
captionNoOptional caption for photo blocks.
contentNoRequired for text and quote blocks.
embedUrlNoRequired sanitized iframe or embed HTML for embed blocks. Set an explicit iframe width and height (for example 100%) so the block renders at a visible size.
positionNoOptional 1-based insert position; omit to append.
isThumbnailNoFor photo, when true, use as map item thumbnail source where applicable.
originalThumbnailNoRequired URL, data URI, or base64 image source for photo blocks.

TDQS

A3.8/5.0
Behavior3/5

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

The description does not disclose side effects, output, or any behavioral details beyond the basic create action. The annotations (readOnlyHint=false, destructiveHint=false) provide some context, but the description itself adds little beyond purpose. 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 concise, with only two short sentences. The first sentence 'Create paragraph.' is redundant with the tool name, but the second sentence adds key context. Overall, it is efficient and free of unnecessary detail.

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

Completeness3/5

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

The description provides enough context to understand what the tool does, but it lacks information about return values or any post-condition of the creation. Since there is no output schema, the agent might need additional details about what to expect after calling the tool. This is a minor gap.

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

Parameters3/5

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

Schema description coverage is 100%, so all 8 parameters have descriptions in the schema. The description text itself does not add extra semantic meaning beyond the schema. According to the rubric, with high schema coverage the baseline score is 3, and no additional value is 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 description clearly states the tool's purpose: 'Create one paragraph under a CMS map item.' It specifies the resource type (map item) and the action (create paragraph), which distinguishes it from sibling tools that create paragraphs for other CMS entities (e.g., cms_create_article_paragraph).

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 implies usage context by stating the paragraph is created 'under a CMS map item,' which is sufficient for an agent to know when to choose this tool over similar paragraph-creation tools. It does not explicitly mention alternatives or exclusions, but the target is clear.

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

cms_create_photosCreate photosAInspect

Upload images to a CMS photo gallery section as a batch. Guidance: Upload one or more images to a CMS photo gallery section as a single batch. | context: section, photos

ParametersJSON Schema
NameRequiredDescriptionDefault
photosYesNon-empty array of up to 10 image entries. Each entry must be an object with an image source.
statusNoOptional batch publication status applied to every photo without its own status. Omit to default to published.
titlesNoOptional photo titles in the same order as photos.
sectionYesPhoto gallery section id returned by cms_list_cms_sections with type='photo'.
contentsNoOptional photo descriptions or captions in the same order as photos.
photo_statusesNoOptional per-photo publication statuses in the same order as photos. Values are published or stock.

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already declare non-read-only, non-destructive, and non-idempotent behavior. The description adds context about batch creation and default publication status, but does not disclose potential side effects like partial failures or response format, so it goes slightly beyond annotations but not fully.

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

Conciseness5/5

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

The description is extremely concise—two sentences—and directly conveys the essential purpose and batch behavior without redundant wording or unnecessary 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?

The description references a prerequisite (section id from cms_list_cms_sections) but does not mention what the tool returns after successful creation, any error conditions, or the 10-item limit. Given the absence of an output schema, this leaves some ambiguity 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?

Schema descriptions cover 100% of parameters with detailed semantics (e.g., order alignment, source formats, defaults). The tool description itself adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Upload'), the resource ('CMS photo gallery section'), and the batch nature, making it unambiguous. It is distinct from sibling tools that create other content types (e.g., articles, events).

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 indicates batch upload and provides a default for publication status, giving practical usage direction. It does not explicitly contrast with alternatives, but the tool name and content type make the appropriate scenario clear.

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

cms_create_sound_paragraphCreate sound paragraphBInspect

Create paragraph. Guidance: Create one paragraph under a CMS sound item. | context: id, type

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSound item id returned by cms_list_sounds.
typeYesBody-block kind.
captionNoOptional caption for photo blocks.
contentNoRequired for text and quote blocks.
embedUrlNoRequired sanitized iframe or embed HTML for embed blocks.
positionNoOptional 1-based insert position; omit to append.
isThumbnailNoFor photo, when true, use as sound thumbnail source where applicable.
originalThumbnailNoRequired URL, data URI, or base64 image source for photo blocks.

TDQS

B3.4/5.0
Behavior3/5

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

The description indicates a creation operation, consistent with the readOnlyHint=false annotation. It does not add behavioral details beyond the basic 'create' action, such as side effects, error handling, or idempotency implications, though the annotations cover the read/write and destructive hints.

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 focused: 'Create paragraph. Guidance: Create one paragraph under a CMS sound item.' It avoids unnecessary words and is easy to parse, though the formatting with '| context: id, type' is slightly odd but not confusing.

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 straightforward creation operation and well-detailed schema, the description is sufficient. It does not mention return values (no output schema exists), and the absence of nested objects simplifies context. However, it could slightly benefit from a note on which parameters are required versus optional, but the schema already handles that.

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

Parameters3/5

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

The input schema already provides 100% coverage with descriptions for all parameters. The tool description itself adds no additional semantic meaning beyond what is already in the schema, so it does not improve upon the baseline.

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

Purpose4/5

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

The description clearly states the action ('Create') and the resource ('paragraph under a CMS sound item'). It distinguishes this tool from similar paragraph-creation tools for other content types (articles, events, maps, videos) by specifying 'sound item'.

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

Usage Guidelines3/5

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

The description implies usage when a paragraph needs to be created for a sound item, but it does not explicitly contrast with sibling tools like cms_create_article_paragraph or cms_create_video_paragraph. The resource type is clear, but no direct alternative guidance is provided.

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

cms_create_videoCreate videoAInspect

Create video item. Guidance: Create one CMS video item from video category ids. | context: title, categories, embedUrl

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoOptional editorial date in RFC 3339 format.
metaNoOptional SEO payload with title and description.
slugNoOptional URL slug; the server may normalize it.
titleYesVideo headline shown in feeds and on the item page.
authorNoOptional byline or author display name. If omitted, the app account holder's name is used.
pinnedNoWhether the video is pinned in its category listing.
statusNoPublication status. Omit on create to default to published. Do not send scheduled.
embedUrlYesVideo player iframe or embed HTML; non-empty. Set an explicit iframe width and height (for example 100%) so the player renders at a visible size.
accessTierNoPaywall tier. 'premium' locks the item behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.
categoriesYesNon-empty category id array. Use cms_list_cms_sections with type='video' to discover video category ids.
publishedDateNoFuture ISO datetime for deferred publication. Requires status='stock' when provided.
commentsEnabledNoWhether end-user comments are enabled for this video.
publicationEndDateNoFuture ISO datetime for scheduled unpublication.

TDQS

A3.5/5.0
Behavior3/5

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

The description aligns with the annotations by indicating a non-read-only, non-destructive create operation. It does not add extra behavioral context such as side effects, defaults, permissions, or error behavior, 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.

Conciseness3/5

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

The description is short but redundant: 'Create video item' and 'Create one CMS video item' repeat the same idea. The '| context:' segment is awkwardly formatted and does not earn 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?

The schema provides rich parameter context, but the tool description does not mention return values, output shape, or failure modes. With no output schema present, some additional context about what the create operation returns would improve 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?

The input schema already covers all 13 parameters with descriptions, including enums and the nested meta object. The description adds little beyond naming required fields like title, categories, and embedUrl, so it provides no significant additional parameter meaning.

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

Purpose5/5

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

The description clearly states the tool creates a CMS video item, using a specific verb and resource. This distinguishes it from sibling tools like cms_create_video_paragraph, cms_update_video, and cms_list_videos.

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 creating a new video item, but it does not explicitly compare against alternatives such as updating an existing video or adding a video paragraph. The 'Guidance' sentence mostly restates required inputs rather than providing when-to-use direction.

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

cms_create_video_paragraphCreate video paragraphAInspect

Create paragraph. Guidance: Create one paragraph under a CMS video item. | context: id, type

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVideo item id returned by cms_list_videos.
typeYesBody-block kind. Video paragraphs have no embed type.
captionNoOptional caption for photo blocks.
contentNoRequired for text and quote blocks.
positionNoOptional 1-based insert position; omit to append.
isThumbnailNoFor photo, when true, use as video thumbnail source where applicable.
originalThumbnailNoRequired URL, data URI, or base64 image source for photo blocks.

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint false and destructiveHint false; the description aligns with create semantics and does not claim any side-effects beyond creating a paragraph. No additional behavioral details are needed.

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, front-loaded with the purpose and contains 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 straightforward create operation with rich parameter descriptions and no output schema, the description provides sufficient context. It does not mention return values, but none are defined.

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 descriptions cover all parameters with meaningful details (e.g., id as video item id, type enum). The tool description adds no additional parameter context beyond what the schema already provides.

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 clearly states 'Create one paragraph under a CMS video item', specifying the verb and resource, and distinguishing it from sibling tools that target other content types (articles, events, maps, sounds).

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 (adding a paragraph to a CMS video item) but does not explicitly name alternative tools or conditions for when to use them, such as comparing with cms_create_article_paragraph.

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

cms_delete_articleDelete articleA
Destructive
Inspect

Delete article. Guidance: Delete one CMS article by article id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesArticle id returned by cms_list_articles.

TDQS

A4/5.0
Behavior3/5

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

The annotations already indicate destructive behavior (destructiveHint: true), and the description's 'Delete' matches that. No additional behavioral details such as cascade effects, irreversibility, or confirmation requirements are provided, but there is no contradiction.

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

Conciseness5/5

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

The description is extremely concise, consisting of only a verb and resource, with no redundant or tangential content. It is well-structured and immediately comprehensible.

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, the description and schema cover the essential information an agent needs: what to delete and how to specify it. No output schema is required, and the context is sufficient to act without further clarification.

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 fully describes the single 'id' parameter with type, minimum value, and a clear explanation that it is the article ID from cms_list_articles. The description adds no extra semantic information beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the action 'Delete' and the resource 'article', making the tool's purpose unambiguous. It is easily distinguished from sibling tools like cms_delete_article_paragraph, which target a different resource.

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

Usage Guidelines4/5

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

The description specifies that the tool deletes one article by its ID, which is sufficient for typical usage. It does not explicitly state when to prefer this tool over alternatives, but the resource name and parameter description disambiguate from paragraph-level delete tools.

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

cms_delete_article_paragraphDelete article paragraphC
Destructive
Inspect

Delete paragraph. Guidance: Delete one article paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesArticle id returned by cms_list_articles.
paragraph_idYesParagraph id returned by cms_list_article_paragraphs.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the description does not need to repeat that this is a destructive write. The description adds the specific resource (article paragraph) and the operation, but it discloses no additional behavioral details such as irreversibility, cascading effects, or required permissions. With annotations covering the safety profile, a 3 is appropriate.

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

Conciseness2/5

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

The description is redundant: 'Delete paragraph.' repeats the tool name, and the 'Guidance' line restates the purpose and then lists parameters already explained in the schema. The 'context' field is clutter. A single clear sentence would suffice. This is not concise; it wastes words.

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

Completeness3/5

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

For a simple delete operation with only two required parameters and a destructive annotation, the description is minimally adequate. It tells the agent exactly what is deleted (one article paragraph) and the schema provides parameter provenance. It does not mention any side effects or prerequisites, but given the tool's simplicity and annotation coverage, this is acceptable.

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

Parameters3/5

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

The input schema describes both parameters (id and paragraph_id) with their origins and types, achieving 100% coverage. The description merely repeats the parameter names in the 'context' line without adding any new meaning or constraints. Since the schema does the heavy lifting, a baseline 3 is correct.

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

Purpose4/5

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

The description states a clear verb and resource: 'Delete one article paragraph by paragraph id.' It distinguishes the tool from whole-article deletion (cms_delete_article) and other paragraph types by specifying 'article paragraph'. While it does not explicitly name sibling tools, the scope is unambiguous and self-contained.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives. It does not mention that this is for deleting a single paragraph from an article, nor does it exclude cases like deleting an entire article or paragraphs from other content types. The agent is left to infer usage from the name and context.

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

cms_delete_eventDelete eventA
Destructive
Inspect

Delete event. Guidance: Delete one CMS agenda event by event id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent id returned by cms_list_events.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false. The description adds that it deletes a single event, which clarifies the target, but does not disclose any cascading effects, permission requirements, or irreversibility beyond what the annotation implies. Minimal added value over annotations.

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

Conciseness3/5

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

The description is short but contains redundancy: 'Delete event.' duplicates the title, and the trailing '| context: id' is cryptic and unexplained. The useful part is the second sentence, but the first sentence and the suffix do not earn their place, making the structure imperfect.

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 tool, the description covers the core action and target. However, it does not mention return behavior, error cases (e.g., non-existent id), or any cascading effects. Given the low complexity, it is adequate but leaves some operational details unspecified.

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 100%: the 'id' parameter already has a description ('Event id returned by cms_list_events'). The tool description merely repeats 'by event id' without adding new semantics like format, constraints, or relationships. No extra meaning beyond 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 (delete) and resource (CMS agenda event) with a clear scope (by event id). It distinguishes from sibling tools like cms_delete_event_paragraph by naming 'event' rather than a paragraph, making the target unambiguous.

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

Usage Guidelines3/5

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

The description implies usage when you want to delete an event by its id, but it does not explicitly state when to use this tool versus alternatives like cms_delete_event_paragraph or other delete tools. No exclusions or alternate routing is given; usage is inferred from the resource type rather than stated.

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

cms_delete_event_paragraphDelete event paragraphA
Destructive
Inspect

Delete paragraph. Guidance: Delete one agenda event paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent id returned by cms_list_events.
paragraph_idYesParagraph id returned by cms_list_event_paragraphs.

TDQS

A4.1/5.0
Behavior4/5

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

The destructiveHint annotation is consistent with the 'delete' action; no contradiction. The description does not elaborate on side effects, but annotations already convey the destructive nature.

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 text is brief, but there is slight redundancy between 'Delete paragraph.' and 'Delete one agenda event paragraph...' which could be streamlined without losing clarity.

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?

Together with the schema and annotations, the description provides enough context for an agent to call this tool correctly. No output schema is needed for a delete 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 descriptions are detailed (event ID and paragraph ID with source references), so the added description contributes little beyond restating the paragraph ID usage. Baseline 3 applies given high schema coverage.

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

Purpose5/5

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

The description clearly states the action (delete) and the resource (agenda event paragraph), distinguishing it from other paragraph deletion tools via the type specification.

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 identifies the target by paragraph ID and mentions the event context, but does not explicitly contrast with sibling delete tools. However, the event qualifier makes the appropriate usage clear.

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

cms_delete_mapDelete mapA
Destructive
Inspect

Delete map item. Guidance: Delete one CMS map item by map item id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMap item id returned by cms_list_maps.

TDQS

A4/5.0
Behavior4/5

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

The description matches the annotations: it is explicitly destructive and not read-only. It does not disclose side effects beyond deletion, but the annotations already convey the destructive nature.

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

Conciseness5/5

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

The description is short, direct, and free of unnecessary content. It conveys the purpose and required parameter efficiently.

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, the description and schema provide sufficient context. It does not describe return values or error cases, but the absence of an output schema and the straightforward destructive action make this acceptable.

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 only parameter, id, is documented in the schema as an integer returned by cms_list_maps. The description repeats this context without adding significant new information, so it meets the baseline but does not exceed it.

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 clearly states the specific action of deleting a CMS map item and distinguishes it from related tools like cms_delete_map_paragraph.

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 explains the operation but does not explicitly state when to choose this tool over alternatives such as cms_update_map or cms_get_map. However, the delete intent is unambiguous.

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

cms_delete_map_paragraphDelete map paragraphA
Destructive
Inspect

Delete paragraph. Guidance: Delete one map item paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMap item id returned by cms_list_maps.
paragraph_idYesParagraph id returned by cms_list_map_paragraphs.

TDQS

A3.5/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is known. The description adds no extra behavioral context such as permanence, side effects, or permissions, and merely restates the action. 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 very short and front-loads the action, but the 'Guidance:' and 'context:' fragments are somewhat awkward and partly redundant. It is concise but could be more neatly structured.

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 delete operation with strong schema descriptions and annotations covering destructiveness, the description is nearly sufficient. It does not explicitly state consequences, but these are covered by annotations and the simple scope.

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 100%, with both parameters described (returned by other tools). The description only lists the parameter names and adds no new meaning beyond the schema, so the baseline of 3 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 'delete' and the resource 'map item paragraph', distinguishing it from other delete_*_paragraph tools by specifying 'map item'. It is specific and unambiguous.

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

Usage Guidelines3/5

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

The description implies usage for map paragraphs but does not explicitly state when to use this tool versus alternatives like cms_delete_article_paragraph. It lacks exclusions or comparative guidance, leaving the agent to infer from the name and context.

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

cms_delete_photoDelete photoA
Destructive
Inspect

Delete photo. Guidance: Delete one CMS photo gallery item by photo id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPhoto item id returned by cms_list_photos.

TDQS

A3.6/5.0
Behavior4/5

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

The description openly states the destructive nature by saying 'Delete,' and the annotations confirm destructiveHint: true. It does not add details about side effects or permanence, but given the annotation coverage, the bar is met 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.

Conciseness3/5

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

The description is short, but the guidance portion is redundant, repeating 'Delete one CMS photo gallery item by photo id.' The cryptic 'context: id' suffix adds clutter without clear value. It could be more streamlined.

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, the description provides enough context: what it deletes (photo gallery item) and how to specify it (by photo id). It does not mention error conditions or prerequisites, but these are not essential for a straightforward delete tool, especially with the sibling list disambiguating scope.

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

Parameters3/5

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

The input schema already fully describes the 'id' parameter as 'Photo item id returned by cms_list_photos,' so schema coverage is 100%. The description does not add further meaning beyond that, aligning with the baseline for high schema coverage.

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 target: 'Delete photo' and 'Delete one CMS photo gallery item by photo id.' It specifies the resource type (photo gallery item) and the scope (by photo id), distinguishing it from other delete tools in the sibling list.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives, such as other delete or update tools. It only restates the action, with no prerequisites or conditions for use.

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

cms_delete_soundDelete soundA
Destructive
Inspect

Delete sound item. Guidance: Delete one CMS sound item by sound id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSound item id returned by cms_list_sounds.

TDQS

A3.6/5.0
Behavior3/5

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

The description is consistent with annotations (destructiveHint=true) but adds no extra behavioral context beyond stating the delete operation. Since annotations already cover destructiveness, the description meets the baseline but does not go further.

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, but contains slight redundancy between 'Delete sound item' and 'Delete one CMS sound item by sound id'. Still, it is well-structured and free of unnecessary content.

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 delete operation with one input and no output schema, the description is fully sufficient. No additional context about return values or complex behavior is needed.

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

Parameters3/5

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

The input schema already provides a complete description for the 'id' parameter ('Sound item id returned by cms_list_sounds'). The tool description only repeats this information without adding new meaning, so baseline score of 3 applies given 100% schema coverage.

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's function: deleting a CMS sound item by ID. It uses a specific verb ('Delete') and resource ('sound item'), and is distinct from sibling tools that handle paragraphs or other content types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 repeats the operation but does not mention boundary conditions (e.g., 'use this for sound items, not sound paragraphs') or recommend when deletion is appropriate.

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

cms_delete_sound_paragraphDelete sound paragraphA
Destructive
Inspect

Delete paragraph. Guidance: Delete one sound paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSound item id returned by cms_list_sounds.
paragraph_idYesParagraph id returned by cms_list_sound_paragraphs.

TDQS

A4.1/5.0
Behavior4/5

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

The destructiveHint annotation already indicates the action is destructive, and the description reinforces this with the word 'delete.' It does not describe irreversibility or cascading effects, but given the annotation covers the core destructive nature, the description is adequate.

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

Conciseness5/5

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

The description is extremely concise, starting with the essential action and followed by a brief clarification. No unnecessary words or redundant information are present.

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 and schema provide enough information to invoke the tool, but they do not clarify whether paragraph_id is globally unique or scoped to the sound item, nor do they mention potential effects on paragraph ordering. Given the sibling reorder tools exist, this missing context could be relevant.

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?

Both parameters have schema descriptions that reference the relevant list tools ('cms_list_sounds' and 'cms_list_sound_paragraphs'), providing helpful context. The description's 'context: id, paragraph_id' line adds minimal extra value, but the schema coverage is complete.

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

Purpose5/5

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

The description clearly states the action ('Delete one sound paragraph') and identifies the target resource. It is easily distinguishable from sibling paragraph-deletion tools by the 'sound' qualifier in both name and description.

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 mentions 'by paragraph id' and lists the two parameters, but it does not explain when to use this tool versus deleting an entire sound item or deleting other paragraph types. The context line 'id, paragraph_id' hints at the parameters but adds little guidance.

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

cms_delete_videoDelete videoA
Destructive
Inspect

Delete video item. Guidance: Delete one CMS video item by video id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVideo item id returned by cms_list_videos.

TDQS

A3.8/5.0
Behavior3/5

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

The destructive nature is already indicated by the destructiveHint annotation, and the description simply says 'Delete video item' without adding extra behavioral context such as irreversibility or cascading 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 extremely concise and front-loaded. It immediately states the action and the key parameter, with no unnecessary elaboration or filler.

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

Completeness4/5

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

For a simple delete operation with one documented parameter and a destructive annotation, the description is largely complete. It does not explain return values or side effects, but these are not essential given the tool's simplicity and existing annotations.

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 already provides full coverage for the single id parameter, including its type, minimum, and provenance. The description only repeats the parameter usage without adding meaningful semantic detail 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 action: deleting a single CMS video item by its ID. The resource and verb are unambiguous, and it is distinct from sibling tools like cms_delete_video_paragraph.

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

Usage Guidelines3/5

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

The description implies usage when a video item needs to be deleted, but it does not explicitly compare with alternatives or state when not to use this tool. The intended context is mostly inferred from the title and resource type.

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

cms_delete_video_paragraphDelete video paragraphC
Destructive
Inspect

Delete paragraph. Guidance: Delete one video paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVideo item id returned by cms_list_videos.
paragraph_idYesParagraph id returned by cms_list_video_paragraphs.

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the destructive nature is covered. The description adds no context about permanence, side effects, or prerequisites. It merely restates the action without enriching behavioral understanding.

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 terse, but the structure is awkward: 'Delete paragraph. Guidance: Delete one video paragraph by paragraph id. | context: id, paragraph_id' includes a redundant 'context' section that doesn't add value. It's concise but not well-organized.

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

Completeness2/5

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

For a destructive mutation with no output schema, the description is minimal. It doesn't mention what happens on failure, whether deletion is permanent, or any dependencies. Given the large sibling list, it also fails to differentiate when to use this tool over others, making it incomplete.

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

Parameters3/5

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

Schema descriptions fully cover both parameters (id and paragraph_id) with clear provenance (from cms_list_videos and cms_list_video_paragraphs). The description's 'context: id, paragraph_id' adds nothing beyond the schema, so baseline 3 for high 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 'Delete one video paragraph by paragraph id', which is a specific verb+resource. It distinguishes from sibling delete tools by explicitly naming 'video paragraph'. However, the first line 'Delete paragraph' is generic, though the guidance clarifies the exact target.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus the many sibling delete-paragraph tools (e.g., cms_delete_article_paragraph). The description only says it deletes a video paragraph, which is inferred from the name, but doesn't provide conditions or exclusions.

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

cms_get_articleGet articleB
Read-onlyIdempotent
Inspect

Retrieve one CMS article by article id after cms_list_articles discovery when needed. Guidance: Retrieve one CMS article by article id after cms_list_articles discovery when needed. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesArticle id returned by cms_list_articles.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already indicate that the operation is read-only, idempotent, and non-destructive, which lowers the burden on the description. However, the description does not mention what is returned, whether missing ids produce errors, or any other behavioral details, leaving some uncertainty.

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 repeats the same sentence twice and includes an odd 'Guidance:' and '| context: id' fragment. This redundancy and inconsistent formatting hurt clarity and make the description less concise than it should be.

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

Completeness3/5

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

For a simple read-only getter, the description combined with annotations covers the core purpose and parameter. It does not describe the output shape or error behavior, but these are less critical given the simple nature of the tool and the high schema coverage.

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 required parameter 'id' has 100% schema coverage and its description adds useful provenance by stating it is returned by cms_list_articles. This goes beyond the basic schema and clarifies where the id comes from.

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 retrieves one CMS article by article id, which is a specific verb and resource. It is distinguishable from sibling getters by the 'article' resource, though it does not explicitly contrast with getters for paragraphs or other CMS entities.

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 usage hint ('after cms_list_articles discovery when needed'), but it does not clearly explain when not to use this tool or how it differs from related getters. The guidance is present but minimal and somewhat ambiguous.

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

cms_get_article_paragraphGet article paragraphB
Read-onlyIdempotent
Inspect

Read one paragraph. Guidance: Retrieve one article paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesArticle id returned by cms_list_articles.
paragraph_idYesParagraph id returned by cms_list_article_paragraphs.

TDQS

B3.2/5.0
Behavior3/5

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

The description says 'Read' and 'Retrieve', which aligns with the readOnlyHint, idempotentHint, and non-destructive annotations. It adds a small amount of context about how the paragraph is identified (by paragraph id) but does not describe error behavior or side effects, which are already covered by the annotations.

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

Conciseness3/5

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

The description is short but somewhat redundant: 'Read one paragraph' and 'Retrieve one paragraph by paragraph id' convey the same idea. The 'Guidance' and 'context' fragments add a slightly awkward structure, but the overall length 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?

For a simple read operation with fully described parameters and annotations covering safety, the description is adequate. It does not explicitly explain the relationship between the article id and paragraph id, but the parameter descriptions make this clear enough. No output schema exists, so no details are missing there.

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 full coverage of both parameters with clear descriptions ('Article id' and 'Paragraph id'). The tool description mentions 'by paragraph id' and references the context of id and paragraph_id, but adds little beyond what the schema already states. Since schema coverage is 100%, the baseline of 3 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 ('Read') and resource ('one paragraph'), and the tool name clarifies the article context. It is distinguishable from sibling tools like cms_get_article or cms_get_event_paragraph because it explicitly targets a paragraph, though it does not explicitly say 'article paragraph' in the description itself.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives such as cms_list_article_paragraphs. There is no mention of conditions that would favor retrieval of a single paragraph over listing all paragraphs, leaving the agent to infer the appropriate use case.

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

cms_get_eventGet eventA
Read-onlyIdempotent
Inspect

Retrieve one CMS agenda event by event id after cms_list_events discovery when needed. Guidance: Retrieve one CMS agenda event by event id after cms_list_events discovery when needed. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent id returned by cms_list_events.

TDQS

A3.9/5.0
Behavior3/5

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

The annotations already declare read-only, idempotent, and non-destructive behavior. The description adds no extra behavioral detail such as error cases, return format, or side effects, so it provides only baseline transparency beyond the annotations.

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

Conciseness2/5

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

The description is short but contains significant redundancy: 'Retrieve one CMS agenda event by event id after cms_list_events discovery when needed.' is repeated verbatim as 'Guidance:', followed by an unclear '| context: id' fragment. The repeated sentence does not earn 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 single-event retrieval tool, the description provides sufficient context: it identifies the resource, the required id, and the recommended discovery flow. It does not mention output shape or error behavior, but the absence of an output schema makes this acceptable for such a straightforward read operation.

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

Parameters4/5

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

The parameter schema is fully covered by the description in the schema itself, but the description adds helpful context by specifying that the id is returned by cms_list_events. This gives the agent a clear source for the parameter 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 clearly states the action (retrieve), the resource (one CMS agenda event), and the key identifier (event id). It is immediately obvious 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 gives practical guidance to use this tool after cms_list_events discovery and only when needed. It does not explicitly contrast with sibling tools like cms_get_event_paragraph, but the resource type is clear enough to avoid confusion.

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

cms_get_event_paragraphGet event paragraphB
Read-onlyIdempotent
Inspect

Read one paragraph. Guidance: Retrieve one agenda event paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent id returned by cms_list_events.
paragraph_idYesParagraph id returned by cms_list_event_paragraphs.

TDQS

B3.4/5.0
Behavior3/5

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

The description is consistent with the annotations (readOnlyHint, idempotentHint, destructiveHint) and does not contradict them. However, it adds no extra transparency beyond the annotations, such as potential side effects or error conditions.

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

Conciseness4/5

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

The description is concise, using only two short sentences, and is well-structured with a separate 'Guidance' line. It is easy to read and does not contain 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?

The description covers the basic purpose and parameters, but it does not mention any output format, prerequisites, or related list tools (e.g., cms_list_event_paragraphs). Given that there is no output schema, the description could still benefit from a note about what is returned or when to use this after listing paragraphs.

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 already provides descriptions for both parameters ('Event id returned by cms_list_events' and 'Paragraph id returned by cms_list_event_paragraphs'), covering 100% of parameters. The tool description adds no additional semantic information beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'read' and identifies the resource as an 'event paragraph' with a specific identifier. It is distinct enough given the tool name includes 'event' and the description mentions 'agenda event paragraph.' However, it is terse and does not elaborate on what a paragraph is.

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

Usage Guidelines3/5

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

The description provides a basic guidance line ('Retrieve one agenda event paragraph by paragraph id') but does not explicitly explain when to choose this over other paragraph getter tools (e.g., cms_get_article_paragraph). The distinction is implicit via the resource type, but no explicit selection criteria are given.

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

cms_get_mapGet mapA
Read-onlyIdempotent
Inspect

Retrieve one CMS map item by map item id after cms_list_maps discovery when needed. Guidance: Retrieve one CMS map item by map item id after cms_list_maps discovery when needed. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMap item id returned by cms_list_maps.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior; the description only repeats retrieval semantics and adds no extra behavioral detail such as error or not-found behavior.

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

Conciseness2/5

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

The description contains an exact duplicate under 'Guidance:' and a stray '| context: id' suffix, which makes it redundant and noisy despite being short.

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 getter, the description provides enough purpose and usage context, but the redundancy and lack of return/error detail keep it from being fully polished.

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 only parameter is fully described in the schema as an ID returned by cms_list_maps, so the description adds little beyond reinforcing the source of the ID.

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?

Clearly states it retrieves a single CMS map item by ID, distinguishing it from listing maps and map paragraphs. The verb 'Retrieve' and resource 'CMS map item' are specific.

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?

Explicitly frames usage after cms_list_maps discovery, giving a clear when. It does not name alternative tools or state when not to use it, but the context is sufficient.

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

cms_get_map_paragraphGet map paragraphC
Read-onlyIdempotent
Inspect

Read one paragraph. Guidance: Retrieve one map item paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMap item id returned by cms_list_maps.
paragraph_idYesParagraph id returned by cms_list_map_paragraphs.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnly and idempotent hints, so the bar is lower. The description adds no further behavioral context—no mention of side effects, error cases, or data returned. It simply repeats the read intent without additional transparency.

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

Conciseness5/5

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

The description is extremely concise—two short sentences—with no redundant fluff. The 'Guidance' prefix is slightly odd but does not harm clarity. It is well-structured and to the point.

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

Completeness2/5

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

Given the tool's simplicity and lack of output schema, the description still omits essential context: it does not explain the relationship between the two ids (map item id and paragraph id) or clarify that both are required. It also lacks any situational context, making it incomplete for an agent deciding to use this tool.

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

Parameters3/5

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

Schema coverage is 100% because both parameters have descriptions in the input schema. The tool description itself does not add any semantic detail beyond listing 'id, paragraph_id', so it neither enhances nor detracts from the parameter meaning. Baseline 3 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 clearly states the action ('Retrieve') and the resource ('one map paragraph'), which is specific enough to distinguish from other get_* tools. However, it only mentions 'paragraph id' without explicitly referencing the map id parameter, so it is not fully explicit about the required input combination.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 cms_list_map_paragraphs or cms_get_map. The 'Guidance' section merely restates the purpose rather than offering selection criteria or exclusions, leaving the agent without direction on tool choice.

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

cms_get_photoGet photoB
Read-onlyIdempotent
Inspect

Retrieve one CMS photo gallery item by photo id after cms_list_photos discovery when needed. Guidance: Retrieve one CMS photo gallery item by photo id after cms_list_photos discovery when needed. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPhoto item id returned by cms_list_photos.

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, which cover the safe read behavior. The description's 'Retrieve' aligns with these annotations but adds no extra behavioral context such as error handling or response format, so the bar is partially met.

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 contains significant redundancy: the main sentence and the 'Guidance' sentence are nearly identical, and the trailing '| context: id' appears to be a template artifact. This bloats the text and distracts from the core message.

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 no output schema, the description does not need to explain return values. The parameter is well-covered and annotations handle safety. However, the ambiguous 'when needed' and lack of context about when to prefer this over list_photos leaves some gaps, though it is adequate for a simple get operation.

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

Parameters4/5

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

The sole parameter 'id' is described as 'Photo item id returned by cms_list_photos', which gives clear provenance and meaning. This adds value beyond the schema's type and requirement, though it could be more explicit about the id being the specific photo identifier.

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 single CMS photo gallery item by photo id, using the specific verb 'Retrieve' and identifying the resource. It also mentions discovery via cms_list_photos, which helps differentiate it from list and other get tools, though the wording is slightly indirect.

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

Usage Guidelines3/5

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

The description provides a hint to use this after cms_list_photos discovery, but the guidance is vague ('when needed') and does not explicitly contrast with alternatives like list_photos or other get_* tools. There is a redundant 'Guidance' statement that adds little.

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

cms_get_soundGet soundA
Read-onlyIdempotent
Inspect

Retrieve one CMS sound item by sound id after cms_list_sounds discovery when needed. Guidance: Retrieve one CMS sound item by sound id after cms_list_sounds discovery when needed. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSound item id returned by cms_list_sounds.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover read-only, open-world, idempotent, and non-destructive behavior. The description adds no contradictions and the note about 'discovery' provides a small amount of behavioral context. Since annotations carry the main safety info, the description meets the lowered bar.

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 core action in the first sentence and only one additional qualifying phrase. No filler or redundant content.

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

Completeness4/5

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

For a simple single-parameter getter with no output schema, the description sufficiently covers what it does and where the id comes from. It could mention the return shape, but given the tool's simplicity and the provided annotations, it is complete enough.

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

Parameters4/5

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

The only parameter 'id' is described as 'Sound item id returned by cms_list_sounds', which adds a clear origin and validates the type and minimum. With full schema coverage, this extra context elevates it above the baseline.

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 ('Retrieve') and the resource ('one CMS sound item'), distinguishing it from other getters for different content types. It also notes a typical usage flow via 'after cms_list_sounds discovery', which adds specificity.

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 guidance on when to use the tool ('after cms_list_sounds discovery when needed'), which implies a sequential context. It doesn't explicitly name alternatives like 'use cms_list_sounds for multiple items', but the mention of discovery is a useful pointer.

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

cms_get_sound_paragraphGet sound paragraphA
Read-onlyIdempotent
Inspect

Read one paragraph. Guidance: Retrieve one sound paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSound item id returned by cms_list_sounds.
paragraph_idYesParagraph id returned by cms_list_sound_paragraphs.

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the behavioral profile. The description adds no further details about side effects or constraints, but it does not contradict the annotations either.

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

Conciseness4/5

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

The description is brief and to the point, but the 'Guidance' segment partially repeats the main sentence and the 'context' field is somewhat cryptic. Still, it remains compact without unnecessary fluff.

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

Completeness3/5

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

The description adequately covers the core retrieval action and parameter origins, but it omits any mention of output format, error behavior, or relationship to similar getter tools. Given the simplicity of a getter, this is acceptable but 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 schema descriptions for both parameters are meaningful ('Sound item id returned by cms_list_sounds' and 'Paragraph id returned by cms_list_sound_paragraphs'), providing context that links to list operations. The main description itself adds no extra parameter detail, but the high schema coverage warrants a score above the baseline.

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 'Read one paragraph' and 'Retrieve one sound paragraph by paragraph id', which unambiguously identifies the action (retrieve) and the resource (a single sound paragraph).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 sibling tools like cms_list_sound_paragraphs or cms_get_sound. The description only restates its function without clarifying conditions or alternatives.

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

cms_get_videoGet videoA
Read-onlyIdempotent
Inspect

Retrieve one CMS video item by video id after cms_list_videos discovery when needed. Guidance: Retrieve one CMS video item by video id after cms_list_videos discovery when needed. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVideo item id returned by cms_list_videos.

TDQS

A4.4/5.0
Behavior4/5

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

The description accurately reflects a read-only, idempotent retrieval operation. Annotations already declare readOnlyHint and idempotentHint, and the description adds no contradictory or misleading behavioral claims.

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-loads the core action. The repeated 'Guidance' sentence is slightly redundant, but it does not harm clarity.

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 description provides enough context for a simple get-by-id operation and references the discovery tool. It does not specify the output shape, but that absence is acceptable for this tool type.

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

Parameters5/5

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

The only parameter, id, is well explained: it is a video item id returned by cms_list_videos. This gives the agent clear guidance on how to obtain a valid 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 clearly states the tool retrieves one CMS video item by video id, with a specific verb and resource. It also distinguishes this from listing operations by referencing cms_list_videos for discovery.

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

Usage Guidelines4/5

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

The description advises using cms_list_videos first for discovery, which provides useful sequencing guidance. It does not explicitly contrast with related get/paragraph tools, but the intent is clear enough.

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

cms_get_video_paragraphGet video paragraphA
Read-onlyIdempotent
Inspect

Read one paragraph. Guidance: Retrieve one video paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVideo item id returned by cms_list_videos.
paragraph_idYesParagraph id returned by cms_list_video_paragraphs.

TDQS

A4/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. The description's 'Read' and 'Retrieve' align with these hints but add no further behavioral detail such as error handling or return format, which 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 extremely concise, consisting of a single sentence plus a short guidance line. It contains no redundant information and is well-structured for quick parsing.

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

Completeness4/5

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

The tool is a simple get operation, and the description sufficiently explains what it does and how to invoke it. The lack of an output schema is not a major gap, though specifying that it returns a paragraph object could have added slight 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 100% with both parameters described referencing their source lists (cms_list_videos and cms_list_video_paragraphs). The description's mention of 'paragraph id' and the context list reinforces but does not add 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's function: 'Retrieve one video paragraph by paragraph id.' It uses a specific verb ('retrieve') and resource ('video paragraph'), and distinguishes itself from sibling tools like cms_get_video and cms_list_video_paragraphs.

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 direct usage guidance: retrieve a single video paragraph given the paragraph id, with context on the required ids. It does not explicitly mention alternatives, but the specificity makes the appropriate use case clear.

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

cms_list_article_paragraphsList article paragraphsA
Read-onlyIdempotent
Inspect

List paragraphs. Guidance: List body paragraphs for one CMS article. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesArticle id returned by cms_list_articles.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior, so the description needs no extra safety caveats. The description adds context that it lists body paragraphs for one article, but no additional side-effect info is needed 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 extremely concise, using only two short phrases. Every word adds value, and the guidance is separated clearly with a pipe separator. No redundancy or 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?

Although there is no output schema, the description provides enough context for a simple read operation: it lists body paragraphs for a given article. The absence of output details is acceptable for a tool whose purpose is obvious from the name and parameter description, but a note on what each paragraph contains could slightly improve 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?

The only parameter 'id' has a schema description that fully explains its role: 'Article id returned by cms_list_articles.' Schema coverage is 100%, so the description does not need to add further detail. It correctly points to the source of the id.

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 ('List') and the resource ('paragraphs' for one CMS article), distinguishing it from other paragraph-listing tools like cms_list_event_paragraphs. The guidance reinforces the specific scope.

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 guidance explicitly says 'for one CMS article', making the intended use clear. While it doesn't name alternatives, the tool name and sibling context make the choice obvious. It could benefit from saying 'use this when you need paragraphs belonging to a specific article' but that is well implied.

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

cms_list_articlesList articlesA
Read-onlyIdempotent
Inspect

List CMS articles, optionally filtered by category ids returned by cms_list_cms_sections, publication status, title search, pagination, article ids, and sorting. Guidance: List CMS articles, optionally filtered by category ids returned by cms_list_cms_sections or by publication status.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOptional article ids to filter the list. Repeat this query parameter to pass multiple values.
pageNoPage index.
sortNoSort field for the article list.
orderNoSort order for the article list.
searchNoOptional title search terms. Repeat this query parameter to pass multiple values.
statusNoOptional publication status filter. Omit to list every non-deleted item in scope.
categoryNoOptional article category ids returned by cms_list_cms_sections. Repeat this query parameter to pass multiple values. Omit to list across all categories.
per_pageNoNumber of articles per page.

TDQS

A4.2/5.0
Behavior3/5

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

The annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description does not add behavioral details beyond the annotations, but there is no contradiction.

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

Conciseness5/5

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

The description is brief and to the point, with no redundant information. It clearly lists the filter options without excessive detail.

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

Completeness4/5

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

The description is sufficient for a read-only list operation. It does not specify output structure, but that is not required for a list tool without an output schema. The guidance sentence is somewhat redundant but not harmful.

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 descriptions cover all parameters. The tool description adds value by explaining that category ids come from cms_list_cms_sections, and clarifies the 'status' filter behavior. This goes 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 lists CMS articles and mentions specific filters (category, status, title, pagination, ids, sorting). It is distinct from sibling list tools for other entity types.

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 indicates when to use this tool (listing articles) and references cms_list_cms_sections for category ids, providing context. It does not explicitly compare with alternatives but the entity-specific naming makes usage clear.

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

cms_list_cms_sectionsList CMS sectionsA
Read-onlyIdempotent
Inspect

List CMS content sections and categories for article, maps, video, photo, agenda, or sound types. Guidance: List CMS content sections for the current app by CMS content type. | context: type

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesCMS content type to discover.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already cover the key behavioral traits (readOnlyHint=true, idempotentHint=true, destructiveHint=false), and the description does not contradict them—'List' is consistent with read-only semantics. The description adds minor context (app-scoped, by content type) but no significant behavioral disclosure beyond the annotations.

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

Conciseness3/5

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

The description is compact and front-loaded with the primary purpose, but the second sentence largely repeats the first ('List CMS content sections... by CMS content type' vs. the enum in sentence one), with only 'for the current app' as genuinely new information. The trailing '| context: type' fragment is also awkwardly formatted.

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

Completeness3/5

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

For a simple one-parameter read-only list tool with no output schema, the description conveys the core operation, but it leaves ambiguity around what 'sections and categories' separately mean and does not clarify how this tool relates to the nearly identical sibling cms_list_sections. These gaps prevent a higher completeness 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?

Schema description coverage is 100% with the 'type' parameter already described as 'CMS content type to discover' plus a full enum. The description reinforces the parameter role ('by CMS content type') but adds no new meaning, such as what each enum value returns or how the result differs by type, so the baseline of 3 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 states a specific verb ('List') and resource ('CMS content sections and categories'), and scopes it by content types (article, maps, video, photo, agenda, sound). This implicitly distinguishes it from the plain cms_list_sections sibling, though the distinction is not explicit and 'sections and categories' is slightly ambiguous.

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 guidance sentence ('List CMS content sections for the current app by CMS content type') provides clear context on when to use the tool: when you need sections filtered by a specific content type, scoped to the current app. However, it does not explicitly state when not to use it or name alternatives like cms_list_sections or the per-type cms_list_* tools.

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

cms_list_event_paragraphsList event paragraphsC
Read-onlyIdempotent
Inspect

List paragraphs. Guidance: List body paragraphs for one CMS agenda event. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent id returned by cms_list_events.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds no further behavioral details such as ordering, pagination, empty results, or errors.

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 mostly to the point, though 'List paragraphs.' and 'Guidance: List body paragraphs...' are somewhat redundant.

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

Completeness3/5

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

The description is sufficient to identify the operation and required id, but it lacks any indication of the output shape, ordering, or result details, especially given no output schema is provided.

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 fully describes the only parameter (id) with a clear source ('returned by cms_list_events'), so baseline applies. The description contributes no additional 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 title and guidance clearly identify the action (list) and resource (body paragraphs for one CMS agenda event). However, the first sentence 'List paragraphs.' is vague on its own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 does not explain when to use this tool versus alternatives like cms_get_event_paragraph or other list paragraph tools, nor does it contrast with related event tools.

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

cms_list_eventsList eventsA
Read-onlyIdempotent
Inspect

List CMS agenda events, optionally filtered by category ids returned by cms_list_cms_sections, publication status, title search, pagination, event ids, and sorting. Guidance: List CMS agenda events, optionally filtered by category ids returned by cms_list_cms_sections or by publication status.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOptional event ids to filter the list. Repeat this query parameter to pass multiple values.
pageNoPage index.
sortNoSort field for the event list.
orderNoSort order for the event list.
searchNoOptional title search terms. Repeat this query parameter to pass multiple values.
statusNoOptional publication status filter. Omit to list every non-deleted item in scope.
categoryNoOptional event category ids returned by cms_list_cms_sections. Repeat this query parameter to pass multiple values. Omit to list across all categories.
per_pageNoNumber of events per page.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds detail about default behavior (listing non-deleted items) and filtering options, but does not mention error cases or response structure.

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 to the point, covering the main functionality and filters without extraneous detail. The guidance duplicates the description but does not harm clarity.

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?

While the description does not specify the response format (no output schema is provided), it adequately describes the input parameters and the operation's purpose. The lack of response details is a minor gap given the absence of an output schema.

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

Parameters5/5

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

All 8 parameters have clear descriptions, including enum values and repetition behavior. The schema coverage is 100% and the descriptions add meaningful context beyond the basic type 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 clearly states the tool's purpose: listing CMS agenda events, with optional filters. It is a specific verb-resource pair that distinguishes it from other list tools for different entity types.

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 implies usage for event listing but does not explicitly contrast with sibling list tools. The guidance repeats the description, providing no additional decision context, though the resource-specific naming makes the intended use clear.

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

cms_list_map_paragraphsList map paragraphsA
Read-onlyIdempotent
Inspect

List paragraphs. Guidance: List body paragraphs for one CMS map item. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMap item id returned by cms_list_maps.

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already declare readOnly, idempotent, and non-destructive behavior, so the description does not need to restate safety. It adds the map-item scoping but no further behavioral details.

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

Conciseness3/5

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

The description is short but redundant: 'List paragraphs.' repeats the guidance that follows. The pipe-delimited 'context: id' fragment is also cryptic and adds clutter.

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 listing tool, the description adequately states what is returned. It does not mention output format or ordering, but these are not critical for this 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 sole parameter 'id' is already described in the schema as 'Map item id returned by cms_list_maps.' The description adds no additional parameter meaning beyond that.

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 specifies the action ('List') and the resource ('body paragraphs for one CMS map item'), which distinguishes it from sibling paragraph-listing tools for articles, events, sounds, and videos.

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 implies when to use it: when needing the body paragraphs of a specific map item. It does not explicitly mention alternatives or exclusions, but the context is clear.

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

cms_list_mapsList mapsA
Read-onlyIdempotent
Inspect

List CMS map (point of interest) items, optionally filtered by category ids returned by cms_list_cms_sections, publication status, title search, pagination, map item ids, and sorting. Guidance: List CMS map (point of interest) items, optionally filtered by category ids returned by cms_list_cms_sections or by p...

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOptional map item ids to filter the list. Repeat this query parameter to pass multiple values.
pageNoPage index.
sortNoSort field for the map list.
orderNoSort order for the map list.
searchNoOptional title search terms. Repeat this query parameter to pass multiple values.
statusNoOptional publication status filter. Omit to list every non-deleted item in scope.
categoryNoOptional map category ids returned by cms_list_cms_sections. Repeat this query parameter to pass multiple values. Omit to list across all categories.
per_pageNoNumber of map items per page.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, non-destructive, and open-world behavior. The description adds little beyond restating filters; it does not describe default response behavior or pagination defaults.

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 main sentence is concise, but the appended 'Guidance:' sentence is redundant and truncated mid-phrase. This duplication and incompleteness prevent the description from being well-structured.

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

Completeness3/5

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

With no output schema, the description could benefit from a brief note about return shape or defaults. The schema and annotations fill many gaps, but the truncated guidance leaves the description feeling incomplete.

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

Parameters3/5

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

Schema descriptions cover 100% of parameters, so the baseline is 3. The description mostly restates filter names already present in the schema; only the reference to cms_list_cms_sections adds cross-tool context, but that is also in the category 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 explicitly states the action ('List'), the resource ('CMS map (point of interest) items'), and the optional filtering dimensions. It clearly distinguishes this from single-item retrieval and paragraph listing siblings.

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 explains when to use the tool by describing optional filters (category, status, search, pagination, ids, sorting) and points to cms_list_cms_sections for category ids. It does not explicitly contrast with alternatives like cms_get_map, but the list-vs-get distinction is strongly implied.

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

cms_list_photosList photosA
Read-onlyIdempotent
Inspect

List CMS photo gallery items, optionally filtered by one photo gallery section, with optional status filter, title search, pagination, photo id filtering, and sorting. Guidance: List CMS photo gallery items, optionally filtered by one photo gallery section.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOptional photo item ids to filter the list. Repeat this query parameter to pass multiple values.
pageNoPage index.
sortNoSort field for the photo list.
orderNoSort order for the photo list.
searchNoOptional title search terms. Repeat this query parameter to pass multiple values.
statusNoOptional publication status filter.
sectionNoOptional photo gallery section id returned by cms_list_cms_sections. Omit to list across all galleries.
per_pageNoNumber of photos per page.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds no behavioral details beyond listing the resource, such as rate limits, authorization requirements, or response format. It does not contradict annotations, but it also doesn't provide extra context, so a 3 is appropriate.

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

Conciseness2/5

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

The description contains two sentences, but the second sentence is a near-verbatim repetition of the first part: 'Guidance: List CMS photo gallery items, optionally filtered by one photo gallery section.' This redundancy wastes space and could confuse the agent. A concise single sentence would suffice.

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 list tool with no output schema, the description covers the action and main filters but does not explain the structure of returned photo items or how filters combine (e.g., AND vs OR). However, given that the sibling cms_get_photo likely describes a single photo object, and the parameters are well-documented, it is reasonably complete, though not exhaustive.

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

Parameters3/5

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

Schema description coverage is 100%, meaning every parameter has a description in the schema. The tool description lists the filter categories but adds no additional meaning beyond what the schema already provides. For instance, the schema already explains that 'section' is returned by cms_list_cms_sections. The description is redundant here, so a 3 is given.

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 'List' and the resource 'CMS photo gallery items', and enumerates the available filters (section, status, search, pagination, id, sorting). It is unambiguous and distinguishes from sibling list tools for other content types (e.g., cms_list_articles, cms_list_events) by naming the specific resource.

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

Usage Guidelines4/5

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

The description conveys that this tool lists photo gallery items, which is appropriate when a list of photos is needed. It does not explicitly mention alternatives like cms_get_photo for single photo retrieval, but the context is clear. There is no explicit guidance on when not to use it, so a 4 is given.

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

cms_list_sectionsList sectionsA
Read-onlyIdempotent
Inspect

List the generic app section catalog by type, including content and non-content sections. Guidance: List app sections, including content and non-content sections, by section type. | context: type

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesSection type to discover. Common values include article, photo, video, sound, maps, agenda, and commerce. Use commerce for eCommerce sections. Prefer cms_list_cms_sections for CMS-only article, photo, video, sound, maps, and agenda discovery. The generic section catalog can return any matching app section, including content and non-content sections.

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already indicate readOnly, idempotent, and non-destructive behavior, and the description's 'list' wording matches this. It does not add much behavioral detail beyond the annotations, but there is no contradiction.

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

Conciseness3/5

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

The first sentence is concise, but the appended 'Guidance: ... | context: type' is redundant and awkwardly repeats the same information. This hurts the overall structure and focus.

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 listing tool with one parameter and no output schema, the description is mostly complete. It explains the scope, mentions content and non-content sections, and points to the more specific CMS section tool, giving enough context for an agent to select 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 parameter schema already covers the 'type' parameter thoroughly with common values and the distinction from cms_list_cms_sections. The description only adds 'by section type', so it contributes little beyond the existing schema coverage.

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 lists the generic app section catalog by type, including content and non-content sections. It also distinguishes itself from cms_list_cms_sections by using the word 'generic' and referencing CMS-only alternatives.

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 and parameter guidance indicate when to use this tool versus cms_list_cms_sections, especially through the parameter description instructing to prefer cms_list_cms_sections for CMS-only sections. The main description could be more explicit but still gives useful direction.

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

cms_list_sound_paragraphsList sound paragraphsA
Read-onlyIdempotent
Inspect

List paragraphs. Guidance: List body paragraphs for one CMS sound item. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSound item id returned by cms_list_sounds.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations (readOnlyHint=true, destructiveHint=false) already indicate a safe read operation. The description's 'List' is consistent with these annotations and adds no further behavioral information, but there is no contradiction.

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

Conciseness5/5

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

The description is extremely short and to the point, containing only the essential verb and resource. Every word serves a purpose, and the format is clean and easy to parse.

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 no output schema provided, the description does not explain return fields or pagination behavior. However, the purpose is clear enough for a simple list operation, and the sibling tools follow a similar pattern, so it is adequate but not complete.

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

Parameters3/5

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

The only parameter 'id' is fully described in the schema as 'Sound item id returned by cms_list_sounds.' The tool description adds no additional meaning beyond this, so it meets the baseline but does not exceed it.

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 clearly states the action ('List') and the resource ('body paragraphs for one CMS sound item'), and the title/name disambiguates from sibling paragraph-listing tools by specifying 'sound'. It also notes the 'id' context from cms_list_sounds, making the scope 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 explicit guidance on when to use this tool versus alternatives (e.g., cms_get_sound_paragraph or cms_list_sounds). It implies the id must come from cms_list_sounds, but does not describe scenarios where this tool is preferred or not recommended.

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

cms_list_soundsList soundsA
Read-onlyIdempotent
Inspect

List CMS sound items, optionally filtered by category ids returned by cms_list_cms_sections, publication status, title search, pagination, sound ids, and sorting. Guidance: List CMS sound items, optionally filtered by category ids returned by cms_list_cms_sections or by publication status.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOptional sound item ids to filter the list. Repeat this query parameter to pass multiple values.
pageNoPage index.
sortNoSort field for the sound list.
orderNoSort order for the sound list.
searchNoOptional title search terms. Repeat this query parameter to pass multiple values.
statusNoOptional publication status filter. Omit to list every non-deleted item in scope.
categoryNoOptional sound category ids returned by cms_list_cms_sections. Repeat this query parameter to pass multiple values. Omit to list across all categories.
per_pageNoNumber of sounds per page.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds transparency by clarifying default behavior (e.g., 'Omit to list every non-deleted item in scope' and 'Omit to list across all categories'), which goes beyond the annotations and helps set expectations.

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, but it contains slight redundancy with the 'Guidance' line repeating the core filtering idea. It is still compact and front-loaded with the primary action, so minor redundancy does not detract much.

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 complexity of 8 optional parameters and no output schema, the description adequately covers all relevant aspects by naming each filter type and referencing the schema for details. It does not describe return format, but that is not required without an output schema, and the filter semantics are complete enough for an agent to invoke 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 descriptions cover 100% of parameters with clear explanations for each (e.g., 'Optional sound category ids returned by cms_list_cms_sections'). The tool description does not add significant meaning beyond summarizing these filters, so it meets the baseline but does not elevate it.

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 lists CMS sound items, which is specific and unambiguous. It distinguishes from sibling tools like cms_list_videos or cms_get_sound by naming the resource type, and the reference to cms_list_cms_sections for category ids further clarifies scope.

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 implies usage for listing sound items with optional filters, and the reference to category ids from cms_list_cms_sections provides a practical hint. However, it does not explicitly contrast with alternatives (e.g., when to use cms_get_sound vs. cms_list_sounds), though the context of sibling tools makes this largely inferable.

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

cms_list_video_paragraphsList video paragraphsC
Read-onlyIdempotent
Inspect

List paragraphs. Guidance: List body paragraphs for one CMS video item. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVideo item id returned by cms_list_videos.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds no additional behavioral context such as ordering, filtering, pagination, or what fields each paragraph contains. The 'context: id' note is unhelpful.

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 poorly structured with a redundant 'Guidance:' prefix and a cryptic '| context: id' suffix. The phrase 'List paragraphs' is vague and not front-loaded with the specific scope.

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

Completeness2/5

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

For a list tool with no output schema, the description fails to describe what a paragraph contains or the structure of the returned list. It also omits any details about ordering or pagination, leaving an agent without enough information to anticipate the response.

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 100% and the id parameter is well described as 'Video item id returned by cms_list_videos.' The description does not add any extra meaning beyond the schema, so the baseline 3 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 states 'List body paragraphs for one CMS video item,' which specifies the verb (list), the resource (body paragraphs), and the scope (one video item). This is clear and not a tautology, though it does not explicitly contrast with sibling list tools like cms_list_article_paragraphs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 cms_get_video_paragraph or other cms_list_*_paragraphs tools. The cryptic 'context: id' offers no practical usage direction.

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

cms_list_videosList videosA
Read-onlyIdempotent
Inspect

List CMS video items, optionally filtered by category ids returned by cms_list_cms_sections, publication status, title search, pagination, video ids, and sorting. Guidance: List CMS video items, optionally filtered by category ids returned by cms_list_cms_sections or by publication status.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOptional video item ids to filter the list. Repeat this query parameter to pass multiple values.
pageNoPage index.
sortNoSort field for the video list.
orderNoSort order for the video list.
searchNoOptional title search terms. Repeat this query parameter to pass multiple values.
statusNoOptional publication status filter. Omit to list every non-deleted item in scope.
categoryNoOptional video category ids returned by cms_list_cms_sections. Repeat this query parameter to pass multiple values. Omit to list across all categories.
per_pageNoNumber of videos per page.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds a meaningful behavioral detail by noting that omitting the status filter lists 'every non-deleted item in scope', which clarifies the default behavior. 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.

Conciseness3/5

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

The description consists of two sentences, but the second sentence (under 'Guidance:') repeats the first nearly verbatim, adding no new information. This redundancy makes it less concise than it could be, though it is still brief overall.

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

Completeness2/5

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

There is no output schema, and the description does not state what the response format will be (e.g., array of video items, pagination metadata). It implies a list but leaves the return shape unspecified, which is a notable gap given the absence of an output schema.

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

Parameters3/5

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

Schema description coverage is 100% — every parameter (id, page, sort, order, search, status, category, per_page) has a description. The tool description adds no new parameter information beyond what the schema already provides, so baseline 3 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 'List' and the resource 'CMS video items', and it enumerates optional filters (category, status, search, etc.) that distinguish this from other list tools. The name and title align perfectly, and the reference to cms_list_cms_sections for category IDs adds precision.

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 specifies when to use the tool: to list videos with optional filters, and it provides concrete guidance on the status filter ('Omit to list every non-deleted item in scope'). It does not explicitly contrast with cms_get_video or cms_list_video_paragraphs, but the resource and filters make the use case clear enough.

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

cms_reorder_article_paragraphsReorder article paragraphsA
Destructive
Inspect

Reorder paragraphs. Guidance: Reorder all paragraphs for one CMS article. | context: id, paragraph_ids

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesArticle id returned by cms_list_articles.
paragraph_idsYesFull ordered list of paragraph ids belonging to this article.

TDQS

A3.6/5.0
Behavior2/5

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

The annotations already mark this as destructive and non-idempotent, and the description adds no additional context about side effects, such as overwriting the paragraph order or requiring all paragraph IDs to be supplied. The phrase 'Reorder all paragraphs' hints at the requirement but does not explain behavioral consequences beyond the name.

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

Conciseness4/5

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

The description is very concise, with the core action front-loaded. The guidance section is somewhat redundant ('Reorder all paragraphs for one CMS article' repeats the purpose) but not harmful. It is efficient and easy to parse.

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 2-parameter tool with no output schema, the description is adequate. It conveys that all paragraphs must be reordered and that the id and paragraph_ids are the relevant context. However, it does not mention any return value, success indicators, or immediate effects, which could be helpful but is not strictly required given the low complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are documented with useful descriptions (e.g., 'Full ordered list of paragraph ids'). The description only lists the parameter names ('context: id, paragraph_ids') without adding any extra meaning beyond the schema, so it meets the baseline of 3.

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 ('Reorder paragraphs') and scopes it to 'one CMS article', which clearly distinguishes it from sibling reorder tools like cms_reorder_event_paragraphs. The verb and resource are explicit and unambiguous.

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

Usage Guidelines4/5

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

The description clearly indicates the use case (reorder all paragraphs for one CMS article) and implicitly separates it from reordering other entity types. However, it does not explicitly name alternative tools or state when not to use it, so it lacks full guidance but is still clear.

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

cms_reorder_event_paragraphsReorder event paragraphsA
Destructive
Inspect

Reorder paragraphs. Guidance: Reorder all paragraphs for one CMS agenda event. | context: id, paragraph_ids

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent id returned by cms_list_events.
paragraph_idsYesFull ordered list of paragraph ids belonging to this event.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already mark the tool as destructive (destructiveHint=true) and not read-only. The description adds that it reorders 'all paragraphs', implying a full replacement of ordering, but does not elaborate on side effects, validation, or return behavior beyond that.

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

Conciseness4/5

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

The description is very brief and to the point, containing only necessary information. The formatting is slightly awkward with the '| context: id, paragraph_ids' suffix, but it does not detract from clarity or economy of 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?

The tool is simple with only two parameters and no output schema. The description sufficiently covers the operation's purpose and parameter roles. While it omits details about errors or return values, such information is not typically required for a straightforward reordering 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?

Both parameters (id and paragraph_ids) are already described in the input schema with clear explanations (e.g., 'Event id returned by cms_list_events'). The description adds no additional semantic detail beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Reorder paragraphs') and the target resource (paragraphs for one CMS agenda event). It is unambiguous and easily distinguished from sibling reorder tools for other content types by name and scope.

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 'Guidance' line explicitly clarifies that the operation applies to 'all paragraphs for one CMS agenda event', providing clear usage intent. However, it does not explicitly contrast with sibling reorder tools (e.g., cms_reorder_article_paragraphs), though the tool name itself makes the distinction apparent.

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

cms_reorder_map_paragraphsReorder map paragraphsA
Destructive
Inspect

Reorder paragraphs. Guidance: Reorder all paragraphs for one CMS map item. | context: id, paragraph_ids

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMap item id returned by cms_list_maps.
paragraph_idsYesFull ordered list of paragraph ids belonging to this map item.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already flag the operation as destructive, non-read-only, and non-idempotent. The description further clarifies that the supplied paragraph_ids represent the full ordered list, reinforcing that the operation replaces the existing ordering.

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 and guidance are extremely concise and directly actionable. There is no filler or redundant information.

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

Completeness4/5

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

The tool is simple, has no output schema, and its input plus effect are fully described by the parameter schema and guidance. Missing details such as error behavior or return values are not necessary for this straightforward reorder operation.

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

Parameters4/5

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

Both parameters have meaningful schema descriptions: id is sourced from cms_list_maps and paragraph_ids is a full ordered list. This goes beyond mere names and gives enough context to construct a correct call.

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?

Clearly identifies the operation as reordering paragraphs and scopes it to a single CMS map item. The verb 'Reorder' plus the resource and map-item context is specific and distinguishes it from sibling reorder tools for articles, events, sounds, and videos.

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 guidance explicitly says to reorder all paragraphs for one CMS map item, making the primary usage context clear. It does not explicitly name alternatives, but the map-specific language and sibling tool names make the appropriate selection obvious.

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

cms_reorder_sound_paragraphsReorder sound paragraphsC
Destructive
Inspect

Reorder paragraphs. Guidance: Reorder all paragraphs for one CMS sound item. | context: id, paragraph_ids

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSound item id returned by cms_list_sounds.
paragraph_idsYesFull ordered list of paragraph ids belonging to this sound.

TDQS

C2.9/5.0
Behavior2/5

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

The annotations already declare destructiveHint=true and readOnlyHint=false, so the description adds no extra behavioral context beyond stating the action. It does not describe side effects, idempotency, or any additional caveats. The description relies entirely on annotations, offering no new transparency value.

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

Conciseness3/5

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

The description is very short and front-loaded with the main sentence, but the 'Guidance' line is somewhat cryptic and mixes guidance with a context listing. It is concise but could be clearer and more structured, e.g., separating usage guidance from parameter context.

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

Completeness3/5

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

For a destructive reorder operation with no output schema, the description covers the core action and the schema covers parameters. However, it lacks any usage context or preconditions, and the minimal text leaves some ambiguity about the exact ordering semantics (though the schema hints at it). Overall, it's barely adequate but missing any extra detail that would help an agent decide when to use 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 input schema provides complete descriptions for both parameters (id and paragraph_ids) with 100% coverage, so the schema already explains their meaning and format. The description only repeats 'id, paragraph_ids' without adding any new semantic detail. Baseline of 3 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 ('Reorder') and resource ('paragraphs'), and the guidance line clarifies it applies to one CMS sound item. However, it does not explicitly differentiate from sibling reorder tools (e.g., cms_reorder_article_paragraphs) except by the resource type, so it's clear but not fully distinguishing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 any conditions or exclusions, leaving the agent to infer from the tool name that it applies to sound items. There is no explicit 'use when' or 'not for' statement.

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

cms_reorder_video_paragraphsReorder video paragraphsA
Destructive
Inspect

Reorder paragraphs. Guidance: Reorder all paragraphs for one CMS video item. | context: id, paragraph_ids

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVideo item id returned by cms_list_videos.
paragraph_idsYesFull ordered list of paragraph ids belonging to this video.

TDQS

A4.3/5.0
Behavior3/5

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

The description says 'Reorder all paragraphs,' which implies a full replacement of ordering and aligns with the destructiveHint annotation. It does not add significant behavioral detail beyond the annotations, but there is no contradiction.

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

Conciseness5/5

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

The description is compact and directly to the point, with no unnecessary wording. The parameter descriptions are also concise and informative.

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 reorder operation with two well-described parameters and no output schema, the description is complete. It covers what the tool does, the target resource, and the expected parameter semantics.

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

Parameters4/5

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

Both parameters are described with helpful context: id is identified as returned by cms_list_videos, and paragraph_ids is clarified as the full ordered list belonging to the video. This goes beyond the basic schema and aids correct usage.

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 tool name and description clearly state it reorders paragraphs for a CMS video item, distinguishing it from sibling reorder tools for articles, events, maps, and sounds. The resource (video paragraphs) and action (reorder all) are specific.

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 that this tool is for reordering all paragraphs of one CMS video item. It does not explicitly mention alternatives or exclusions, but the resource-specific wording makes the intended use unambiguous.

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

cms_update_articleUpdate articleC
DestructiveIdempotent
Inspect

Update article. Guidance: Update one CMS article by article id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesArticle id returned by cms_list_articles.
dateNoOmit to keep the current editorial date; send RFC 3339 to replace it.
metaNoOptional SEO payload with title and description.
slugNoOmit to keep the current slug; send to replace it.
titleNoOmit to keep the current headline; send to replace it.
authorNoOmit to keep the current byline; send to replace it.
leadinNoOmit to keep the current deck HTML; send to replace it.
pinnedNoOmit to keep the current pinning state; send true or false to replace it.
statusNoOmit to keep the current publication state. Do not send scheduled.
accessTierNoReplacement paywall tier. 'premium' locks the article behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.
categoriesNoOmit to keep placement. Send non-empty category ids to replace placement.
publishedDateNoFuture ISO datetime for deferred publication. Requires status='stock' when provided.
commentsEnabledNoOmit to keep the current comments setting; send true or false to replace it.
maxFreeParagraphsNoNumber of body paragraphs shown as a free preview before purchase, 0 to 5. Applies only to premium in-app-purchase articles.
publicationEndDateNoFuture ISO datetime for scheduled unpublication. Send an empty string to clear an existing scheduled unpublication.
displaySummaryInListNoWhether the article summary is shown in list views. Writable only when maxFreeParagraphs is 0.

TDQS

C2.9/5.0
Behavior2/5

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

The description adds no behavioral detail beyond what the annotations already convey (destructiveHint true, readOnlyHint false). It does not mention partial-update semantics or side effects; those are only implied by the schema descriptions, not the tool description itself.

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

Conciseness4/5

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

The description is extremely concise, consisting of two short lines. It front-loads the core purpose and does not waste words, though the 'Guidance' line is somewhat redundant with the title.

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 high complexity (16 parameters, nested objects, enums), the description is very thin and lacks a high-level overview of what fields are updatable or that it supports partial updates. However, the schema provides thorough parameter explanations, so the description does not need to carry that burden entirely.

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 100% per the context signals, and the description text adds no parameter meaning beyond the schema. The baselines for high coverage apply, so a score of 3 is appropriate even without param info in the description.

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

Purpose4/5

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

The description clearly identifies the tool's action ('Update article') and specifies the target resource ('one CMS article by article id'), giving a specific verb and resource. It does not explicitly differentiate from sibling update tools like cms_update_event, but the resource type is unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as cms_create_article or other update tools. It lacks any contextual advice like 'use this for modifying an existing article' or a comparison to creation or deletion.

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

cms_update_article_paragraphUpdate article paragraphA
DestructiveIdempotent
Inspect

Update paragraph. Guidance: Update one article paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesArticle id returned by cms_list_articles.
captionNoPatch photo caption.
contentNoPatch text or quote body, or related photo field per block type.
embedUrlNoPatch embed HTML snippet. Set an explicit iframe width and height (for example 100%) so the block renders at a visible size.
isThumbnailNoPatch photo cover flag.
paragraph_idYesParagraph id returned by cms_list_article_paragraphs.
originalThumbnailNoPatch photo image source: URL, data URI, or base64.

TDQS

A4/5.0
Behavior4/5

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

The annotations disclose that this is a destructive, idempotent, non-read-only operation (readOnlyHint: false, destructiveHint: true, idempotentHint: true). The description itself says 'Update', which aligns with these annotations, and there is no contradiction.

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

Conciseness4/5

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

The description is concise and front-loaded with the essential action ('Update paragraph'). The guidance clarifies the target and key identifiers. It is appropriately sized for a simple update operation, though it could include a bit more detail on updatable fields.

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

Completeness3/5

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

The description is minimal and does not explain whether the update is partial or full, nor does it mention optional fields or any side effects beyond what annotations state. Given the tool's simplicity and the annotations, it is adequate but not fully comprehensive.

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 descriptions already cover all parameters (100% coverage). The description adds a minor contextual note ('context: id, paragraph_id') but largely relies on the schema, so no significant additional meaning is provided beyond the baseline.

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 the resource 'article paragraph', distinguishing it from sibling tools for other paragraph types (e.g., event, map). The guidance explicitly mentions 'by paragraph id', 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 Guidelines4/5

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

The description indicates the tool updates one article paragraph using paragraph id, which provides clear context for when to use it. It does not explicitly contrast against alternatives, but the resource-specific wording and required parameters make the usage context clear.

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

cms_update_eventUpdate eventC
DestructiveIdempotent
Inspect

Update event. Guidance: Update one CMS agenda event by event id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent id returned by cms_list_events.
dateNoOmit to keep the current editorial datetime; send an RFC 3339 datetime with timezone to replace it.
metaNoOptional SEO payload with title and description.
slugNoOmit to keep the current slug; send to replace it.
emailNoOmit to keep the current organizer email; send to replace it.
titleNoOmit to keep the current headline; send to replace it.
allDayNoOmit to keep the current all-day flag; send true or false to replace it.
leadinNoOmit to keep the current deck HTML; send to replace it.
statusNoOmit to keep the current publication state. Do not send scheduled.
addressNoOmit to keep the current venue address; send to replace it.
endDateNoOmit to keep the current event end; send an RFC 3339 datetime with timezone to replace it.
urlShopNoOmit to keep the current ticketing or shop URL; send to replace it.
latitudeNoOmit to keep the current venue latitude; send a finite number to replace it.
sortDateNoOmit to keep the current event start; send an RFC 3339 datetime with timezone to replace it.
urlEventNoOmit to keep the current official event info URL; send to replace it.
longitudeNoOmit to keep the current venue longitude; send a finite number to replace it.
accessTierNoReplacement paywall tier. 'premium' locks the item behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.
categoriesNoOmit to keep placement. Send non-empty category ids to replace placement.
phoneNumberNoOmit to keep the current organizer phone number; send to replace it.
publishedDateNoFuture ISO datetime for deferred publication. Requires status='stock' when provided.
commentsEnabledNoOmit to keep the current comments setting; send true or false to replace it.
publicationEndDateNoFuture ISO datetime for scheduled unpublication. Send an empty string to clear an existing scheduled unpublication.

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=true, and idempotentHint=true. The description merely says 'Update,' which is consistent but adds no additional behavioral context such as partial-update semantics, potential side effects, or permission requirements. It contributes nothing beyond the annotations.

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

Conciseness4/5

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

The description is extremely short—two sentences—and gets to the point immediately. It is well-structured with a clear 'Guidance' label, but it is arguably too sparse for a 22-parameter tool. Still, it is efficient and avoids unnecessary 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?

Given the tool's complexity (22 parameters, nested objects, no output schema), the description is insufficiently informative. It does not mention that all fields except id are optional or that omitted fields retain current values, nor does it explain the update semantics beyond the schema. An agent might struggle to understand the tool's capabilities without reading the entire schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds only 'by event id,' which the schema already documents ('Event id returned by cms_list_events'). It provides minimal extra value for the remaining 21 parameters.

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

Purpose4/5

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

The description states 'Update event' and 'Update one CMS agenda event by event id,' which clearly identifies the verb (update) and resource (CMS agenda event). It is specific enough to distinguish from article/map/video tools, though it does not explicitly contrast with cms_update_event_paragraph.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives like cms_update_event_paragraph or when not to use it. The only hint is 'by event id,' which is implicit. 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.

cms_update_event_paragraphUpdate event paragraphB
DestructiveIdempotent
Inspect

Update paragraph. Guidance: Update one agenda event paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEvent id returned by cms_list_events.
captionNoPatch photo caption.
contentNoPatch text or quote body, or related photo field per block type.
embedUrlNoPatch embed HTML snippet. Set an explicit iframe width and height (for example 100%) so the block renders at a visible size.
isThumbnailNoPatch photo cover flag.
paragraph_idYesParagraph id returned by cms_list_event_paragraphs.
originalThumbnailNoPatch photo image source: URL, data URI, or base64.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=true, but the description itself adds no extra context about side effects or what might be overwritten. No contradiction exists, but transparency is not enhanced 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 concise and front-loaded, but the first sentence 'Update paragraph.' is somewhat redundant with the following guidance. Overall, it is efficient and to the point.

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

Completeness3/5

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

The description is minimal and does not mention optional parameters or expected outcomes. While sufficient given the schema and annotations, it lacks depth and context about when or how to use the tool effectively.

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

Parameters3/5

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

The schema provides full descriptions for all parameters (100% coverage), and the description does not add additional semantic meaning beyond referencing id and paragraph_id. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly identifies the action as updating an event paragraph by paragraph id, and the title further specifies it. It is specific enough to convey the tool's purpose, though it could be more explicit about the event context.

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 event paragraphs but does not explicitly differentiate from sibling tools like cms_update_article_paragraph or cms_update_map_paragraph. Direct guidance on when to choose this tool over alternatives is missing.

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

cms_update_mapUpdate mapA
DestructiveIdempotent
Inspect

Update map item. Guidance: Update one CMS map item by map item id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMap item id returned by cms_list_maps.
metaNoOptional SEO payload with title and description.
slugNoOmit to keep the current slug; send to replace it.
emailNoOmit to keep the current contact email; send to replace it.
titleNoOmit to keep the current name; send to replace it.
leadinNoOmit to keep the current deck HTML; send to replace it.
statusNoOmit to keep the current publication state. Do not send scheduled.
addressNoOmit to keep the current address; send a non-empty string to replace it.
websiteNoOmit to keep the current website URL; send to replace it.
latitudeNoOmit to keep the current latitude; send a finite number to replace it.
longitudeNoOmit to keep the current longitude; send a finite number to replace it.
accessTierNoReplacement paywall tier. 'premium' locks the item behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.
categoriesNoOmit to keep placement. Send non-empty category ids to replace placement.
phoneNumberNoOmit to keep the current contact phone number; send to replace it.
publishedDateNoFuture ISO datetime for deferred publication. Requires status='stock' when provided.
commentsEnabledNoOmit to keep the current comments setting; send true or false to replace it.
useThumbAsPinIconNoWhether the map item thumbnail is used as the map pin icon.
publicationEndDateNoFuture ISO datetime for scheduled unpublication. Send an empty string to clear an existing scheduled unpublication.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already cover readOnlyHint, destructiveHint, and idempotentHint, so the description does not need to restate those. The description adds no extra behavioral details beyond 'update' and 'by map item id', such as side effects or error scenarios. Since annotations carry the main behavioral load, the description adds minimal value here.

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 and contains no fluff, but it is slightly repetitive: 'Update map item' and 'Update one CMS map item by map item id' convey the same idea. The 'Guidance' section feels redundant. Overall, it is efficient and clearly structured, but not perfect.

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 description provides minimal context, but the parameter schema is highly detailed, including special cases (e.g., 'Requires status='stock'' for publishedDate, 'Do not send scheduled' for status). Since there is no output schema, explanation of return values is not required. The context is effectively supplied by the schema, so the tool is functionally complete despite the sparse 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?

Schema description coverage is 100%, with each parameter having a detailed description (e.g., 'Omit to keep the current name'). The tool description itself does not add any parameter-level information, so it provides no extra value beyond the schema. With full schema coverage, the baseline is 3, and this description does not elevate it.

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 the resource (map item), and specifically mentions updating 'one CMS map item by map item id'. This distinguishes it from other map-related tools (create, delete, get) and other CMS update tools, so 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?

The description does not explicitly contrast with alternatives like cms_create_map or cms_delete_map. It only states what the tool does, leaving the 'when to use this vs. others' inference to the reader. There is no guidance on when to prefer this tool over siblings or what conditions make it appropriate, so usage guidance is only implied.

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

cms_update_map_paragraphUpdate map paragraphC
DestructiveIdempotent
Inspect

Update paragraph. Guidance: Update one map item paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMap item id returned by cms_list_maps.
captionNoPatch photo caption.
contentNoPatch text or quote body, or related photo field per block type.
embedUrlNoPatch embed HTML snippet. Set an explicit iframe width and height (for example 100%) so the block renders at a visible size.
isThumbnailNoPatch photo cover flag.
paragraph_idYesParagraph id returned by cms_list_map_paragraphs.
originalThumbnailNoPatch photo image source: URL, data URI, or base64.

TDQS

C2.8/5.0
Behavior2/5

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

The description adds no behavioral detail beyond what annotations already provide. It doesn't mention that this is a patch operation, potential side effects, or that it's destructive. The annotations (destructiveHint=true) cover the basic safety, but the description fails to add context like 'overwrites existing content' or 'requires specific permissions'.

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 somewhat redundant ('Update paragraph' repeats the title). It's not front-loaded with the most critical guidance, and the '| context: id, paragraph_id' is cryptic. It's concise but not optimally 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 7 parameters and many sibling paragraph-update tools, the description is too thin. It doesn't explain the scope of updates, how it differs from other paragraph updates, or any prerequisites. The schema provides parameter details, but the description fails to give usage context or return behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description only mentions 'id' and 'paragraph_id' as context, which the schema already documents. It adds no extra meaning beyond the schema, so a 3 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 action ('Update') and resource ('map item paragraph'), and distinguishes from sibling tools by specifying the map context. However, it doesn't explicitly enumerate what fields can be updated, though the schema covers that.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 other update_*_paragraph tools. It only mentions the required context (id, paragraph_id) but doesn't give exclusions or alternatives. The name implies map paragraphs, but there's no explicit 'use this for map paragraphs only' statement.

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

cms_update_photoUpdate photoA
DestructiveIdempotent
Inspect

Update photo. Guidance: Update one CMS photo gallery item by photo id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPhoto item id returned by cms_list_photos.
titleNoReplacement photo title; non-empty string.
statusNoReplacement publication status.
contentNoReplacement photo description or caption. Send an empty string to clear the stored description.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already flag idempotent, destructive, and readOnly behavior; description adds no additional side-effect or overwrite details beyond 'Update'.

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?

Very concise and direct, with no unnecessary prose; slight redundancy in 'Guidance' and 'context: id' but 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?

Essential call information is present, but it does not clarify whether omitted optional fields are left unchanged or reset, and no response/return behavior is mentioned.

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?

All 4 parameters are covered by the schema, and the description adds useful detail: id source from cms_list_photos, status enum, and empty-string-clears-content semantics for content.

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 uses specific verb 'Update' and identifies resource 'photo' (CMS photo gallery item), clearly distinguishing it from create/delete/get/list 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 Guidelines3/5

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

It states the target (one photo by id) and action, but does not explicitly contrast with cms_create_photos or cms_delete_photo; relies on sibling tool names for disambiguation.

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

cms_update_soundUpdate soundC
DestructiveIdempotent
Inspect

Update sound item. Guidance: Update one CMS sound item by sound id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSound item id returned by cms_list_sounds.
dateNoOmit to keep the current editorial date; send RFC 3339 to replace it.
metaNoOptional SEO payload with title and description.
slugNoOmit to keep the current slug; send to replace it.
titleNoOmit to keep the current headline; send to replace it.
authorNoOmit to keep the current byline; send to replace it.
pinnedNoOmit to keep the current pinning state; send true or false to replace it.
statusNoOmit to keep the current publication state. Do not send scheduled.
accessTierNoReplacement paywall tier. 'premium' locks the item behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.
categoriesNoOmit to keep placement. Send non-empty category ids to replace placement.
purchaseUrlNoOmit to keep the current purchase URL; send to replace it.
publishedDateNoFuture ISO datetime for deferred publication. Requires status='stock' when provided.
commentsEnabledNoOmit to keep the current comments setting; send true or false to replace it.
publicationEndDateNoFuture ISO datetime for scheduled unpublication. Send an empty string to clear an existing scheduled unpublication.
purchaseUrlAndroidNoOmit to keep the current Android purchase URL; send to replace it.

TDQS

C2.9/5.0
Behavior2/5

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

The annotations already indicate destructive and non-read-only behavior, but the description adds no extra behavioral context such as side effects, partial update semantics, or irreversibility. It simply restates the action without enriching the agent's understanding.

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

Conciseness4/5

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

The description is very brief, consisting of two short sentences. It is concise and free of fluff, but the 'context: id' fragment is cryptic and not well integrated, so it is not perfectly 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?

With 15 parameters and a complex update operation, the description is far too minimal. It does not explain what a sound item is, when to use this update, or how it differs from related update tools. The schema covers parameters, but the description fails to provide operational context.

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

Parameters3/5

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

The schema covers 100% of the 15 parameters with detailed descriptions. The tool description adds no additional meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states 'Update sound item' and adds 'Update one CMS sound item by sound id,' identifying the action and the key required parameter. It is clear but does not differentiate from sibling update tools like cms_update_article, so it stops short of a 5.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus other content-type update tools. There is no mention of alternatives or conditions that would route an agent to this tool over a sibling.

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

cms_update_sound_paragraphUpdate sound paragraphC
DestructiveIdempotent
Inspect

Update paragraph. Guidance: Update one sound paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSound item id returned by cms_list_sounds.
captionNoPatch photo caption.
contentNoPatch text or quote body, or related photo field per block type.
embedUrlNoPatch embed HTML snippet.
isThumbnailNoPatch photo cover flag.
paragraph_idYesParagraph id returned by cms_list_sound_paragraphs.
originalThumbnailNoPatch photo image source: URL, data URI, or base64.

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already indicate it is not read-only and is destructive, so the description does not need to repeat that. However, it does not explain side effects such as whether the update is a patch or full replacement, or any permissions needed. The parameter descriptions use 'Patch' which hints at partial updates, but this is not explicit in the main description.

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

Conciseness3/5

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

The description is short and front-loads the action, but the structure is awkward with 'Guidance:' and a trailing '| context: id, paragraph_id' that is not formatted clearly. It is concise but not well-organized.

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

Completeness2/5

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

Given the tool has 7 parameters and no output schema, the description is incomplete. It does not explain how the update behaves, which fields are relevant for sound paragraphs, or any prerequisites. The generic parameter descriptions and lack of usage context leave significant gaps for an agent to use this tool effectively.

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

Parameters2/5

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

Although all parameters have descriptions, they are generic and often mismatched with the sound paragraph context (e.g., 'photo caption', 'photo image source'). They do not clarify the specific meaning of fields for a sound paragraph, such as how 'content' or 'embedUrl' relate to audio content. The descriptions add little beyond the parameter names.

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 that it updates a sound paragraph, but the initial line 'Update paragraph.' is generic and the instruction is a bit awkwardly phrased. It does specify the resource (sound paragraph) and the action (update), but does not give a clear, standalone purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 cms_update_sound or other paragraph update tools. The description only mentions the basic operation, without conditions or comparisons to sibling tools.

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

cms_update_videoUpdate videoA
DestructiveIdempotent
Inspect

Update video item. Guidance: Update one CMS video item by video id. | context: id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVideo item id returned by cms_list_videos.
dateNoOmit to keep the current editorial date; send RFC 3339 to replace it.
metaNoOptional SEO payload with title and description.
slugNoOmit to keep the current slug; send to replace it.
titleNoOmit to keep the current headline; send to replace it.
authorNoOmit to keep the current byline; send to replace it.
pinnedNoOmit to keep the current pinning state; send true or false to replace it.
statusNoOmit to keep the current publication state. Do not send scheduled.
embedUrlNoOmit to keep the current player; send new iframe or embed HTML to replace it. Set an explicit iframe width and height (for example 100%) so the player renders at a visible size.
accessTierNoReplacement paywall tier. 'premium' locks the item behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.
categoriesNoOmit to keep placement. Send non-empty category ids to replace placement.
publishedDateNoFuture ISO datetime for deferred publication. Requires status='stock' when provided.
commentsEnabledNoOmit to keep the current comments setting; send true or false to replace it.
publicationEndDateNoFuture ISO datetime for scheduled unpublication. Send an empty string to clear an existing scheduled unpublication.

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=true. The parameter descriptions add useful behavioral detail, such as 'Omit to keep the current...' and 'send to replace it,' making the partial-update semantics clear. No contradiction exists 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, but the 'Guidance: Update one CMS video item by video id. | context: id' sentence is redundant with the opening line. Parameter descriptions are concise and well-structured, so the overall definition is still efficient.

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

Completeness4/5

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

The tool is well-covered by parameter-level descriptions, and the id description explains where to obtain existing ids. However, it does not describe return values or failure behavior, and there is no explicit note about how this tool relates to sibling video tools (e.g., paragraphs). Given the absence of an output schema and the richness of parameter docs, this is only a minor gap.

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

Parameters5/5

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

Every parameter, including nested fields under meta, has a description that adds meaning beyond the schema. Details like 'Do not send scheduled', 'Requires status="stock" when provided', and 'Set an explicit iframe width and height' provide actionable guidance for correct usage.

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 ('Update') and the resource ('video item'), and identifies the target by video id. It is easily distinguishable from sibling tools like cms_update_video_paragraph, cms_create_video, and cms_delete_video.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that creation should use cms_create_video, deletion should use cms_delete_video, or that paragraph edits should use cms_update_video_paragraph. The 'Guidance' line merely restates the tool's function.

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

cms_update_video_paragraphUpdate video paragraphC
DestructiveIdempotent
Inspect

Update paragraph. Guidance: Update one video paragraph by paragraph id. | context: id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVideo item id returned by cms_list_videos.
captionNoPatch photo caption.
contentNoPatch text or quote body, or related photo field per block type.
embedUrlNoPatch iframe or embed HTML for embed paragraphs.
isThumbnailNoPatch photo cover flag.
paragraph_idYesParagraph id returned by cms_list_video_paragraphs.
originalThumbnailNoPatch photo image source: URL, data URI, or base64.

TDQS

C2.2/5.0
Behavior2/5

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

The description does not disclose side effects, permissions, rate limits, or the destructive nature of the operation (despite annotations indicating destructiveHint=true). It also does not explain whether the update is partial (patch) or full replacement, or what happens to existing data.

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

Conciseness2/5

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

The description is very short, but it contains redundancy: 'Update paragraph.' and 'Update one video paragraph by paragraph id.' convey the same information. The 'Guidance:' prefix is unconventional and the structure lacks informative substance.

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 omits critical context such as how the update is performed, what fields are patchable (though schema hints at it), and what the response will look like (no output schema). It is insufficient for an agent to understand the full behavior of this mutating 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 descriptions cover all parameters with reasonable clarity (e.g., id, paragraph_id, patch fields). However, the tool description adds no extra meaning beyond the schema, so the score remains at the baseline for high schema coverage.

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

Purpose3/5

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

The description states the core action ('Update one video paragraph') and identifies the resource, but it is vague about what updating entails and does not distinguish it from other paragraph update tools. The first sentence 'Update paragraph.' is overly generic and adds little clarity.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus the many sibling update tools (e.g., cms_update_article_paragraph). The 'Guidance:' line merely restates the action rather than providing selection criteria or alternative suggestions.

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

meta_get_tool_planGet tool planA
Read-onlyIdempotent
Inspect

Retrieve full guidance for one tool name, including the recommended discover/call/verify sequence and failure policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_nameYesExact name of the MCP tool to retrieve guidance for, e.g. 'shop_create_product'.

TDQS

A4.3/5.0
Behavior4/5

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

The annotations (readOnlyHint, idempotentHint, destructiveHint) already cover safety traits. The description adds value by specifying the response content (guidance, sequence, failure policy), which goes beyond the annotations. No contradiction exists.

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

Conciseness5/5

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

The description is a single, well-structured sentence with no fluff. It front-loads the action and object, making it easy to parse.

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?

The tool has a single parameter and no output schema, so the description sufficiently covers what it does and what it returns. No additional context is needed 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 already describes the parameter, but the example 'shop_create_product' adds concrete meaning and clarifies the expected format. This exceeds the baseline for high schema coverage.

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 'Retrieve' and the object 'full guidance for one tool name', distinguishing it from sibling tools that perform domain operations. It is specific and unambiguous.

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

Usage Guidelines3/5

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

The description explains what the tool returns (discover/call/verify sequence and failure policy) but does not explicitly state when to use it versus alternatives. Since it is a meta-tool with no sibling guidance tools, the usage context is implicit but not clearly articulated.

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

shop_create_optionCreate optionCInspect

Creates a new option that can be used to differentiate product variants. Guidance: Creates a new option that can be used to differentiate product variants. | context: name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the new option (lowercased automatically).

TDQS

C2.9/5.0
Behavior3/5

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

The description accurately indicates a create operation, consistent with readOnlyHint=false and destructiveHint=false. However, it does not disclose potential side effects, idempotency, or uniqueness constraints beyond the implicit creation behavior.

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

Conciseness2/5

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

The description contains duplicated phrases and an odd trailing 'Guidance:' / 'context: name' segment, which adds noise without value. It is short but not cleanly structured.

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

Completeness3/5

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

The tool is simple and the description covers the basic action and purpose. However, with no output schema, it omits what the response contains (e.g., created option ID) and any error or uniqueness details, leaving some context incomplete.

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

Parameters3/5

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

The single parameter `name` is documented in the schema, including the lowercasing behavior. The main description does not add further semantic context beyond what the schema already provides.

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

Purpose4/5

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

The description clearly states the action ('Creates') and the resource ('a new option') with a purpose ('differentiate product variants'). It is distinct from sibling tools by naming 'option' versus other entities, though it does not explicitly contrast 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 explicit guidance on when to use this tool versus alternatives such as shop_create_variant or other create tools. The purpose is implied but not contrasted with siblings.

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

shop_create_paragraphCreate paragraphAInspect

Adds a description paragraph to a given product. Note that if you want to create a PHOTO of EMBED paragraph you must first create a description paragraph with the right type and then associate it with the paragraph media that will store the actual content. Guidance: Adds a description paragraph to a given product. For PHOTO or EMBED types, create the paragraph first, then use shop_... | context: product_id, paragraph_type, position

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlNoIf the paragraph stores a `"TEXT"` content, this flag indicates whether the paragraph should be displayed as raw HTML in the shop owner's backoffice or not.
contentNoContent of the paragraph. **This field should only be provided if the paragraph stores a `"TEXT"` or `"QUOTE"` content.**
positionYesPosition of the paragraph in the product's description (0 is the first).
product_idYesUnique ID of the product.
paragraph_typeYesType of content contained in the paragraph.- **TEXT**: simple text (HTML tags can be used for formatting) - **QUOTE**: simple quote (HTML tags can be used for formatting) - **EMBED**: external content integration - **PHOTO**: image

TDQS

A3.8/5.0
Behavior4/5

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

The description discloses an important behavioral aspect: for PHOTO and EMBED types, the paragraph must be created before associating media. This goes beyond the annotations, which only indicate readOnlyHint=false and destructiveHint=false, by revealing a sequencing requirement.

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, consisting of a single clear sentence followed by a short note about special types. It avoids unnecessary verbosity and gets straight to the point, making it easy for an agent 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?

The description is contextually adequate for a create operation: it explains the core action, the target resource (product paragraph), and a key prerequisite for certain types. It does not mention return values or error behavior, but given the lack of an output schema and the relatively simple nature of the operation, this is acceptable.

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

Parameters3/5

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

The input schema already provides full descriptions for all five parameters (100% coverage). The description adds minimal new semantic detail about parameters, primarily repeating the content condition already present in the schema, so it does not significantly enhance parameter understanding.

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 (adds) and the resource (description paragraph to a given product), which is specific. However, it does not explicitly distinguish this tool from similar paragraph-creation tools for other entities (e.g., cms_create_*_paragraphs), though the product context in the description and tool name provides implicit differentiation.

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

Usage Guidelines3/5

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

The description includes a note about creating PHOTO or EMBED paragraphs first and then associating media, which gives conditional usage guidance. However, it does not explicitly state when this tool should be preferred over alternatives like shop_update_paragraph or shop_create_paragraph_media, leaving some ambiguity.

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

shop_create_paragraph_mediaCreate paragraph mediaCInspect

Create a media object for a paragraph. For PHOTO: pass media_type=PHOTO and image_file. For EMBED: pass media_type=EMBED and content. Guidance: Create a media object for a PHOTO or EMBED paragraph. PHOTO: pass image_file (local path or URL source). EMBED: pass... | context: product_id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
contentNoRequired for EMBED. Embed content.
image_fileNoRequired for PHOTO. Image payload. Accepts: (1) a data URI 'data:image/png;base64,...', (2) a raw base64-encoded string of the image bytes, or (3) a public http(s) URL. Do NOT pass a local filesystem path.
media_typeYesRequired. PHOTO or EMBED.
product_idYesNumeric id of the product the paragraph belongs to.
focal_pointNoImage crop focal point, format 40x50.
paragraph_idYesId of the description paragraph to attach the media to (from shop_list_paragraphs).

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description adds little about side effects or permissions. It repeats 'create' but does not disclose any additional behavioral traits. The description also contains a misleading statement about passing a 'local path' while the schema explicitly prohibits filesystem paths, which could mislead the agent.

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

Conciseness2/5

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

The description is not well-structured: it repeats the guidance sentence, is truncated mid-sentence ('EMBED: pass...'), and includes an awkward 'context: product_id, paragraph_id' suffix. It could be condensed into a single clear sentence without repetition.

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

Completeness2/5

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

For a create operation with no output schema, the description does not mention return values, error handling, or any prerequisites. It does not address the fact that required parameters depend on media_type, which is partially covered by the schema but not fully explained. The truncated sentence and local-path contradiction further undermine completeness.

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

Parameters2/5

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

Schema coverage is 100% and already documents each parameter's purpose and constraints. The description's parameter guidance is redundant with the schema. More critically, the description contradicts the schema by suggesting a local filesystem path is acceptable for image_file, while the schema explicitly states 'Do NOT pass a local filesystem path.' This confusion reduces the value of the description.

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

Purpose4/5

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

The description clearly states the tool creates a media object for a paragraph, and specifies two media types (PHOTO and EMBED). It is distinct from sibling create_*_paragraph tools because it focuses on media attachment. However, the description is slightly redundant and includes a confusing appended context note, which 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 provides usage guidance for the two media types, telling which parameters to pass for each. It does not explicitly compare with alternatives like shop_update_paragraph_media or shop_create_paragraph, so an agent may not know when to choose this over similar tools. The guidance is implied but not explicit about exclusions.

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

shop_create_productCreate productBInspect

Creates a product for the shop. Guidance: Creates a product for the shop. | context: title

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoProduct slug (used in its access URL).
tagsNoSet of tags associated with the product.
brandNoProduct brand platform.
mediaNoUnique ID of the slide selected as the product thumbnail.
titleYesProduct name.
statusNoProduct publishing status.- **DRAFT**: the product is being prepared and is not visible to the customers yet - **PUBLISHED**: the product is ready and available in the shop - **INVISIBLE**: the product is not visible to the customers
summaryNoProduct short description.
highlightNoBoolean indicating if the product should be showcased in the shop products list or not.
meta_titleNoProduct SEO title (for referencing by search engines).
collectionsNoList of the collections (unique IDs) to which the product belongs.
product_refNoProduct reference ID.
visibility_endNoRFC 3339 datetime with timezone until which the product should remain visible, for example 2026-07-31T18:00:00+02:00. Omit to keep the product visible until it is manually hidden or removed.
meta_descriptionNoProduct SEO description (for referencing by search engines).
visibility_startNoRFC 3339 datetime with timezone from which the product should become visible, for example 2026-07-15T09:30:00+02:00. Omit to make the product visible as soon as it is published.
show_similar_productsNoBoolean indicating whether the "Similar products" section should be displayed in the shop for this product or not.
set_custom_similar_productsNoManually defined list of similar products (unique product IDs are expected). The product field `custom_similar_products` will be filled with these products.

TDQS

B3.1/5.0
Behavior3/5

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

The description explicitly says 'creates', which is consistent with the readOnlyHint false annotation. However, it does not disclose further behavior (e.g., whether the product becomes visible immediately or what happens on validation failure). Given annotations already cover readOnly and destructive hints, this is adequate but not detailed.

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

Conciseness2/5

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

While the core sentence is concise, the presence of the redundant and confusing extra text 'Guidance: Creates a product for the shop. | context: title' detracts from the structure. This unnecessary repetition would confuse an agent reading the description.

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

Completeness2/5

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

For a complex operation with 16 parameters and no output schema, the description provides minimal context. It does not mention what the function returns, what side effects occur beyond creation, or any constraints like required fields (though those are in the schema). This leaves the agent with incomplete information about the tool's overall behavior.

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 100%, with each parameter already well-documented. The description adds no additional semantic information about the parameters, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Creates a product for the shop' clearly states the verb (creates), resource (product), and scope (shop), distinguishing it from sibling tools like shop_create_option or shop_create_variant.

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

Usage Guidelines2/5

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

No explicit guidance is given on when to use this tool versus alternatives such as shop_create_option or shop_create_variant. The context signals and sibling list imply usage, but the description itself lacks any such direction.

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

shop_create_promocode_amountCreate promocode amountCInspect

Create a promocode based on order amount to be applied before order payment. Guidance: Create a promocode based on order amount to be applied before order payment. | context: name, discount_type, value

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoCode to use during checkout to apply discount If not, provided, it will be generated automatically with following formatXXXX-XXXX-XXXX
nameYesName of code to use during checkout to apply discount
valueYesValue of the discount to applied during the checkout
end_atNoDatetime **until which** the code should be applied
end_dateNoAlias for end_at. Set to 'none' for no expiration.
max_usesNoNumber of max uses of the code
start_atYesDatetime **from which** the code should be applied
max_priceNoIf 'conditions' set to 'PRICE_RANGE', code can be applied order price is lower than this value
min_priceNoIf 'conditions' set to 'PRICE_RANGE', code can be applied order price is greater than this value
conditionsNoCondition based on order details: - **NONE**: Code can be applied for any order conditions. - **PRICE_RANGE**: Code can be applied for order price conditions (check 'min_price' and 'max_price' fields). - **NUMBER_OF_PRODUCTS**: Code can be applied for order quantity conditions (check 'min_quantity' fields).
min_quantityNoIf 'conditions' set to 'NUMBER_OF_PRODUCTS', code can be applied order quantity is greater than this value
discount_typeYesType of discount you want to apply - **AMOUNT**: discount will be applied in the absolute value of the order. - **PERCENT**: discount will be applied in the relative value of the order
one_use_by_userNoIf set to true, code can be applied once by customer or prospect.
registered_onlyNoIf set to true, code can be applied only for registered user with your ecommerce.
specific_registered_idsNoList of ids of customers and leads who can applied code in case of specific_registered_only is set to True
specific_registered_onlyNoIf set to true, code can be applied only for customers and prospect who have an account with your ecommerce.

TDQS

C2.1/5.0
Behavior2/5

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

The annotations already indicate readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the description does not need to repeat that. However, it offers no additional context about side effects (e.g., creating an active discount code, potential collisions with existing codes, or whether it affects live storefronts). The description adds no behavioral transparency beyond the annotations.

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

Conciseness1/5

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

The description is not concise or well-structured. It repeats the same sentence twice: 'Create a promocode based on order amount to be applied before order payment.' followed by 'Guidance: Create a promocode based on order amount to be applied before order payment.' This redundancy adds no value and wastes space. There is no logical flow or additional 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?

The description does not provide sufficient context for an agent to fully understand the tool's role. It fails to explain what makes this promocode type distinct (e.g., that it applies to order totals rather than specific products or collections), and it does not reference any related tools or prerequisites. The rich schema covers parameters, but the overall purpose and relationship to sibling tools remain unclear.

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 detailed descriptions for all 16 parameters, achieving 100% coverage. The tool description itself does not add any additional meaning to the parameters—it merely repeats the title. Since the schema already handles parameter semantics, the baseline score of 3 is appropriate; the description neither enhances nor detracts.

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

Purpose3/5

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

The description states a clear action ('Create a promocode') and a resource, but it does not adequately distinguish this tool from sibling promocode creation tools (e.g., shop_create_promocode_collections, shop_create_promocode_product, shop_create_promocode_tags). The phrase 'based on order amount' is vague and could be interpreted as the discount type or a condition, making the tool's specific purpose unclear.

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 over the other promocode creation tools. It does not mention criteria like 'use this for amount-based discounts' or 'use this for order total conditions.' The description is essentially a redundant repeat of the title and offers no decision-making help.

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

shop_create_promocode_collectionsCreate promocode collectionsAInspect

Create a promocode based on dedicated collections to be applied before order payment. Guidance: Create a promocode based on dedicated collections to be applied before order payment. | context: name, discount_type, value

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoCode to use during checkout to apply discount If not, provided, it will be generated automatically with following formatXXXX-XXXX-XXXX
nameYesName of code to use during checkout to apply discount
valueYesValue of the discount to apply during the checkout
end_atNoDatetime **until which** the code should be applied
end_dateNoAlias for end_at. Set to 'none' for no expiration.
max_usesNoNumber of max uses of the code
start_atYesDatetime **from which** the code should be applied
max_priceNoIf 'conditions' set to 'PRICE_RANGE', code can be applied order price is lower than this value
min_priceNoIf 'conditions' set to 'PRICE_RANGE', code can be applied order price is greater than this value
conditionsNoCondition based on order details: - **NONE**: Code can be applied for any order conditions. - **PRICE_RANGE**: Code can be applied for order price conditions (check 'min_price' and 'max_price' fields). - **NUMBER_OF_PRODUCTS**: Code can be applied for order quantity conditions (check 'min_quantity' fields).
min_quantityNoIf 'conditions' set to 'NUMBER_OF_PRODUCTS', code can be applied order quantity is greater than this value
discount_typeYesType of discount you want to apply - **AMOUNT**: discount will be applied in the absolute value of the order. - **PERCENT**: discount will be applied in the relative value of the order
collection_idsYesIds of collection from which the discount can be applied
one_use_by_userNoIf set to true, code can be applied once by customer or prospect.
registered_onlyNoIf set to true, code can be applied only for registered user with your ecommerce.
specific_registered_idsNoList of ids of customers and leads who can applied code in case of specific_registered_only is set to True
specific_registered_onlyNoIf set to true, code can be applied only for customers and prospect who have an account with your ecommerce.

TDQS

A3.8/5.0
Behavior4/5

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

The description communicates the primary side effect ('Create') and adds business context about applying discounts before order payment. The annotations already cover readOnly, destructive, and idempotent hints, so the description does not need to repeat those; no contradictions are present.

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

Conciseness2/5

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

The description is front-loaded with a clear purpose, but it immediately repeats the same sentence under a 'Guidance:' prefix and includes a stray 'context:' metadata fragment. This duplication and clutter reduce conciseness without adding information.

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

Completeness3/5

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

The parameter schema is rich and covers all inputs, and the description gives enough context to understand the tool's role. However, there is no mention of what the response contains or what success/error behavior looks like, and no output schema is provided to compensate.

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 covers 100% of parameters, and the descriptions add useful conditional logic (e.g., 'conditions' and 'min_price'/'max_price'), auto-generation behavior for 'code', and an alias for 'end_date'. However, the 'discount_type' description mentions 'AMOUNT' while the enum value is 'ABSOLUTE', creating a potential inconsistency that reduces clarity.

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 specific action ('Create a promocode') and the target resource ('based on dedicated collections'). It is further distinguished from sibling tools by the phrase 'based on dedicated collections', which aligns with 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 indicates this tool is for creating promocodes tied to collections, which provides clear context for when to use it. It does not explicitly enumerate alternative tools, but the collection-based scope is specific enough to guide selection among the promocode-creation variants.

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

shop_create_promocode_productCreate promocode productCInspect

Create a promocode based on dedicated product to be applied before order payment. Guidance: Create a promocode based on dedicated product to be applied before order payment. | context: name, discount_type, value

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoCode to use during checkout to apply discount If not, provided, it will be generated automatically with following formatXXXX-XXXX-XXXX
nameYesName of code to use during checkout to apply discount
valueYesValue of the discount to applied during the checkout
end_atNoDatetime **until which** the code should be applied
end_dateNoAlias for end_at. Set to 'none' for no expiration.
max_usesNoNumber of max uses of the code
start_atYesDatetime **from which** the code should be applied
max_priceNoIf 'conditions' set to 'PRICE_RANGE', code can be applied order price is lower than this value
min_priceNoIf 'conditions' set to 'PRICE_RANGE', code can be applied order price is greater than this value
conditionsNoCondition based on order details: - **NONE**: Code can be applied for any order conditions. - **PRICE_RANGE**: Code can be applied for order price conditions (check 'min_price' and 'max_price' fields). - **NUMBER_OF_PRODUCTS**: Code can be applied for order quantity conditions (check 'min_quantity' fields).
product_idYesId of product from which the discount can be applied
min_quantityNoIf 'conditions' set to 'NUMBER_OF_PRODUCTS', code can be applied order quantity is greater than this value
discount_typeYesType of discount you want to apply - **AMOUNT**: discount will be applied in the absolute value of the order. - **PERCENT**: discount will be applied in the relative value of the order
one_use_by_userNoIf set to true, code can be applied once by customer or prospect.
registered_onlyNoIf set to true, code can be applied only for registered user with your ecommerce.
specific_registered_idsNoList of ids of customers and leads who can applied code in case of specific_registered_only is set to True
specific_registered_onlyNoIf set to true, code can be applied only for customers and prospect who have an account with your ecommerce.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false (write operation), openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds a single behavioral detail: the promocode is applied before order payment. This is useful but minimal; it does not describe side effects, error conditions, or what happens to existing promocodes. Given the annotations cover the core safety profile, a 3 is appropriate.

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

Conciseness3/5

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

The description is extremely short, which is good for conciseness, but it repeats the same sentence twice ('Create a promocode...' and then 'Guidance: Create a promocode...'). This is redundant and wastes a sentence. The information is front-loaded, but the repetition detracts from clarity.

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

Completeness2/5

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

With 17 parameters, 5 required, and no output schema, the description is far too thin. It does not explain the relationships between parameters (e.g., how conditions, min_price, max_price, product_id, and discount_type work together), nor does it provide any example or edge-case handling. An agent would struggle to correctly construct a valid call based on this description alone.

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 covers 100% of parameters with detailed descriptions, so the baseline is 3. The description mentions 'name, discount_type, value' as context, but this adds no meaning beyond what the schema already provides. It does not explain how these parameters interact with the product_id or other fields.

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

Purpose4/5

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

The description states a clear action (create) and resource (promocode based on product), and the 'based on dedicated product' phrasing differentiates it from sibling promocode creators (amount, collections, tags). However, it does not elaborate on what 'dedicated product' means or how this differs functionally from the other promocode tools beyond the name.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention when to choose a product-based promocode over amount, collections, or tags-based promocodes, nor does it give any context about prerequisites or typical scenarios.

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

shop_create_promocode_tagsCreate promocode tagsCInspect

Create a promocode based on dedicated tags to be applied before order payment. Guidance: Create a promocode based on dedicated tags to be applied before order payment. | context: name, discount_type, value

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoCode to use during checkout to apply discount If not, provided, it will be generated automatically with following formatXXXX-XXXX-XXXX
nameYesName of code to use during checkout to apply discount
tagsYesList of tags label from which the discount can be applied
valueYesValue of the discount to applied during the checkout
end_atNoDatetime **until which** the code should be applied
end_dateNoAlias for end_at. Set to 'none' for no expiration.
max_usesNoNumber of max uses of the code
start_atYesDatetime **from which** the code should be applied
max_priceNoIf 'conditions' set to 'PRICE_RANGE', code can be applied order price is lower than this value
min_priceNoIf 'conditions' set to 'PRICE_RANGE', code can be applied order price is greater than this value
conditionsNoCondition based on order details: - **NONE**: Code can be applied for any order conditions. - **PRICE_RANGE**: Code can be applied for order price conditions (check 'min_price' and 'max_price' fields). - **NUMBER_OF_PRODUCTS**: Code can be applied for order quantity conditions (check 'min_quantity' fields).
min_quantityNoIf 'conditions' set to 'NUMBER_OF_PRODUCTS', code can be applied order quantity is greater than this value
discount_typeYesType of discount you want to apply - **AMOUNT**: discount will be applied in the absolute value of the order. - **PERCENT**: discount will be applied in the relative value of the order
one_use_by_userNoIf set to true, code can be applied once by customer or prospect.
registered_onlyNoIf set to true, code can be applied only for registered user with your ecommerce.
specific_registered_idsNoList of ids of customers and leads who can applied code in case of specific_registered_only is set to True
specific_registered_onlyNoIf set to true, code can be applied only for customers and prospect who have an account with your ecommerce.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false (mutation), destructiveHint=false, and idempotentHint=false. The description adds only a minor usage context ('applied before order payment') but does not disclose any side effects, permission requirements, validation rules, or expected outcomes, which is a significant gap for a creation tool with no 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.

Conciseness2/5

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

The description is redundant and poorly structured. It repeats the same sentence and includes a cryptic 'context: name, discount_type, value' segment that is not integrated into the main text. This wastes words and could confuse the agent instead of providing clear, front-loaded guidance.

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

Completeness2/5

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

Given the tool's complexity (17 parameters, 5 required, no output schema), the description is severely incomplete. It does not explain the tag-based mechanism, how it differs from other promocode tools, dependencies between fields (e.g., conditions and min/max price), or what the tool returns on success or failure. The schema covers parameters but not usage patterns.

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

Parameters3/5

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

The input schema has 100% coverage, so the baseline is 3. The description mentions three parameters (name, discount_type, value) but does not add any extra meaning beyond the schema's own descriptions. It does not explain relationships or constraints, so it adds little value over 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 the action ('Create a promocode') and the resource ('based on dedicated tags'), which aligns with the tool name and distinguishes it from other promocode creation tools that use amounts, collections, or products. However, it does not explicitly compare with those siblings, relying on the name to convey 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?

The description provides no guidance on when to use this tool versus the other shop_create_promocode_* variants. It simply restates the purpose without mentioning alternatives or conditions, leaving the agent to infer based on the name and the tags parameter.

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

shop_create_push_broadcastCreate push broadcastA
Destructive
Inspect

Creates a push broadcast message for all your shop app users, with optional scheduling and tap action. Guidance: Creates a push broadcast message for all your shop app users, with optional scheduling and tap action. | context: message

ParametersJSON Schema
NameRequiredDescriptionDefault
sendNoOptional send timing. Omit or use now for immediate sends; use at with send_at for delayed sends.
item_idNoOptional item id for section actions. For shop item actions, use only when the parent section was resolved from cms_list_cms_sections or cms_list_sections with type commerce.
messageYesMessage which will be sent to all your shop app users.
send_atNoUse only when send is at. Include the MCP client user's timezone offset, for example 2026-05-28T09:30+02:00.
action_urlNoURL for action_type external_link. For section actions, provide only when a public URL or path is already known.
section_idNoSection id for action_type section; can open any resolved app or shop section. When the user names a section, first call cms_list_cms_sections with types article, photo, video, sound, maps, and agenda; if no match, call cms_list_sections with the same types plus commerce. Match titles case-insensitively and ask for an id only if nothing matches. Do not use section_id/item_id for eCommerce products.
action_typeNoOptional tap action. Omit or use open_app to open the app.
product_slugNoProduct slug for action_type product_url.
use_local_timeNoOptional, advanced. Omit it for normal scheduling; the tool converts send_at to UTC so the push fires at that instant. Set true only when the user explicitly wants delivery at the given wall-clock time in each recipient's own timezone.

TDQS

A4.1/5.0
Behavior3/5

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

The annotations indicate destructive and non-idempotent, but the description does not elaborate on potential consequences beyond creation. It does mention optional scheduling and that the message goes to all users, which gives some transparency, but it omits warnings about irreversibility or immediate delivery impacts.

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 relatively long due to the necessary procedural detail for section_id and use_local_time, but it is well-structured and each sentence serves a purpose. It avoids redundant wording and front-loads the core 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 lacks an output schema, and the description does not mention what the tool returns (e.g., created broadcast id) or possible errors. It also does not discuss permissions. For a non-trivial action like broadcasting to all users, this omission is a gap, though the parameter guidance is strong.

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

Parameters5/5

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

The schema already has 100% coverage, and the description enriches it further with practical instructions. For example, it explains the timezone offset format for send_at, the resolution workflow for section_id, and the condition for setting use_local_time to true. This goes beyond the basic schema descriptions.

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

Purpose5/5

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

The description clearly states the tool creates a push broadcast message sent to all shop app users, with optional scheduling and tap action. The verb 'creates' and resource 'push broadcast message' are specific, and the audience 'all shop app users' differentiates it from a single-user 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 Guidelines4/5

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

The description provides detailed guidance on parameter usage, such as the required procedure for resolving section_id via cms_list_cms_sections and cms_list_sections, the timezone handling for send_at, and the advanced use_local_time flag. However, it does not explicitly name the alternative shop_create_push_notification for single-user sends, though the 'broadcast' wording makes the distinction implicit.

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

shop_create_push_notificationCreate push notificationB
Destructive
Inspect

Creates a shop push notification with optional user targeting, scheduling, and tap action. Guidance: Creates a shop push notification with optional user targeting, scheduling, and tap action. | context: message

ParametersJSON Schema
NameRequiredDescriptionDefault
sendNoOptional send timing. Omit or use now for immediate sends; use at with send_at for delayed sends.
item_idNoOptional item id for section actions. For shop item actions, use only when the parent section was resolved from cms_list_cms_sections or cms_list_sections with type commerce.
messageYesMessage which will be sent to your shop app users.
send_atNoUse only when send is at. Include the MCP client user's timezone offset, for example 2026-05-28T09:30+02:00.
targetingNoOptional user IDs to target. Resolve named users by searching both customer and prospect list tools before giving up.
action_urlNoURL for action_type external_link. For section actions, provide only when a public URL or path is already known.
section_idNoSection id for action_type section; can open any resolved app or shop section. When the user names a section, first call cms_list_cms_sections with types article, photo, video, sound, maps, and agenda; if no match, call cms_list_sections with the same types plus commerce. Match titles case-insensitively and ask for an id only if nothing matches. Do not use section_id/item_id for eCommerce products.
action_typeNoOptional tap action. Omit or use open_app to open the app. Use external_link with action_url, product_url with product_slug, or section with section_id.
product_slugNoProduct slug for action_type product_url. Resolve the product from the shop catalog; the tool builds the final product page URL.
use_local_timeNoOptional, advanced. Omit it for normal scheduling; the tool converts send_at to UTC so the push fires at that instant. Set true only when the user explicitly wants delivery at the given wall-clock time in each recipient's own timezone.

TDQS

B3.4/5.0
Behavior3/5

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

The description discloses that the message will be sent to users and that the tool converts send_at to UTC and builds final URLs. However, it does not mention the irreversibility or side effects of sending a push notification, which is relevant given destructiveHint=true. The annotations cover the destructive nature, but the description adds only partial 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 concise, consisting of just two sentences, with the primary purpose front-loaded. It avoids unnecessary verbosity and gets straight to the point, making it easy for an agent to quickly grasp the tool's 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?

Given the tool's complexity (10 parameters, nested objects, intricate resolution logic), the top-level description is brief but relies heavily on the comprehensive schema descriptions to fill in details. The combination is sufficient for an agent to understand the tool's behavior, though the description alone would be incomplete without the schema.

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 top-level description adds minimal meaning beyond the input schema; it only summarizes that targeting, scheduling, and tap action are optional. Since the schema already provides 100% coverage with detailed descriptions for all parameters, the description adds little extra value. It does not introduce new semantic clarifications beyond what is already in the property descriptions.

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

Purpose4/5

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

The description clearly states it creates a shop push notification with optional targeting, scheduling, and tap action, but it does not explicitly differentiate itself from the sibling tool shop_create_push_broadcast, which likely serves a similar purpose. The verb and resource are specific, but the absence of sibling differentiation 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 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 shop_create_push_broadcast or other alternatives. It focuses on internal parameter behavior (e.g., section resolution, timezone handling) but lacks explicit conditions for tool selection, leaving the agent to infer usage context.

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

shop_create_variantCreate variantBInspect

Creates a new variant of a given product Guidance: Creates a new variant of a given product | context: product_id, option_values, price

ParametersJSON Schema
NameRequiredDescriptionDefault
skuNoStock Keeping Unit unique ID.
mediaNoUnique ID of the Product Media instance displayed with the variant.
priceYesVariant unit price.
stockNoVariant stock quantity. This field should contain a positive integer or the value `-1` for an infinite stock.
weightNoVariant weight (unit: kg).
positionNoPosition of the variant in the product variants list (0 is the first).
compare_atNoPrice reference for this product variant.
product_idYesUnique ID of the product.
option_valuesYesList of option/value pairs that identify this variant. Each item must include option_id and value, for example [{"option_id": 1, "value": "Red"}, {"option_id": 2, "value": "M"}].

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint false and destructiveHint false, but the description adds no additional behavioral context such as failure modes, side effects on existing data, or whether the operation is idempotent. No extra transparency is provided 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 a single concise sentence that directly conveys the tool's purpose without extraneous words. It is well-structured and 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?

With 9 parameters and no output schema, the description is minimal. It does not explain success response format, potential side effects, or required relationships (e.g., product must exist). This lack of contextual detail makes it incomplete for an agent to fully understand the operation's outcomes.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters have descriptive text. The tool description itself contributes no additional parameter semantics, thus the baseline score of 3 applies per the rubric.

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 'Creates a new variant of a given product' clearly states the action (creates) and the resource (a variant of a product). It is distinct from sibling tools like shop_create_product or shop_create_option, making the tool's 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 over alternatives or any conditions for selection. It only states the action without contrasting it with other create operations or specifying prerequisites like the need for an existing product.

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

shop_delete_optionDelete optionB
Destructive
Inspect

Deletes a specific variant option. Once an option gets used on a product, it cannot be deleted, even if the product is deleted. Guidance: Deletes a specific variant option. WARNING: Once an option gets used on a product, it cannot be deleted, even if the... | context: option_id

ParametersJSON Schema
NameRequiredDescriptionDefault
option_idYesOption Unique ID.

TDQS

B3.4/5.0
Behavior4/5

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

Adds a meaningful behavioral constraint: options that have been used on a product cannot be deleted, even if the product is deleted. This goes beyond the destructiveHint annotation.

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 repetitive, with the main sentence duplicated under 'Guidance' and the warning repeated. The trailing '| context: option_id' is unstructured and unclear.

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?

Covers the crucial deletion constraint but lacks details on success/failure behavior, existence checks, or any side effects. Adequate for a simple delete operation but not comprehensive.

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 parameter option_id is already well-described in the schema as 'Option Unique ID', and the description adds no additional semantic detail.

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 clearly that it deletes a specific variant option, distinguishing it from sibling tools like shop_delete_variant or shop_delete_product.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 explicit guidance on when to use this tool vs alternatives such as shop_update_option or shop_delete_variant. The warning about usage constraints is helpful but not a usage guideline.

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

shop_delete_paragraphDelete paragraphC
Destructive
Inspect

Deletes a specific description paragraph. Guidance: Deletes a specific description paragraph. | context: product_id, paragraph_id

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesUnique ID of the Product.
paragraph_idYesUnique ID of the Paragraph.

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the description's 'Deletes' is consistent. However, the description adds no extra behavioral context beyond what annotations provide—no mention of irreversibility, side effects on product, or whether it is a hard delete. With annotations covering the safety profile, the description adds minimal value.

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

Conciseness2/5

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

The description is redundant: 'Deletes a specific description paragraph.' is repeated in the 'Guidance' part. The pipe-separated context line is unstructured and adds no new information. The text is short but wasteful due to duplication, so it is not well-optimized.

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

Completeness3/5

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

For a simple delete operation with two parameters and no output schema, the description is adequate but minimal. It does not mention what happens on success (e.g., no return value), whether the deletion is permanent, or any prerequisites. However, given the annotations and simple nature, the tool is still callable correctly. It could benefit from stating that the paragraph is permanently removed.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters fully described in the input schema. The description's context line merely repeats the parameter names without adding format, relationships, or constraints. Since the schema already documents the parameters, a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('Deletes a specific description paragraph') with a specific verb and resource. The context line lists the required parameters, reinforcing what is being operated on. However, it does not differentiate this tool from siblings like cms_delete_article_paragraph or shop_delete_paragraph_media, so it loses a point for not distinguishing 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 provided on when to use this tool versus other delete operations. The description only restates the action and lists parameters; it does not mention conditions, prerequisites, or alternatives. For example, there is no note about whether this deletes the paragraph only from a product description or if it should be used instead of shop_delete_paragraph_media.

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

shop_delete_paragraph_mediaDelete paragraph mediaB
Destructive
Inspect

Deletes a given paragraph media. This operation does not delete the associated paragraph. Guidance: Deletes a given paragraph media. This operation does not delete the associated paragraph. | context: media_id, paragraph_id, product_id

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesMedia Unique ID.
product_idYesProduct Unique ID.
paragraph_idYesParagraph Unique ID.

TDQS

B3.3/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, so the description's clarification that the paragraph is not deleted adds useful context beyond the schema. However, it does not disclose other potential side effects or error behaviors, despite the openWorldHint=true annotation. The added context is minimal but 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.

Conciseness3/5

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

The description is short but contains redundant repetition: the main sentence is immediately repeated under 'Guidance'. This wastes words and reduces efficiency. The first sentence is clear and front-loaded, but the duplication is unnecessary.

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

Completeness3/5

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

For a simple delete operation with three fully documented parameters and no output schema, the description is adequate but minimal. It covers the key behavioral distinction (not deleting the paragraph) but omits any mention of error cases, reversibility, or idempotency, which the annotations (idempotentHint=false) only partially address.

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

Parameters3/5

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

Schema description coverage is 100%, so each parameter is already documented. The description does not add any meaning beyond listing the context parameter names, which is redundant. The baseline of 3 is appropriate since the schema carries the 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 clearly states the action ('Deletes a given paragraph media') and the specific resource, distinguishing it from sibling delete tools like shop_delete_paragraph. It also adds a key clarification that the associated paragraph is not deleted, which further defines 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 Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description does not mention any conditions, prerequisites, or exclusions. It only states what it does, leaving the agent to infer when it is appropriate.

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

shop_delete_productDelete productC
Destructive
Inspect

Deletes a specific product. Guidance: Deletes a specific product. | context: product_id

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProduct Unique ID.

TDQS

C2.8/5.0
Behavior2/5

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

The annotations already indicate destructiveHint=true and readOnlyHint=false, and the description adds no further behavioral context such as permanence, cascading deletions, or auth requirements. It is consistent with the annotations but does not go beyond them.

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

Conciseness3/5

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

The core description is appropriately short, but the 'Guidance' sentence is redundant and does not earn its place. The structure is not harmful, yet it contains unnecessary repetition.

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

Completeness4/5

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

For a simple delete operation with a single required identifier and no output schema, the description plus annotations are complete enough for an agent to invoke the tool. It does not explain consequences, but destructive behavior is already flagged.

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 product_id parameter is fully covered by the schema with the description 'Product Unique ID.' The description adds no additional semantic detail, but the schema coverage is complete and unambiguous for a simple identifier.

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 'Deletes' and the resource 'specific product', making the tool's purpose unambiguous. It does not explicitly differentiate among the many sibling delete tools, but the resource name product is distinct enough within the shop_ namespace.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives such as shop_delete_option or shop_delete_variant. The repeated 'Guidance' line merely restates the action and adds no decision-making context.

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

shop_delete_product_pdfDelete product PDFA
Destructive
Inspect

Deletes the PDF file associated with a given product. Guidance: Deletes the PDF file associated with a given product. | context: product_id

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesUnique ID of the product.

TDQS

A3.8/5.0
Behavior3/5

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

The description matches the destructiveHint annotation and states that the PDF is deleted, but it does not add extra context about irreversibility or side effects beyond what the annotations already convey.

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

Conciseness3/5

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

The description is short but contains redundant phrasing: the first sentence is repeated under 'Guidance' and the trailing '| context: product_id' is awkwardly appended. It is concise but not well structured.

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

Completeness4/5

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

For a simple single-parameter destructive operation with no output schema, the description is sufficient to understand what the tool does. It could mention that only the PDF is removed, not the product, but that is implied by the wording.

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 only parameter, product_id, is documented in the schema as 'Unique ID of the product.' The description merely refers to 'a given product' and adds no meaningful semantic detail 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 a specific action ('Deletes the PDF file') and a specific resource ('associated with a given product'), distinguishing it from deleting the product itself or uploading a PDF.

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 makes it obvious that this tool is for removing a product's PDF file, while sibling tools like shop_delete_product or shop_upload_product_pdf imply the boundary. It does not explicitly name alternatives, but the intent is clear from the wording.

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

shop_delete_product_slideDelete product slideC
Destructive
Inspect

Deletes a specific product slide. Guidance: Deletes a specific product slide. | context: product_id, slide_id

ParametersJSON Schema
NameRequiredDescriptionDefault
slide_idYesSlide Unique ID.
product_idYesProduct Unique ID.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already indicate destructive action (destructiveHint=true), and the description aligns with that. No additional behavioral details are provided, such as permanence or side effects, but the annotation lowers the bar for this dimension.

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

Conciseness2/5

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

The description is very short but includes redundant text ('Guidance: Deletes a specific product slide. | context: product_id, slide_id') that repeats the first sentence. This lack of clean structure reduces the effectiveness of the concise wording.

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

Completeness2/5

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

There is no mention of expected outcomes, errors, or side effects beyond deletion. For a destructive operation, more context about what happens to the product or related media would improve completeness, even though no output schema is required.

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 descriptions for both parameters ('Slide Unique ID' and 'Product Unique ID'), so coverage is high. The description adds no extra meaning about the relationship between the IDs or how they identify the slide, but the schema is sufficient for basic understanding.

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 ('Deletes') and the object ('a specific product slide'), which distinguishes it from update/upload slide tools. However, it could more explicitly differentiate it from the broader set of delete tools.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like shop_update_product_slide or shop_upload_product_slide. The description merely repeats the action without contextual direction.

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

shop_delete_variantDelete variantC
Destructive
Inspect

Deletes a specific product variant. Guidance: Deletes a specific product variant. | context: product_id, variant_id

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProduct Unique ID.
variant_idYesVariant Unique ID.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the description's 'Deletes' is consistent. The description adds no further behavioral details such as cascading effects, confirmation, or irreversibility, but 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.

Conciseness2/5

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

The description is repetitive, saying 'Deletes a specific product variant' twice in nearly identical form. The 'Guidance:' prefix and trailing parameter list add noise without substantive content, making the description less concise than it should be.

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

Completeness3/5

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

For a simple delete operation with two identifier parameters, the description is adequate in isolation. However, it omits any context about required permissions, side effects, return values, or error conditions, which could be important for an agent deciding whether 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 already provides descriptions for both product_id and variant_id ('Product Unique ID.' and 'Variant Unique ID.'). The description's 'context: product_id, variant_id' adds no new meaning; it merely echoes the parameter names without explaining their roles or relationships.

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 ('Deletes') and the resource ('a specific product variant'), which is sufficient to identify the tool's purpose. However, it largely repeats the tool title and adds no distinguishing detail 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?

The description provides no guidance on when to use this tool versus alternatives like shop_delete_product or shop_update_variant. The 'Guidance' portion merely restates the action and lists parameter names without explaining context or selection criteria.

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

shop_get_collectionGet collectionB
Read-onlyIdempotent
Inspect

Returns the details of a specific collection. Guidance: Returns the details of a specific collection. | context: collection_id

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idYesCollection Unique ID.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, and not destructive. The description is consistent with these, adding no further 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.

Conciseness2/5

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

The second sentence is redundant and awkward, repeating the purpose and appending 'context: collection_id' without value. The first sentence alone would have been sufficient and 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 getter with one well-described parameter, the core functionality is covered. However, the redundant guidance adds noise and no additional context.

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

Parameters3/5

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

Schema provides a clear description for collection_id ('Collection Unique ID.'), covering 100% of parameters. Description adds no extra semantic detail 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?

Clearly states 'Returns the details of a specific collection', identifying the verb and object. Distinguished from list_collections by the word '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 explicit guidance on when to use this tool instead of alternatives like shop_list_collections. The 'Guidance' line merely restates the purpose without adding selection criteria.

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

shop_get_customerGet customerB
Read-onlyIdempotent
Inspect

Returns the details of a given customer of your shop app. Guidance: Returns the details of a given customer of your shop app. | context: customer_id

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYesUnique ID of the customer.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds no extra behavioral context (e.g., side effects, errors, or scoping) but 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.

Conciseness2/5

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

The description is redundant, repeating the same sentence under 'Guidance:' and appending '| context: customer_id'. This awkward structure detracts from conciseness.

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

Completeness3/5

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

The tool is simple with one input and no output schema. The description states it returns 'details' but does not specify what details, which is somewhat vague; however, it is adequate for a basic get 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 input schema provides full coverage of the single parameter customer_id with a clear description ('Unique ID of the customer'). The tool description adds no additional semantic meaning 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 ('Returns') and a specific resource ('details of a given customer'), clearly distinguishing this tool from list tools such as shop_list_customers by using singular 'a given customer'.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives like shop_list_customers. It only implies the need for a customer_id, without stating conditions or comparing to other tools.

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

shop_get_loyaltyGet loyaltyB
Read-onlyIdempotent
Inspect

Returns the loyalty points details of a user. Guidance: Returns the loyalty points details of a user. | context: user_id

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesUnique ID of the user.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations (readOnlyHint, idempotentHint, non-destructive) already cover the behavioral profile, and the description adds no contradictory side effects or permissions requirements. It neither enhances nor undermines transparency, so a neutral 3 is appropriate given the annotation coverage.

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

Conciseness3/5

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

The core sentence is concise, but the description contains redundant repetition ('Returns the loyalty points...' twice) and includes a misplaced 'Guidance:' and 'context: user_id' suffix that disrupts structure and adds noise without value.

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

Completeness4/5

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

For a simple read-only getter with a single parameter, the description sufficiently explains the operation and input. No output schema is present, but for such a straightforward retrieval, the provided information is complete enough for an agent to use it correctly.

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

Parameters3/5

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

The only parameter, user_id, has a schema description ('Unique ID of the user') providing full coverage (100%). The description repeats 'context: user_id' but adds no additional semantic meaning beyond the schema, so the baseline score for full coverage is maintained at 3.

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

Purpose4/5

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

The description clearly states it 'Returns the loyalty points details of a user', which specifies the verb and resource. It distinguishes from shop_update_loyalty among siblings, but the duplicate phrasing and the odd 'Guidance:' and 'context: user_id' appendix create slight confusion, preventing a 5.

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

Usage Guidelines3/5

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

The description implies usage is to retrieve loyalty points for a user, but it does not explicitly state when to use it over other getter tools or any prerequisites. The context is self-evident, but no direct guidance or alternative contrast is provided.

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

shop_get_orderGet orderA
Read-onlyIdempotent
Inspect

Returns the details of a given order. Guidance: Returns the details of a given order. | context: order_id

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesUnique ID of the order.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint, idempotentHint, and non-destructive behavior, so the description does not need to repeat this. The description provides no additional side-effect information, but none is required 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.

Conciseness4/5

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

The description is short and to the point, but it contains a slight redundancy: 'Returns the details of a given order.' is repeated in the 'Guidance' clause. This does not harm clarity but could be trimmed.

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 description is sufficient for a simple getter operation. There is no output schema, but the tool name and parameter indicate it returns order details, which is typical for such getters in this API family.

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 fully describes order_id as the unique ID of the order, and the description echoes that. Since the schema coverage is 100% and the description adds no extra semantic detail, the baseline of 3 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?

Clearly states the tool returns details of a specific order identified by order_id. This distinguishes it from sibling tools like shop_list_orders, which list multiple orders, and other getters for different resources (products, customers, etc.).

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 implies usage when a single order's details are needed by ID. While it doesn't explicitly contrast with alternatives such as shop_list_orders, the function name and parameter make the appropriate context obvious.

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

shop_get_order_shippingGet order shippingA
Read-onlyIdempotent
Inspect

Retrieves status, shipping number and shipping url of a given order. Guidance: Retrieves status, shipping number and shipping url of a given order. | context: order_id

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesUnique ID of the order.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate readOnly and idempotent, and the description adds no extra context about side effects, authentication, or rate limits. The operation is a simple read, so the annotation covers the main safety profile.

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

Conciseness5/5

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

The description is one concise sentence with no redundancy or irrelevant detail, making it highly efficient.

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?

Although no output schema is provided, the description explicitly names the return fields (status, shipping number, shipping URL), which fully conveys what the tool returns. No additional context is necessary for this straightforward read 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 single parameter order_id has full schema coverage and its description 'Unique ID of the order' is clear. Since schema coverage is 100%, the baseline applies and the description adds no further semantic depth.

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 status, shipping number, and shipping URL for an order, which is specific and distinguishes it from broader tools like shop_get_order or shop_update_order_shipping in the sibling list.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as shop_get_order or shop_update_order_shipping. The description lacks explicit context for selecting it.

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

shop_get_paragraph_mediaGet paragraph mediaC
Read-onlyIdempotent
Inspect

Returns the details of a given paragraph media. Guidance: Returns the details of a given paragraph media. | context: media_id, paragraph_id, product_id

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesUnique ID of the media.
product_idYesUnique ID of the product.
paragraph_idYesUnique ID of the paragraph.

TDQS

C2.8/5.0
Behavior3/5

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

The description indicates a read operation returning details, which aligns with the readOnlyHint and idempotentHint annotations. It does not add much behavioral detail beyond the annotations, but there is no contradiction.

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

Conciseness2/5

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

The description is short but contains redundancy: the 'Guidance' line repeats the first sentence almost verbatim. The appended 'context' fragment feels bolted on and the overall structure is not clean.

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 tool with no output schema, the description is reasonably complete in stating that it returns details for the identified media. However, it does not clarify what 'paragraph media' is or what the returned details contain, relying on context from sibling tools.

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?

All three parameters are covered by the schema with clear descriptions like 'Unique ID of the media' and similar. The tool description adds no extra semantic information beyond the schema, so it meets the baseline but does not exceed it.

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

Purpose4/5

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

The description clearly states the tool returns details of a paragraph media and identifies the key object. It is slightly generic and does not elaborate on what 'details' includes, but the core purpose is unambiguous.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool instead of the many sibling get/list tools. The 'Guidance' text merely repeats the description, and the appended context line does not offer decision guidance.

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

shop_get_productGet productB
Read-onlyIdempotent
Inspect

Retrieves the details of a specific product. Guidance: Retrieves the details of a specific product. | context: product_id

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProduct Unique ID.

TDQS

B3.3/5.0
Behavior3/5

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

The annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds no extra behavioral context, 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.

Conciseness2/5

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

The description repeats the same phrase twice and includes an awkward stray 'Guidance: ... | context: product_id' fragment, which reduces clarity and wastes space.

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 get-by-ID operation, the description is mostly sufficient. It would benefit from mentioning what kind of details are returned, but the lack of an output schema makes this less critical.

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

Parameters3/5

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

The input schema already defines product_id as an integer with 'Product Unique ID.' The description adds no further semantic detail about the parameter.

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

Purpose5/5

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

The description clearly states the action ('Retrieves') and the resource ('details of a specific product'), making the tool's purpose unmistakable even among many sibling getters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 instead of sibling tools like shop_get_variant, shop_get_collection, or shop_get_order. The description does not distinguish it from alternatives.

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

shop_get_promocodeGet promocodeA
Read-onlyIdempotent
Inspect

Returns the details of a given promocode of your shop app. Guidance: Returns the details of a given promocode of your shop app. | context: promocode_id

ParametersJSON Schema
NameRequiredDescriptionDefault
promocode_idYesUnique ID of the promocode.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds no extra transparency about side effects, errors, or edge cases, so it meets the baseline 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.

Conciseness4/5

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

The description is short and to the point, but it contains redundancy with the 'Guidance:' line repeating the same information. This minor repetition prevents 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 description does not mention what happens if the promocode does not exist, whether it returns a specific schema, or how it fits into the broader shop context. It is minimally complete but lacks helpful context that could guide an 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 parameter promocode_id has a clear description in the schema ('Unique ID of the promocode'), and the tool description reinforces its role. Since schema coverage is 100%, this is above baseline.

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 that the tool returns details of a single promocode identified by its ID, making its purpose distinct from list and mutation tools for other entities.

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 for retrieving a single promocode by ID but does not explicitly guide when to prefer this over other promocode-related tools (e.g., shop_list_promocodes_*) or how it differs from them.

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

shop_get_prospectGet prospectB
Read-onlyIdempotent
Inspect

Returns the details of a given prospect of your shop app. Guidance: Returns the details of a given prospect of your shop app. | context: user_id

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesUnique ID of the User.

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already convey that the operation is read-only, idempotent, non-destructive, and broadly accessible. The description adds no additional behavioral context such as possible error conditions or data scope, 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.

Conciseness2/5

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

The description repeats the same statement twice: 'Returns the details of a given prospect of your shop app.' followed by 'Guidance: Returns the details of a given prospect of your shop app.' It also includes a confusing trailing fragment '| context: user_id,' making it less concise than it should be.

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

Completeness3/5

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

For a simple read-by-ID operation, the description is adequate, but it is vague about what 'details' are returned and there is no output schema to clarify the response structure. It does not fully cover expected return content or error behavior.

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 only parameter, user_id, is already documented in the schema as 'Unique ID of the User.' The description does not add further meaning beyond referring to a 'given prospect,' so it provides no extra value beyond the existing schema coverage.

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 returns details of a specific prospect, using a specific verb and resource. It is distinct from sibling tools like shop_list_prospects and shop_get_customer because it targets a single prospect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 shop_list_prospects or other shop_get_* tools. It does not mention prerequisites, conditions, or exclusions.

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

shop_get_variantGet variantC
Read-onlyIdempotent
Inspect

Return a list of all products. Guidance: Returns the details of a specific product variant. | context: product_id, variant_id

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesNumeric id of the product the variant belongs to.
variant_idYesNumeric id of the variant to retrieve.

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds no meaningful behavioral detail beyond the annotations, but it does not contradict them.

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

Conciseness2/5

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

The text is short but includes a misleading first sentence that should be removed. The remaining content is minimal but the contradictory sentence makes it poorly 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?

The description is incomplete due to the contradictory first sentence and lacks any output expectations. Since there is no output schema, more context about what the tool returns would be valuable.

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

Parameters3/5

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

The input schema already provides clear descriptions for product_id and variant_id. The description adds no extra semantic value 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 opens with 'Return a list of all products,' which directly contradicts the tool's name and parameters, then partially corrects itself with 'Returns the details of a specific product variant.' The conflicting first sentence makes the purpose 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 given about when to use this tool versus sibling tools like shop_get_product or shop_list_products. The 'context' phrase is not actionable usage guidance.

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

shop_list_collectionsList collectionsA
Read-onlyIdempotent
Inspect

Returns a list of the collections of the shop. The results are paginated (20 collections displayed on each page by default). Guidance: Returns a list of the collections of the shop. The results are paginated (20 collections displayed on each page by de...

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
sortNoSorts the returned collections. Possible values:- `alpha`: ascending alphabetical order - `alpha_desc`: descending alphabetical order - `first_added`: ascending creation date order - `last_added`: descending creation date order
keywordNoRestricts the list of returned collections to the ones whose name contains the provided argument. To select instances whose name contains a word "A" **OR** a word "B", use the following syntax: `?keyword=A,B`.
per_pageNoNumber of collections displayed on each page.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful behavioral context by stating that results are paginated with a default of 20 per page, going slightly beyond the annotation-only information.

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 contains redundant and truncated content, repeating the same sentence under 'Guidance:' and cutting off mid-phrase. This harms clarity and does not earn each sentence's place.

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

Completeness4/5

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

Given the simple list operation, all parameters are described, pagination behavior is mentioned, and annotations cover safety semantics. However, the truncated duplicate text and lack of any output shape details leave minor room for ambiguity.

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?

All four parameters are documented in the schema with meaningful descriptions, including enum meanings and keyword syntax. The description itself does not add further parameter semantics beyond the schema, so baseline coverage 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?

States a specific action and resource: 'Returns a list of the collections of the shop.' This clearly distinguishes it from single-collection retrieval and from sibling list tools for other resource types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 pagination details but gives no guidance on when to use this tool versus alternatives such as shop_get_collection or other shop_list_* tools. No explicit conditions or exclusions are mentioned.

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

shop_list_customersList customersB
Read-onlyIdempotent
Inspect

Returns the list of customers of your shop app. Guidance: Returns the list of customers of your shop app.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
per_pageNoNumber of customers displayed on each page.

TDQS

B3.3/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the key behavioral traits. The description adds no extra context about side effects, rate limits, or return details, but it does not contradict the annotations. Given the annotations are present, the bar is lower, and the description is neutral.

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

Conciseness3/5

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

The description is very short, but it contains redundancy: the first sentence and the second sentence starting with 'Guidance:' are essentially the same. This duplication wastes words without adding information. It could be condensed to a single sentence, which would be more 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 list operation, the description is adequate but not rich. It does not mention that the tool returns a list of customer objects, nor does it explain pagination behavior or ordering. Since there is no output schema, a bit more context about the expected return could be helpful, but the core function is clear.

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?

Both parameters (page and per_page) have descriptions in the schema, so coverage is 100%. The descriptions are minimal but accurate: 'Page number.' and 'Number of customers displayed on each page.' The description does not add any extra detail such as defaults, minimums, or how pagination interacts with the result set, so it remains at the baseline for fully documented 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's function: 'Returns the list of customers of your shop app.' This is a specific verb-resource pairing that distinguishes it from other list tools like shop_list_orders or shop_list_products. The tool name itself 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?

The description provides no guidance on when to use this tool versus alternatives such as shop_get_customer for a single customer, or shop_list_prospects for prospects. There is no mention of scenarios where listing customers is appropriate, nor any indication of pagination usage or filters beyond the basic parameters.

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

shop_list_downloadsList downloadsC
Read-onlyIdempotent
Inspect

Returns the history of downloads between specified timestamps and on specified platform. Guidance: Returns the history of downloads between specified timestamps and on specified platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date (included) with format `%Y-%m-%d`. Defaults to yesterday.
platformNoTarget platform. Defaults to "all".
start_dateNoStart date (included) with format `%Y-%m-%d`. Defaults to one month ago.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations (readOnlyHint, idempotentHint, destructiveHint) already establish that this is a safe read-only operation. The description adds minimal behavioral context, such as the fact that it returns a history and is filtered by date/platform. It does not contradict annotations and provides some context beyond them, but it does not disclose any additional traits like pagination or data volume. A score of 3 is appropriate given the strong 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.

Conciseness2/5

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

The description is extremely short but redundant: it repeats the identical sentence twice, once prefixed with 'Guidance:'. This adds no value and wastes the agent's attention. The first sentence is sufficient and front-loaded, but the duplication harms conciseness and structure. A score of 2 reflects this 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 list operation with fully documented optional parameters and comprehensive safety annotations, the description provides the core functionality. However, it lacks any guidance on usage context or edge cases (e.g., what 'downloads' specifically refers to, whether results are ordered). Given the low complexity and complete schema, the description is minimally adequate but not thorough. A score of 3 aligns with '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?

The schema describes all three parameters (end_date, start_date, platform) with formats and defaults, achieving 100% coverage. The description essentially restates that downloads are filtered by timestamps and platform, adding no new information beyond what the schema provides. With full schema coverage, the baseline of 3 is correct; the description does not elevate it.

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

Purpose4/5

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

The description clearly states the tool returns download history filtered by timestamps and platform. It uses a specific verb ('Returns') and resource ('history of downloads'), which is distinct from the sibling 'shop_list_downloads_global' even though it doesn't explicitly name the sibling. The repetition of the same sentence does not detract from 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?

No guidance is provided on when to use this tool versus alternatives. The sibling list includes 'shop_list_downloads_global', but the description does not mention it or any criteria for choosing one over the other. The description only restates the core function without contextualizing its scope relative to other download-related tools.

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

shop_list_downloads_globalList downloads globalB
Read-onlyIdempotent
Inspect

Returns the total number of all time downloads on specified platform and the distribution of downloads across the platform's versions. Guidance: Returns the total number of all time downloads on specified platform and the distribution of downloads across the pla...

ParametersJSON Schema
NameRequiredDescriptionDefault
platformNoTarget platform. Defaults to "all".

TDQS

B3.4/5.0
Behavior4/5

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

Read-only and idempotent annotations already establish safety; description adds functional behavior (returns totals and distribution) and optional platform filtering without contradicting 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?

Core description is concise but the trailing 'Guidance' sentence repeats the same content, adding redundancy without new information.

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

Completeness4/5

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

For a simple read-only aggregate tool with no output schema, the description gives enough context about what is returned and how platform filtering works, though it does not specify exact output format.

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 fully describes the platform parameter with enum values and default; description adds little beyond stating the platform is used for filtering.

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 clearly states it returns aggregate all-time download counts and version distribution for a specified platform, distinguishing it from the similarly named sibling shop_list_downloads by indicating global aggregation.

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

Usage Guidelines2/5

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

No explicit guidance about when to choose this tool over alternatives such as shop_list_downloads; the 'Guidance' text merely restates the description without adding decision criteria.

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

shop_list_launchesList launchesB
Read-onlyIdempotent
Inspect

Returns the history of launches between specified timestamps and on specified platform. Guidance: Returns the history of launches between specified timestamps and on specified platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date (included) with format `%Y-%m-%d`. Defaults to yesterday.
platformNoTarget platform. Defaults to "all".
start_dateNoStart date (included) with format `%Y-%m-%d`. Defaults to one month ago.

TDQS

B3.3/5.0
Behavior4/5

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

Annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint) fully cover the operational safety profile, and the description's 'Returns' aligns with these. The description adds no contradictory information; it is a simple read operation.

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 core description is a single clear sentence, but the repetition of the same sentence under 'Guidance' is redundant and detracts from conciseness. It could be streamlined.

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

Completeness3/5

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

The description is sufficient for a simple list operation with optional filters, but it lacks contextual information about what 'launches' represents and does not clarify the distinction from 'unique launches' (sibling tool). No output schema is provided, but that is not a major gap for a list 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 100%, so each parameter (start_date, end_date, platform) has a meaningful description with format hints and enum values. The description does not add extra explanation beyond the schema, which is adequate given the high coverage.

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

Purpose4/5

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

The description clearly states the tool returns a history of launches with optional filters for timestamps and platform. The verb 'Returns' and the resource 'history of launches' are specific, and the tool is distinguishable from the sibling shop_list_unique_launches by the absence of 'unique' in the name.

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

Usage Guidelines2/5

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

No explicit guidance is given about when to use this tool versus alternatives like shop_list_unique_launches. It does not state that this returns all launches or when the unique variant is more appropriate. The description only mentions the parameters, not usage context.

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

shop_list_optionsList optionsA
Read-onlyIdempotent
Inspect

Returns a list of the options that belong to the specified shop catalog. The results are paginated (20 options displayed on each page by default). Guidance: Returns a list of the options that belong to the specified shop catalog. The results are paginated (20 options displa...

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
searchNoRestricts the list of returned options to the ones whose name contains the provided argument.
per_pageNoNumber of variant options displayed on each page.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations (readOnlyHint=true, destructiveHint=false) already indicate a safe read-only operation. The description adds useful pagination context, and 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 concise and direct, using two clear sentences with no unnecessary detail or redundancy.

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

Completeness4/5

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

The description covers the core behavior and pagination, and parameters are well-documented. Although no output schema is provided, the simple list nature and clear parameter descriptions make the tool sufficiently understandable for an agent.

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

Parameters5/5

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

All three parameters (page, search, per_page) have meaningful descriptions, and schema coverage is 100%. The descriptions clearly convey their purpose and expected effects.

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 returns a list of options belonging to the shop catalog, and mentions pagination. It is easily distinguishable from sibling list tools (e.g., shop_list_products, shop_list_collections) by name and 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 does not explicitly mention when to use this tool over alternatives or provide conditions for selection. It is implied by the name and context, but lacks the explicit guidance seen in higher-scoring examples.

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

shop_list_ordersList ordersA
Read-onlyIdempotent
Inspect

Returns a list of the orders that belong to the specified shop. Only orders with a "PENDING", "FULFILLED", "DELIVERED" or "CANCELLED" status are listed and the results are paginated (20 orders displayed on each page by default). Guidance: Returns a list of the orders that belong to the specified shop. Only orders with a PENDING, FULFILLED, DELIVERED or C...

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
statusNoRestricts the list of returned orders to a certain status. To filter several statuses use the following syntax: `?status={STATUS1}&status={STATUS2}`
per_pageNoNumber of orders displayed on each page.
creation_date_toNoRestricts the list of returned orders to the ones created **before** (or on) the provided datetime. This parameter should use the following format `yyyy-mm-ddThh:MM` (year, month, day, 24-hour and minute) and be expressed in UTC time.
delivery_date_toNoRestricts the list of returned orders to the ones whose selected delivery slot lands **before** (or on) the provided datetime. This parameter should use the following format `yyyy-mm-ddThh:MM` (year, month, day, 24-hour and minute) and be expressed in UTC time. When this filter is applied, orders that do not have a selected delivery slot (shipped by transporter, for instance) will **not** be returned. Also, note that a delivery slot is said to land before a given datetime if its `slot_end` value comes before that datetime.
creation_date_fromNoRestricts the list of returned orders to the ones created **after** (or on) the provided datetime. This parameter should use the following format `yyyy-mm-ddThh:MM` (year, month, day, 24-hour and minute) and be expressed in UTC time.
delivery_date_fromNoRestricts the list of returned orders to the ones whose selected delivery slot lands **after** (or on) the provided datetime. This parameter should use the following format `yyyy-mm-ddThh:MM` (year, month, day, 24-hour and minute) and be expressed in UTC time. When this filter is applied, orders that do not have a selected delivery slot (shipped by transporter, for instance) will **not** be returned. Also, note that a delivery slot is said to land after a given datetime if its `slot_start` value is later than that datetime.

TDQS

A3.9/5.0
Behavior4/5

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

The description adds behavioral details beyond the annotations: it mentions pagination with a default of 20 orders per page, status filtering, and the exclusion of orders without delivery slots when date filters are applied. These are not captured in the readOnly/idempotent/destructive annotations, increasing 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 contains a duplicated 'Guidance:' section that repeats the first sentence and is truncated ('...C...'). This redundancy and unfinished fragment makes the text less concise and structurally messy, detracting from its clarity.

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 list-orders tool, the description covers the essential context: the resource type, pagination default, status constraints, and the behavior of date filters (including delivery-slot exclusion). It is not exhaustive (e.g., no output schema), but it provides sufficient operational context for an agent to use the tool effectively.

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 already covers all parameters thoroughly, so the baseline is 3. The description adds a small but useful clarification: the default page size (20) is not stated in the per_page parameter description, and the description reinforces the status filter behavior. This extra context raises the score slightly.

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's verb and resource: 'Returns a list of the orders that belong to the specified shop.' This directly differentiates it from sibling tools like shop_get_order (singular retrieval) and other shop_list_* tools, making the primary 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 Guidelines3/5

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

The description explains what the tool does and its filtering capabilities, but it does not explicitly say when to use it compared to alternatives such as shop_get_order or other list tools. An agent can infer usage from the purpose, but there is no direct comparative guidance.

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

shop_list_page_viewsList page viewsC
Read-onlyIdempotent
Inspect

Returns the history of page views between specified timestamps and on specified platform. Guidance: Returns the history of page views between specified timestamps and on specified platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date (included) with format `%Y-%m-%d`. Defaults to yesterday.
platformNoTarget platform. Defaults to "all".
start_dateNoStart date (included) with format `%Y-%m-%d`. Defaults to one month ago.

TDQS

C2.7/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds no new behavioral details beyond what the schema and annotations provide; it does not mention pagination, rate limits, or response format. It is consistent with annotations, so 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.

Conciseness2/5

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

The description consists of two nearly identical sentences, repeating the same information. This is redundant and wastes space; a single sentence would suffice. The duplication makes it less concise and poorly 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?

The tool lacks any mention of its relationship to shop_list_page_views_per_weekday, which is a likely alternative for aggregated weekday data. It also does not clarify the output format (e.g., individual events vs. counts per day), which is ambiguous. Given the annotations cover safety, the main missing context is the differentiation and output nature, making it incomplete.

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

Parameters3/5

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

The input schema provides complete descriptions for all three parameters, including formats, defaults, and the platform enum, giving 100% coverage. The description adds no additional parameter semantics or interaction details. With such high schema coverage, the baseline score of 3 is appropriate.

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

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: it returns the history of page views within a time range and platform. It is distinct from sibling shop_list_page_views_per_weekday by its name, but the description does not explicitly differentiate them. Overall the purpose is clear, though not as strong as it could be with an explicit alternative.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus shop_list_page_views_per_weekday or other list tools. The description merely repeats the function without any usage context, exclusions, or alternative recommendations. This is a significant gap given the existence of a closely related sibling.

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

shop_list_page_views_per_weekdayList page views per weekdayB
Read-onlyIdempotent
Inspect

Returns the total number of page views across all platformsand between specified timestamps, grouped by day of the week. Guidance: Returns the total number of page views across all platforms and between specified timestamps, grouped by day of the w...

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date (included) with format `%Y-%m-%d`. Defaults to yesterday.
start_dateNoStart date (included) with format `%Y-%m-%d`. Defaults to one month ago.

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, and non-destructive behavior, and the description adds relevant behavioral details: aggregation across all platforms, date filtering, and weekday grouping. It does not describe the output format, but the core side-effect profile is well covered by the annotations.

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

Conciseness2/5

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

The description opens with a clear first sentence, but it then repeats the same content under 'Guidance:' and appears truncated mid-sentence. The duplication and typo reduce conciseness and make the description feel unfinished.

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 aggregation tool, the description explains the main behavior and date-range inputs, but it omits the expected output structure and does not guide the agent on when to choose this sibling over shop_list_page_views. The absent output schema increases the need for such detail, so the description is only partially complete.

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

Parameters3/5

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

The input schema provides full descriptions for both start_date and end_date, including format and defaults, so the parameter coverage is already strong. The description adds no further parameter-level detail, which is acceptable given the 100% schema coverage.

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

Purpose4/5

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

The description clearly states the tool returns total page views across all platforms within a date range, grouped by weekday, and the tool name reinforces this. Minor issues like the typo 'platformsand' and the truncated guidance do not obscure the core purpose, but it does not explicitly contrast with sibling shop_list_page_views.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 does not explicitly say when to use this tool versus alternatives such as shop_list_page_views or shop_list_session_times. It implies usage through the date-range parameters and weekday grouping, but it lacks direct guidance on selecting this tool over similar analytic list tools.

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

shop_list_paragraphsList paragraphsA
Read-onlyIdempotent
Inspect

Returns a list of the description paragraphs of the specified product. The results are sorted by ascending paragraph position. Guidance: Returns a list of the description paragraphs of the specified product. The results are sorted by ascending paragraph... | context: product_id

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesUnique ID of the Product

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds the sorting-by-position detail, which is useful, but does not elaborate on return format or potential edge cases. No contradiction with annotations.

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

Conciseness5/5

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

The description is concise, using only two sentences to convey the purpose and ordering behavior. There is no redundant information, and the structure is direct.

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 description is sufficient for a simple list operation, but it does not specify what fields are returned or whether pagination is involved. Given the lack of an output schema, this minor gap prevents a perfect score, but the core functionality is clearly conveyed.

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 a clear description for product_id (Unique ID of the Product), covering 100% of the parameters. The tool description does not add further parameter guidance, so the baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states the action (Returns), the resource (description paragraphs), and the scope (of the specified product). It also mentions the sorting order, leaving no ambiguity about the tool's purpose.

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

Usage Guidelines3/5

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

The description does not explicitly mention when to use this tool versus alternatives, such as shop_create_paragraph or shop_get_paragraph. However, the straightforward list operation is self-explanatory given the sibling context, but the lack of explicit guidance prevents a higher score.

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

shop_list_productsList productsA
Read-onlyIdempotent
Inspect

Returns a list of the products created in this shop. The results are paginated (20 products displayed on each page by default). Guidance: Returns a list of the products created in this shop. The results are paginated (20 products displayed on each page by...

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
statusNoRestricts the list of returned products to a certain publishing status.
keywordNoRestricts the list of returned products to the ones whose title, summary, description, tags, SKU or slug contains the provided argument. To select instances that contain a word "A" **OR** a word "B", use the following syntax: `?keyword=A,B`.
per_pageNoNumber of products displayed on each page.
collectionNoRestricts the list of returned products to the ones that belong to the specified collection (an unique ID is expected). To filter instances that belong to a collection 1 **OR** a collection 2, use the following syntax: `?collection={ID1}&collection={ID2}`

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already provide readOnlyHint and idempotentHint, and the description consistently indicates a read-only operation by stating it 'returns' a list. No side effects are mentioned, and no contradictions exist.

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

Conciseness3/5

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

The description is short and to the point, but the same sentence about returning products and pagination appears twice, and a repeated 'Guidance:' line adds redundancy. This makes it less concise and structurally messy.

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 description provides essential details (returns products, pagination default) and the schema covers filtering options. Though there is no output schema, a list operation typically returns product objects, which is implied. No critical information is missing for basic usage.

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 descriptions cover all parameters (100% coverage), and the tool description adds a default page size (20 per page) that is not explicitly in the schema. This extra context slightly enhances understanding of pagination 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 clearly states the tool returns a list of products created in the shop. The verb 'Returns' and resource 'list of products' make the purpose unambiguous, and it naturally distinguishes from sibling tools like shop_create_product or shop_get_product.

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 mentions pagination and defaults but does not explicitly contrast with alternative list tools (e.g., shop_list_orders, shop_list_collections). It implicitly suggests usage when a product list is needed, but lacks explicit 'use when' or 'use instead of' guidance.

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

shop_list_promocodes_amountList promocodes amountB
Read-onlyIdempotent
Inspect

List of promocodes based on order amount to be applied before order payment. Guidance: List of promocodes based on order amount to be applied before order payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number to retrieve. Defaults to the first page when omitted.
per_pageNoNumber of promocodes returned per page.

TDQS

B3.1/5.0
Behavior3/5

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

The annotations already declare readOnly, idempotent, and non-destructive behavior, so the description does not need to restate safety. It adds minimal behavioral context by indicating that results are based on order amount, but it does not mention pagination behavior or output shape; the annotations cover the main side-effect concerns.

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

Conciseness3/5

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

The description is very short and front-loaded, but the 'Guidance' line exactly repeats the description, adding no new information. This mild redundancy prevents a higher score, though the overall length is appropriate.

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

Completeness3/5

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

For a simple list operation with no output schema and two well-documented pagination parameters, the description is mostly adequate. However, the lack of differentiation from sibling promocode list tools and the ambiguous 'based on order amount' filter leave some contextual gaps for an agent choosing among alternatives.

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 complete descriptions for both parameters (`page`, `per_page`), so the description adds little beyond the schema. The phrase 'based on order amount' hints at an implicit filter but is not connected to any parameter, leaving the exact filtering semantics 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 identifies the action ('list') and resource ('promocodes'), and adds a specific qualifier ('based on order amount') that distinguishes it from sibling promocode-listing tools. However, it does not sharply contrast with alternatives like collections, product, or tags beyond the phrase 'order amount', which is somewhat implicit.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus sibling promocode-listing tools. The description implies an amount-related filter but does not explain scenarios, prerequisites, or how it differs from shop_list_promocodes_collections, shop_list_promocodes_product, or shop_list_promocodes_tags.

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

shop_list_promocodes_collectionsList promocodes collectionsC
Read-onlyIdempotent
Inspect

List of promocodes based on dedicated collections to be applied before order payment. Guidance: List of promocodes based on dedicated collections to be applied before order payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number to retrieve. Defaults to the first page when omitted.
per_pageNoNumber of promocodes returned per page.

TDQS

C2.4/5.0
Behavior3/5

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

The annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context (e.g., no mention of side effects, but there are none). 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.

Conciseness1/5

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

The description is redundant, containing the same sentence twice. This is not concise and adds no value; the second sentence is an exact duplicate. It should have been a single, clear statement.

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 paginated list tool, the description gives the basic purpose but omits any hint of return format or edge cases. Given the lack of an output schema, a bit more detail on what is returned would improve completeness, but it is adequate for a straightforward list.

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 already provides descriptive parameter names and per-parameter descriptions (page, per_page). The tool description adds no additional meaning beyond the schema, so the baseline of 3 applies.

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

Purpose3/5

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

The description states the tool lists promocodes based on dedicated collections, but the term 'dedicated collections' is vague and the repeated sentence adds no clarity. It does not explicitly say it returns a list, but the intent is understandable.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus the sibling promocode listing tools (e.g., shop_list_promocodes_amount, shop_list_promocodes_product). The description does not differentiate the use case.

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

shop_list_promocodes_productList promocodes productD
Read-onlyIdempotent
Inspect

List of promocodes based on dedicated product to be applied before order payment. Guidance: List of promocodes based on dedicated product to be applied before order payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number to retrieve. Defaults to the first page when omitted.
per_pageNoNumber of promocodes returned per page.

TDQS

D1.8/5.0
Behavior2/5

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

The description adds no behavioral details beyond the annotations. It repeats the purpose without mentioning side effects, read-only behavior, or any constraints. The annotations indicate readOnlyHint=true and destructiveHint=false, but the description itself provides no additional transparency.

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

Conciseness2/5

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

The description is brief but repetitive, essentially stating the same phrase twice. It could be condensed to a single sentence without loss of information. The structure is acceptable but the redundancy detracts from 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?

The description lacks essential context such as what 'dedicated product' refers to, whether a product identifier is required (though absent from schema), and what the output format might be. There is no output schema, and the description does not compensate by explaining expected results or error conditions.

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 parameters (page, per_page) are clearly described as pagination controls, but the tool description mentions 'dedicated product' without any corresponding product parameter. This creates a mismatch between the described function and the actual input schema, leaving the agent uncertain how to specify the product.

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 'List of promocodes based on dedicated product' but does not clarify what 'dedicated product' means or how it is specified. The verb 'list' and resource are present, but the scope is ambiguous, especially given sibling tools like shop_list_promocodes_amount and shop_list_promocodes_collections which differentiate by type.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. The description repeats the same phrase twice without mentioning that this tool is specifically for product-based promocodes or how it differs from other promocode listing tools.

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

shop_list_promocodes_tagsList promocodes tagsB
Read-onlyIdempotent
Inspect

List of promocodes based on dedicated tags to be applied before order payment. Guidance: List of promocodes based on dedicated tags to be applied before order payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number to retrieve. Defaults to the first page when omitted.
per_pageNoNumber of promocodes returned per page.

TDQS

B3.3/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is known. The description does not contradict these and adds no additional behavioral details beyond an ambiguous domain note about 'applied before order payment,' which is not clearly a tool behavior.

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

Conciseness4/5

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

The description is short and to the point, but it contains a redundant duplicate sentence (the 'Guidance:' line repeats the description). This redundancy wastes a little space but overall the structure is acceptable and not 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?

There is no output schema, and the description does not mention what fields will be returned (e.g., promocode details, pagination info). For a list operation, this lack of output context leaves the agent uncertain about the response shape, making the description incomplete.

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

Parameters3/5

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

The schema describes both parameters ('page' as 1-based page number, 'per_page' as number per page) with full coverage, so the description does not need to add parameter meaning. Since coverage is 100%, the baseline score of 3 is appropriate, and the description adds no extra insight.

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 verb 'List' and resource 'promocodes tags' are clear, and it distinguishes from sibling tools like shop_list_promocodes_amount and shop_list_promocodes_collections by focusing on tag-based promocodes. However, the phrase 'based on dedicated tags' is slightly ambiguous about whether it lists tags or promocodes filtered by tags.

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 for listing promocodes related to tags, but it does not explicitly state when to use this over alternatives (e.g., when you need promocodes filtered by tags rather than by amount or collection). It also includes a redundant second sentence ('Guidance:' that repeats the description), which adds no new usage direction.

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

shop_list_prospectsList prospectsB
Read-onlyIdempotent
Inspect

Returns the list of prospects of your shop app. Guidance: Returns the list of prospects of your shop app.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
per_pageNoNumber of prospects displayed on each page.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds no further behavioral detail about pagination defaults, ordering, filtering, or result shape, so it only partially meets transparency expectations.

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 contains a redundant 'Guidance:' line that repeats the same sentence. It is front-loaded but could be more concise by removing duplication.

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?

No output schema is provided, and the description only says 'returns the list' without detailing pagination response, item fields, or any additional context needed to fully understand the tool's output.

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 covers both parameters with basic descriptions. The description provides no additional semantic detail beyond the schema, so it stays at the baseline for high schema coverage.

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?

Clearly states the tool returns the list of prospects for the shop app, using a specific verb and resource. It is distinguishable from shop_get_prospect and other list 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 explicit guidance on when to use this tool instead of alternatives such as shop_get_prospect or shop_list_customers. The description implies listing behavior but does not state conditions or exclusions.

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

shop_list_session_timesList session timesB
Read-onlyIdempotent
Inspect

Returns the history of session times between specified timestamps and on specified platform. Guidance: Returns the history of session times between specified timestamps and on specified platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date (included) with format `%Y-%m-%d`. Defaults to yesterday.
start_dateNoStart date (included) with format `%Y-%m-%d`. Defaults to one month ago.

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 and destructiveHint=false, which the description accurately reflects by stating it 'returns' data. The description does not add additional behavioral details (e.g., response size, error cases) but does not contradict the annotations.

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

Conciseness3/5

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

The description is a single sentence but is duplicated verbatim, creating unnecessary redundancy. It lacks structured usage notes or examples, though it is brief and to the point.

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 no output schema, the description should explain what kind of data is returned (e.g., individual session timestamps, counts, or aggregates). It only says 'history of session times,' which is vague. Additionally, the 'platform' mention without a corresponding parameter adds confusion rather than context.

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

Parameters3/5

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

The schema provides complete coverage for both parameters (start_date, end_date) with format and defaults. The description adds no extra semantic meaning to these parameters; it only vaguely references 'specified timestamps' without clarifying their role or relationship.

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 'returns the history of session times' between specified timestamps, conveying a specific verb and resource. However, it mentions 'specified platform' which is not present in the input schema, introducing minor ambiguity about the tool's exact scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 sibling tools like shop_list_page_views or shop_list_orders. No exclusions, comparisons, or conditional usage hints are given, leaving the selection criteria entirely to inference.

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

shop_list_tagsList tagsA
Read-onlyIdempotent
Inspect

Returns a list of the tags used in the shop. The results are paginated (20 tags displayed on each page by default). Guidance: Returns a list of the tags used in the shop. The results are paginated (20 tags displayed on each page by default).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
sortNoSorts the returned tags. Possible values:- `alpha`: ascending alphabetical order - `last_created`: descending creation date order - `most_tagged`: sorted by descending number of products using this tag
per_pageNoNumber of tags displayed on each page.

TDQS

A3.9/5.0
Behavior5/5

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

Annotations clearly declare readOnlyHint, idempotentHint, and destructiveHint false, which aligns with the description's promise of returning a list. No side effects are implied or omitted.

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

Conciseness3/5

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

The description is short and front-loaded, but it repeats the same content in the 'Guidance' portion, creating unnecessary redundancy.

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

Completeness3/5

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

The tool's purpose and basic pagination are described, but there is no output schema and no indication of what fields each returned tag contains, leaving some ambiguity about the response 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?

All three parameters have descriptions and the sort enum values are explained, providing good schema coverage. However, the descriptions are terse and add little beyond what the schema already conveys.

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?

Clearly states the tool returns a list of tags used in the shop, using a specific verb and resource. The resource name and description distinguish it from the many sibling list tools.

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

Usage Guidelines3/5

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

The description implies use when needing to list shop tags and provides pagination context, but it does not explicitly contrast this tool with similar sibling tools or explain when it should be preferred.

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

shop_list_unique_launchesList unique launchesB
Read-onlyIdempotent
Inspect

Returns the history of unique launches between specified timestamps and on specified platform. Guidance: Returns the history of unique launches between specified timestamps and on specified platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date (included) with format `%Y-%m-%d`. Defaults to yesterday.
platformNoTarget platform. Defaults to "all".
start_dateNoStart date (included) with format `%Y-%m-%d`. Defaults to one month ago.

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, and the description is consistent with those traits. No additional side-effect, authorization, or rate-limit context is added, so it stays at the annotation baseline.

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 first sentence is clear and front-loaded, but the 'Guidance:' sentence is an exact duplicate and provides no additional value, reducing overall 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 description is minimal and does not specify return shape, uniqueness definition, or sort/grouping behavior. Since there is no output schema, this leaves some ambiguity, though it is sufficient for a simple list query.

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 full coverage of all three parameters with descriptions, defaults, and the platform enum. The description adds no meaningful semantic detail beyond restating 'specified timestamps and platform.'

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 returns history of unique launches filtered by date range and platform, with an explicit verb and resource. It does not explicitly contrast with sibling shop_list_launches, but the phrase 'unique launches' conveys a distinct purpose.

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

Usage Guidelines2/5

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

No usage guidance is provided. The 'Guidance:' line merely repeats the description rather than explaining when to prefer this tool over alternatives like shop_list_launches or how it relates to other list endpoints.

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

shop_update_loyaltyUpdate loyaltyB
DestructiveIdempotent
Inspect

Update the loyalty points details of a user. Guidance: Update the loyalty points details of a user. | context: user_id, points_count

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesUnique ID of the user.
points_countYesAmount of loyalty points the user has accumulated.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already convey that the operation is mutating, destructive, and idempotent. The description adds no further behavioral details about overwrite semantics, validation, or side effects.

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

Conciseness2/5

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

The description repeats the same phrase twice and includes an unexplained 'Guidance:' and '| context' fragment, adding noise without providing useful information.

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

Completeness3/5

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

Basic callable context is present: the resource and required parameters are identified. However, details about the update effect, return behavior, prerequisites, and usage scenarios are missing.

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

Parameters3/5

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

The schema covers both parameters with basic descriptions. No additional semantics are provided, such as whether points_count replaces the total or represents an incremental change, or what units/format are expected.

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?

Clearly specifies an update action on a user's loyalty points, with user_id and points_count in the schema. The update verb distinguishes it from read-only tools like shop_get_loyalty.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 instead of alternatives such as shop_get_loyalty. It does not clarify conditions for updating, whether points_count is an absolute value or delta, or any prerequisites.

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

shop_update_optionUpdate optionC
DestructiveIdempotent
Inspect

Updates the name of a variant option. Guidance: Updates the name of a variant option. | context: option_id, name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the option (lowercased automatically).
option_idYesUnique ID of the variant option.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true. The description adds no behavioral context beyond what annotations provide—no mention of side effects, reversibility, or consequences. It only restates the action without disclosing any additional traits.

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 redundant, repeating the same sentence twice ('Updates the name of a variant option. Guidance: Updates the name of a variant option.'). The 'Guidance:' section is filler and not front-loaded effectively. It could be a single concise sentence.

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 2-parameter update tool with no output schema, the description should still explain what happens after the update, any prerequisites, or return behavior. None of that is provided. Annotations cover safety, but the description leaves the agent without enough context to confidently call 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?

Schema description coverage is 100%, so the baseline is 3. The description lists 'option_id, name' as context but adds no extra meaning beyond the schema's own parameter descriptions. It neither clarifies formatting nor adds constraints.

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

Purpose4/5

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

The description clearly states the tool updates the name of a variant option, specifying the verb and resource. It is specific enough to distinguish from many sibling tools like shop_update_variant, but it doesn't explicitly differentiate from other option-related tools (e.g., shop_create_option, shop_delete_option) or clarify scope.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. It does not mention prerequisites, typical scenarios, or exclusions. The agent must infer usage from the name and schema alone.

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

shop_update_order_shippingUpdate order shippingA
DestructiveIdempotent
Inspect

Sets the status of a specific order to the passed value. The possible modifications are limited: you can only update orders from the "PENDING" to the "FULFILLED" status, or from the "FULFILLED" to the "DELIVERED" status. Sets a new tracking url to the corresponding order. Sets a new tracking number to the corresponding order. Guidance: Sets the status of a specific order to the passed value. The possible modifications are limited: you can only update... | context: order_id

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoNew order status.
order_idYesUnique ID of the order.
shipping_tracking_numNoNew tracking number
shipping_tracking_urlNoNew tracking url

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already indicate this is a non-read-only, destructive, idempotent mutation. The description aligns with those annotations and adds concrete behavioral details about status and tracking updates. No contradiction exists.

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

Conciseness2/5

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

The description is redundant, including separate sentences for tracking URL and tracking number, and it contains an awkward truncated 'Guidance:' section that repeats earlier content. This hurts clarity and conciseness.

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

Completeness4/5

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

Given the annotations and full schema coverage, the description provides enough context for an agent to use the tool correctly. It explains the allowed transitions and the fields involved; no output schema is present, so return-value details are not required.

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 100%, and the description adds meaningful context by explaining the status transition rules and the role of tracking fields. It doesn't restate every schema detail, but it supplements them effectively.

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 that the tool sets the shipping status of an order to the passed value and also updates tracking number and URL. The resource and action are specific, and the title 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 Guidelines4/5

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

It explicitly explains the allowed status transitions (PENDING to FULFILLED, FULFILLED to DELIVERED), which is important usage guidance. It does not compare directly to sibling update tools, but the constraints are clear enough for when this tool should be used.

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

shop_update_paragraphUpdate paragraphC
DestructiveIdempotent
Inspect

Updates a product description paragraph Guidance: Updates a product description paragraph | context: paragraph_id, product_id

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlNoIf the paragraph stores a `"TEXT"` content, this flag indicates whether the paragraph should be displayed as raw HTML in the shop owner's backoffice or not.
contentNoContent of the paragraph. **This field should only be provided if the paragraph stores a `"TEXT"` or `"QUOTE"` content.**
media_idNoUnique ID of the media object associates with this paragraph. **This field should only be provided if the paragraph stores a `"PHOTO"` or `"EMBED"` content.**
positionNoPosition of the paragraph in the product's description (0 is the first).
product_idYesUnique ID of the Product.
paragraph_idYesUnique ID of the Paragraph.
paragraph_typeNoType of content contained in the paragraph.- **TEXT**: simple text (HTML tags can be used for formatting) - **QUOTE**: simple quote (HTML tags can be used for formatting) - **EMBED**: external content integration - **PHOTO**: image

TDQS

C2.8/5.0
Behavior2/5

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

The description adds no behavioral context beyond the annotations. It does not mention that updates are destructive (though destructiveHint=true), that the operation is idempotent, or the critical conditional logic where content vs. media_id depends on paragraph_type. With annotations present, the bar is lower, but the description still fails to communicate essential behaviors like whether missing fields are preserved or overwritten.

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

Conciseness3/5

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

The description is very short (two sentences), but the second sentence is redundant—it repeats 'Updates a product description paragraph' and only lists parameter names already visible in the schema. The redundancy wastes space without adding value, making it less effective than a single, tightly-worded sentence.

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 7 parameters, conditional fields based on paragraph_type, and no output schema, this description is severely under-specified. It does not explain how to choose between content and media_id, what happens to unset fields, or any side effects. An agent would need to infer these from the schema and annotations, which is inadequate for reliable 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?

The schema already describes all 7 parameters with 100% coverage, so the baseline is 3. The description adds no extra semantic meaning beyond reiterating that paragraph_id and product_id are context. It does not explain parameter interactions or the conditional requirements, leaving the schema to carry the full burden.

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 ('Updates') and the resource ('a product description paragraph'), which is specific enough to distinguish from CMS paragraph tools. However, it does not explicitly differentiate from other shop paragraph tools like shop_create_paragraph or shop_update_paragraph_media, leaving some ambiguity for an agent browsing the sibling list.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. The hint 'context: paragraph_id, product_id' only mentions required parameters, not the conditions for selecting this tool. An agent is left to infer the appropriate context from the name alone, which is insufficient given the large sibling set.

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

shop_update_paragraph_mediaUpdate paragraph mediaB
DestructiveIdempotent
Inspect

Update a paragraph media object (content, type, focal point, and/or image_file). Guidance: Update a paragraph media object (multipart: content and/or image_file upload from local path or URL source). | context: product_id, paragraph_id, media_id

ParametersJSON Schema
NameRequiredDescriptionDefault
contentNoRequired for EMBED. Embed content/code.
media_idYesUnique ID of the media to update.
image_fileNoImage payload. Accepts: (1) a data URI 'data:image/png;base64,...', (2) a raw base64-encoded string of the image bytes, or (3) a public http(s) URL. Do NOT pass a local filesystem path — the server cannot read the user's disk.
media_typeNoType of media: PHOTO or EMBED.
product_idYesNumeric id of the product the paragraph belongs to.
focal_pointNoImage crop focal point, format '40x50'.
paragraph_idYesId of the description paragraph the media belongs to.

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=false and destructiveHint=true, which the description aligns with by using 'Update'. The description adds minor behavioral context, such as the multipart requirement and the ability to upload from a local path or URL, but does not disclose side effects or implications beyond that. This is consistent with the annotation set, but the description does not significantly enhance transparency.

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

Conciseness4/5

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

The description is concise and to the point, with a clear subject-verb-object structure. The guidance sentence adds useful technical detail about multipart uploads without being redundant or verbose. The text is well-organized and easy to parse, avoiding 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?

For a simple update operation, the description provides sufficient context: the required parameters (product_id, paragraph_id, media_id) indicate the target, and the optional fields specify what can be changed. The description does not mention return values, but given the lack of an output schema and the straightforward nature of the update, this is acceptable. Overall, the essential information needed to invoke the tool correctly is 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?

All seven parameters are described in the schema with meaningful context. For example, 'content' specifies 'Required for EMBED', 'image_file' explains accepted formats (data URI, base64, URL) and warns against local filesystem paths, and 'focal_point' gives a format example. The descriptions are informative and help the agent understand parameter constraints, building on the 100% schema coverage.

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

Purpose4/5

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

The description clearly states the action 'Update' and the resource 'paragraph media object', which is specific. While it does not explicitly differentiate from sibling update tools, the tool name and description make the purpose unambiguous. It effectively communicates that this tool modifies existing paragraph media rather than creating or deleting it.

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

Usage Guidelines2/5

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

The description provides no guidance on when to choose this tool over alternatives such as shop_create_paragraph_media or shop_delete_paragraph_media. It does not mention typical use cases or conditions that would make this the appropriate choice. The guidance focuses on request format (multipart, upload source) rather than tool selection, so it falls short in this dimension.

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

shop_update_productUpdate productC
DestructiveIdempotent
Inspect

Updates a product from the shop. Guidance: Updates a product from the shop. | context: product_id

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoProduct slug (used in its access URL).
tagsNoSet of tags associated with the product.
brandNoProduct brand platform.
mediaNoUnique ID of the slide selected as the product thumbnail.
titleNoProduct name.
statusNoProduct publishing status.- **DRAFT**: the product is being prepared and is not visible to the customers yet - **PUBLISHED**: the product is ready and available in the shop - **INVISIBLE**: the product is not visible to the customers
summaryNoProduct short description.
highlightNoBoolean indicating if the product should be showcased in the shop products list or not.
meta_titleNoProduct SEO title (for referencing by search engines).
product_idYesProduct Unique ID.
collectionsNoList of the collections (unique IDs) to which the product belongs.
product_refNoProduct reference ID.
visibility_endNoRFC 3339 datetime with timezone until which the product should remain visible, for example 2026-07-31T18:00:00+02:00. Omit to leave the current visibility end unchanged.
meta_descriptionNoProduct SEO description (for referencing by search engines).
visibility_startNoRFC 3339 datetime with timezone from which the product should become visible, for example 2026-07-15T09:30:00+02:00. Omit to leave the current visibility start unchanged.
show_similar_productsNoBoolean indicating whether the "Similar products" section should be displayed in the shop for this product or not.
set_custom_similar_productsNoManually defined list of similar products (unique product IDs are expected). The product field `custom_similar_products` will be filled with these products.

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=true, and openWorldHint=true. The description adds no extra behavioral context—it does not mention side effects, permissions, partial vs. full overwrite semantics, or any operational caveats. Given the annotations cover the safety profile, the description's failure to add any additional nuance yields a low score.

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

Conciseness3/5

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

The description is extremely short (two sentences), which is concise, but the second sentence ('Guidance: Updates a product from the shop. | context: product_id') is largely redundant with the first, repeating the same action and adding only a hint that product_id is relevant. The structure is not front-loaded with unique value; it wastes a line on repetition.

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

Completeness2/5

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

Given the tool's complexity (17 parameters, all optional except product_id), the description is notably incomplete. It does not explain the update semantics (e.g., partial vs. full replacement, which the schema hints at via 'Omit to leave unchanged' for some fields), nor does it mention expected responses, errors, or prerequisites beyond product_id. The schema covers field meanings, but the description fails to guide an agent on how to use the tool effectively in context.

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

Parameters3/5

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

Schema description coverage is 100%, so all 17 parameters are already documented in the schema. The description adds no parameter details beyond a redundant mention of product_id as context. With high coverage, a baseline of 3 is appropriate; the description neither enhances nor detracts from the schema's information.

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

Purpose4/5

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

The description states a clear verb and resource: 'Updates a product from the shop.' This distinguishes it from tools that update other resources (e.g., shop_update_variant, shop_update_option). However, it is very generic and does not mention the specific fields or scope beyond 'product,' and it does not differentiate from the sibling shop_update_product_slide (which updates a slide, not the product itself). The repetition in the 'Guidance' line adds no new information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 this is for modifying an existing product versus creating one, nor does it reference any sibling tools like shop_create_product or shop_update_variant. The only hint is 'context: product_id,' which implies the requirement of an existing product ID but offers no conditional logic or exclusions.

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

shop_update_product_slideUpdate product slideA
DestructiveIdempotent
Inspect

Update a slide (position, focal_point and/or replacement image via image_file). Guidance: Update a slide (multipart: position/focal_point and/or replacement image via image_file). | context: product_id, slide_id

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNoZero-based order index controlling where the slide appears (lower comes first).
slide_idYesNumeric id of the slide to update.
image_fileNoImage payload. Accepts: (1) a data URI 'data:image/png;base64,...', (2) a raw base64-encoded string of the image bytes, or (3) a public http(s) URL. Do NOT pass a local filesystem path — the server cannot read the user's disk.
product_idYesNumeric id of the product the slide belongs to.
focal_pointNoImage crop focal point, format '40x50'.

TDQS

A4/5.0
Behavior3/5

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

The annotations already provide readOnlyHint, destructiveHint, and idempotentHint. The description adds the multipart detail, which is a behavioral requirement, but it does not elaborate on side effects or success/failure beyond what annotations imply. Therefore, it provides minimal additional transparency.

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

Conciseness5/5

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

The description is concise and front-loaded with the core action. It uses a compact structure with a separate guidance clause, avoiding unnecessary verbosity.

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

Completeness4/5

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

The description covers the core purpose, the required context, and the multipart requirement. Given the small parameter set and full schema coverage, it is sufficiently complete for an agent to invoke correctly, though it lacks explicit error or success scenarios.

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?

Since schema descriptions cover 100% of parameters, the baseline is 3. The description's summary of fields (position, focal_point, image_file) is redundant but reinforces the intended usage. It does not add new semantic 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 updates a slide and enumerates the updatable fields (position, focal_point, image_file). This makes the purpose unambiguous and distinct from sibling tools like delete or upload.

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 guidance section specifies the multipart requirement and the required context (product_id, slide_id), which helps the agent understand the request format and necessary identifiers. However, it does not explicitly contrast with sibling update or upload tools, so it loses some points.

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

shop_update_variantUpdate variantA
DestructiveIdempotent
Inspect

Updates the details of a given product variant Guidance: Updates the details of a given product variant | context: product_id, variant_id

ParametersJSON Schema
NameRequiredDescriptionDefault
skuNoStock Keeping Unit unique ID.
mediaNoUnique ID of the Product Media instance displayed with the variant.
priceNoVariant unit price.
stockNoVariant stock quantity. This field should contain a positive integer or the value `-1` for an infinite stock.
weightNoVariant weight (unit: kg).
positionNoPosition of the variant in the product variants list (0 is the first).
compare_atNoPrice reference for this product variant.
product_idYesUnique ID of the product.
variant_idYesUnique ID of the product variant.
option_valuesNoList of option/value pairs that identify this variant. Each item must include option_id and value, for example [{"option_id": 1, "value": "Red"}, {"option_id": 2, "value": "M"}].

TDQS

A3.7/5.0
Behavior4/5

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

The annotations already provide destructiveHint=true, idempotentHint=true, and openWorldHint=true. The description's 'Updates' is consistent with these hints and does not contradict them, but it adds no additional behavioral details beyond what annotations already 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 a single, direct sentence with no redundant words. It conveys the essential purpose without any fluff or unnecessary detail.

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

Completeness3/5

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

The description is minimal and does not explain what the function returns, whether it performs a partial or full update, or how it fits with the broader set of shop tools. However, given the annotations and the simplicity of an update operation, it is adequate but not rich in context.

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

Parameters3/5

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

Schema coverage is 100% and every parameter has a clear description, so the baseline applies. The tool description itself does not add extra parameter context, but the schema sufficiently explains each field, including nested option_values.

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 ('Updates') and the resource ('product variant'), which distinguishes it from create/delete operations. The resource is specific enough that an agent can understand the tool's purpose from the description 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 gives no guidance on when to use this tool versus alternatives like shop_create_variant, shop_delete_variant, or shop_update_product. It does not mention scenarios, prerequisites, or differences from similar tools, leaving the agent to infer usage from the name and parameters.

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

shop_upload_product_pdfUpload product PDFBInspect

Download a PDF from a URL and attach it to a product (multipart upload). Guidance: Download a PDF from a URL and attach it to a product (multipart upload). | context: product_id, pdf

ParametersJSON Schema
NameRequiredDescriptionDefault
pdfYesPublic URL of the PDF to download and upload
pdf_nameNoDisplay name (default: filename from URL)
product_idYesNumeric id of the product to attach the PDF to.

TDQS

B3.4/5.0
Behavior4/5

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

The description discloses that the tool performs a network download and a multipart upload/attach operation, which is consistent with the non-read-only annotation. It does not contradict annotations and adds some behavioral context beyond the raw flags.

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 primary description is concise and front-loaded, but the 'Guidance' section repeats the same sentence verbatim and adds no new information. This redundancy prevents a higher score.

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 upload operation, the description and parameter list provide enough context to call the tool correctly. It lacks an explicit success/return description, but that is not critical given the low complexity and no output schema.

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?

All three parameters have descriptions in the schema, and the tool description does not add additional meaning beyond those. Since schema coverage is 100%, a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool downloads a PDF from a URL and attaches it to a product via multipart upload. This distinguishes it from sibling tools like shop_upload_product_slide or shop_delete_product_pdf.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool instead of alternatives, such as uploading a slide or deleting a PDF. The 'Guidance' text merely repeats the description rather than offering selection criteria.

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

shop_upload_product_slideUpload product slideCInspect

Upload an image file as a product slide (multipart form-data). Guidance: Upload an image file as a product slide (multipart form-data). | context: product_id, image_file

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNoZero-based order index controlling where the slide appears (lower comes first).
image_fileYesImage payload. Accepts: (1) a data URI 'data:image/png;base64,...', (2) a raw base64-encoded string of the image bytes, or (3) a public http(s) URL. Do NOT pass a local filesystem path — the server cannot read the user's disk.
product_idYesNumeric id of the product to add the slide to.
focal_pointNoImage crop focal point, format '40x50'.

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose side effects (e.g., whether the slide is appended or replaces existing ones), return values, or error behavior. Annotations indicate a non-read-only, non-idempotent, non-destructive operation, but the description adds little detail beyond the basic action.

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 repetitive, repeating the same phrase in the main text and the 'Guidance' portion, and ends with an unhelpful 'context' note. It could be condensed to a single clear sentence.

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 large set of sibling tools, the description does not provide enough context to help an agent decide when to select this tool over similar ones (e.g., shop_upload_product_pdf). It lacks information about the difference between uploading a slide vs. a PDF or updating a slide.

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 already provides full descriptions for all parameters (100% coverage), so the description does not need to add parameter details. The 'context' note in the description is redundant and does not enhance understanding 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 action ('Upload an image file') and the target resource ('as a product slide'), and notes the multipart form-data format. This is specific enough to distinguish from related tools like shop_upload_product_pdf.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 shop_update_product_slide or shop_delete_product_slide. It also lacks any mention of prerequisites or common use cases.

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

shop_validate_jwtValidate JWTA
Read-onlyIdempotent
Inspect

Returns whether or not a given JWT is valid and associated with a specified user:

  • HTTP_200_OK : The JWT is valid and linked to the targeted user. The is_anonymous field in the response payload indicates if the user is anonymous or logged in into its account.

  • HTTP_400_BAD_REQUEST with error code 4000 : The JWT is not valid or not related to the specified user Guidance: Returns whether or not a given JWT is valid and associated with a specified user. HTTP 200: The JWT is valid and link... | context: jwt

ParametersJSON Schema
NameRequiredDescriptionDefault
jwtYesToken to validate.
user_idNoUnique ID of the user against which the token should be validated.

TDQS

A3.6/5.0
Behavior4/5

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

The description explains expected HTTP status codes and the meaning of the is_anonymous field, which adds useful behavioral detail. Annotations already indicate read-only, idempotent, non-destructive behavior, and the description 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.

Conciseness2/5

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

The description is repetitive: the first sentence is essentially duplicated in the 'Guidance' section, and the status-code explanation is also partially repeated before truncation. The redundancy reduces clarity and makes the description less efficient than it could be.

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

Completeness3/5

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

The description provides useful response details such as HTTP 200/400 semantics and the is_anonymous field. However, it does not clarify how the optional user_id parameter affects validation, nor does it cover other potential error cases, leaving some ambiguity for callers.

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 100% and both parameters are individually described, so the baseline applies. The description adds only minor context by linking the JWT to a specified user, but does not materially expand on 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 validates a JWT and checks it against a specific user, which is a specific verb plus resource. It is also distinct from the surrounding CMS and shop sibling tools, which focus on content and commerce operations.

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

Usage Guidelines3/5

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

The purpose implies when to use the tool — whenever JWT validation is needed — but it does not explicitly state when not to use it or mention any alternative validation mechanisms. No specific exclusions or sibling comparisons are provided.

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. 120 tool updates
    • First observedcms_create_article
    • First observedcms_create_article_paragraph
    • First observedcms_create_event
    • First observedcms_create_event_paragraph
    • First observedcms_create_map
    • First observedcms_create_map_paragraph
    • First observedcms_create_photos
    • First observedcms_create_sound_paragraph
    • First observedcms_create_video
    • First observedcms_create_video_paragraph
    • First observedcms_delete_article
    • First observedcms_delete_article_paragraph
    • First observedcms_delete_event
    • First observedcms_delete_event_paragraph
    • First observedcms_delete_map
    • First observedcms_delete_map_paragraph
    • First observedcms_delete_photo
    • First observedcms_delete_sound
    • First observedcms_delete_sound_paragraph
    • First observedcms_delete_video
    • First observedcms_delete_video_paragraph
    • First observedcms_get_article
    • First observedcms_get_article_paragraph
    • First observedcms_get_event
    • First observedcms_get_event_paragraph
    • First observedcms_get_map
    • First observedcms_get_map_paragraph
    • First observedcms_get_photo
    • First observedcms_get_sound
    • First observedcms_get_sound_paragraph
    • First observedcms_get_video
    • First observedcms_get_video_paragraph
    • First observedcms_list_article_paragraphs
    • First observedcms_list_articles
    • First observedcms_list_cms_sections
    • First observedcms_list_event_paragraphs
    • First observedcms_list_events
    • First observedcms_list_map_paragraphs
    • First observedcms_list_maps
    • First observedcms_list_photos
    • First observedcms_list_sections
    • First observedcms_list_sound_paragraphs
    • First observedcms_list_sounds
    • First observedcms_list_video_paragraphs
    • First observedcms_list_videos
    • First observedcms_reorder_article_paragraphs
    • First observedcms_reorder_event_paragraphs
    • First observedcms_reorder_map_paragraphs
    • First observedcms_reorder_sound_paragraphs
    • First observedcms_reorder_video_paragraphs
    • First observedcms_update_article
    • First observedcms_update_article_paragraph
    • First observedcms_update_event
    • First observedcms_update_event_paragraph
    • First observedcms_update_map
    • First observedcms_update_map_paragraph
    • First observedcms_update_photo
    • First observedcms_update_sound
    • First observedcms_update_sound_paragraph
    • First observedcms_update_video
    • First observedcms_update_video_paragraph
    • First observedmeta_get_tool_plan
    • First observedshop_create_option
    • First observedshop_create_paragraph
    • First observedshop_create_paragraph_media
    • First observedshop_create_product
    • First observedshop_create_promocode_amount
    • First observedshop_create_promocode_collections
    • First observedshop_create_promocode_product
    • First observedshop_create_promocode_tags
    • First observedshop_create_push_broadcast
    • First observedshop_create_push_notification
    • First observedshop_create_variant
    • First observedshop_delete_option
    • First observedshop_delete_paragraph
    • First observedshop_delete_paragraph_media
    • First observedshop_delete_product
    • First observedshop_delete_product_pdf
    • First observedshop_delete_product_slide
    • First observedshop_delete_variant
    • First observedshop_get_collection
    • First observedshop_get_customer
    • First observedshop_get_loyalty
    • First observedshop_get_order
    • First observedshop_get_order_shipping
    • First observedshop_get_paragraph_media
    • First observedshop_get_product
    • First observedshop_get_promocode
    • First observedshop_get_prospect
    • First observedshop_get_variant
    • First observedshop_list_collections
    • First observedshop_list_customers
    • First observedshop_list_downloads
    • First observedshop_list_downloads_global
    • First observedshop_list_launches
    • First observedshop_list_options
    • First observedshop_list_orders
    • First observedshop_list_page_views
    • First observedshop_list_page_views_per_weekday
    • First observedshop_list_paragraphs
    • First observedshop_list_products
    • First observedshop_list_promocodes_amount
    • First observedshop_list_promocodes_collections
    • First observedshop_list_promocodes_product
    • First observedshop_list_promocodes_tags
    • First observedshop_list_prospects
    • First observedshop_list_session_times
    • First observedshop_list_tags
    • First observedshop_list_unique_launches
    • First observedshop_update_loyalty
    • First observedshop_update_option
    • First observedshop_update_order_shipping
    • First observedshop_update_paragraph
    • First observedshop_update_paragraph_media
    • First observedshop_update_product
    • First observedshop_update_product_slide
    • First observedshop_update_variant
    • First observedshop_upload_product_pdf
    • First observedshop_upload_product_slide
    • First observedshop_validate_jwt

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.