Skip to main content
Glama

Hustle Got Real

Server Details

Dropshipping for eBay, Amazon and Shopify: find products, manage listings, prices, stock and orders, and run AI listing agents from your AI client. OAuth sign-in with your HGR account.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

C2.5/5.0

Scored across 170 tools

Disambiguation1/5

The set contains many overlapping or near-duplicate tools, such as hgr_get_listings versus active/pending/terminated listing tools, hgr_get_sources versus hgr_get_sources_get and hgr_get_sources_getpublic, hgr_post_sales_processorderline versus hgr_process_order_lines and hgr_force_process_order_lines, and versioned pairs like MonitorExistingListing/MonitorExistingListing2 and TerminateListing2. Raw endpoint tools such as the many hgr_get_dashboard_*/hgr_post_searchproduct_* variants further blur boundaries, making misselection likely.

Naming Consistency2/5

All tools share the hgr_ prefix and mostly snake_case, but the naming convention is not predictable verb_noun. Many names mirror raw API endpoints (e.g., hgr_get_ai_gettasks, hgr_get_dashboard_getaffiliatestatistics_period_from_to), some use version suffixes, and verbs are mixed across get/list/load/read/post/process.

Tool Count1/5

170 tools is far beyond an appropriate MCP surface for this server. The huge count is driven by exposing many individual backend endpoints, variants, and duplicates rather than a well-scoped set of agent-oriented tools.

Completeness3/5

The surface broadly covers listings, orders, suppliers, support, settings, templates, notifications, and automation, so many workflows are possible. However, there are notable gaps and inconsistencies, such as missing create/delete coverage for some resources and reliance on raw endpoint tools with unclear lifecycle semantics.

Available Tools

170 tools
hgr_add_pricing_ruleAdd Pricing RuleA
Destructive
Inspect

Adds a pricing rule for one visible store. Requires confirmed=true and impactConfirmed=true because pricing rules can affect many listings. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI PricingRulesRequest body: SourceId, PriceFrom, PriceTo, Markup, MarkupFixed.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

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, idempotentHint=false and openWorldHint=true, so the mutation and blast-radius profile is largely carried by structured data. The description adds useful context about why the confirmation flags exist ('pricing rules can affect many listings') and that the channel header is resolved internally. It still doesn't say what the rule will start doing to prices, whether it can be undone, or what the response contains.

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

Conciseness4/5

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

Three short sentences, front-loaded with the action and scope, followed by the gating requirement. The final sentence is slightly compressed to the point of being hard to parse, but nothing is redundant.

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 destructive, non-idempotent, open-world write tool, the description covers the critical operational gate (both confirmation flags) and the channel resolution path. With an output schema present it needn't describe returns; the only real gap is the absence of any note on reversibility or on the update/delete 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?

Schema coverage is 100%, so the baseline is 3. The description corroborates that both confirmation booleans are required but adds no semantics beyond what the schema already says, and the closing phrase about 'HGRApi Header channel / ChannelOAuthId resolved internally' is ambiguous rather than clarifying the channelOAuthId parameter.

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

Purpose4/5

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

States a specific verb and resource ('Adds a pricing rule') plus scope ('for one visible store'), which is enough for an agent to know what happens. It does not name the sibling pair it sits between (hgr_update_pricing_rule / hgr_delete_pricing_rule), so differentiation is implied by the create/update/delete naming rather than stated.

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 real prerequisite guidance: confirmed=true and impactConfirmed=true are mandatory, and hgr_list_channels is the source of channelOAuthId. It never says when to add a new rule versus modifying an existing one with hgr_update_pricing_rule, so the alternative-selection 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.

hgr_add_virtual_assistantAdd Virtual AssistantB
Destructive
Inspect

Adds a Virtual Assistant / VA profile. Requires confirmed=true.

NameRequiredDescriptionDefault
bodyYesWAPI AddRequest body: Name.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false and readOnlyHint=false, so the safety profile is known. The description only reiterates the confirmation gate that the schema already documents, and says nothing about what the creation actually provisions (e.g., whether it is billable, sends an invite, or is reversible). It adds marginal context over structured fields, which fits a 3 with annotations present.

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

Conciseness5/5

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

Two short sentences, both front-loaded and free of filler. Nothing is redundant or buried.

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, open-world creation tool, the description omits what a VA profile is, what the creation entails operationally, and any prerequisite state, even though annotations and output schema cover safety and returns. An agent could invoke it correctly mechanically but not confidently about consequences.

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 body and confirmed are already documented. The description restates confirmed=true but adds no semantics for the body payload beyond the schema's 'WAPI AddRequest body: Name.' Baseline 3 applies when the schema does the work.

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

Purpose4/5

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

States a specific verb and resource: 'Adds a Virtual Assistant / VA profile.' An agent can distinguish it from hgr_update_virtual_assistant and hgr_get_virtual_assistants by the verb alone. It doesn't explicitly name those siblings, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus hgr_update_virtual_assistant or when a VA should be created at all. 'Requires confirmed=true' is a parameter precondition, not usage guidance, so the agent is left to infer the selection context.

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

hgr_change_ai_publisher_statusChange Ai Publisher StatusB
Destructive
Inspect

Changes AI Publisher automation status for one visible store. Requires confirmed=true and impactConfirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI AI Publisher status body: Id, Status.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this as destructive, non-idempotent, and open-world, so the safety profile is largely covered. The description adds a valuable confirmation gate and notes internal channel resolution, but it does not explain what the status change actually does, what consequences are confirmed, or whether the change is reversible.

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 three short sentences and front-loads the core action before prerequisites. The phrase about the HGRApi Header channel and ChannelOAuthId is slightly cryptic, but overall there is little wasted text.

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

Completeness3/5

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

An output schema, rich annotations, and full schema coverage reduce the description's burden. Still, for a destructive status-change tool, it omits the concrete effect of the change and the high-impact consequences the user must confirm, leaving a meaningful 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 parameter documentation is already strong. The description reiterates the confirmed/impactConfirmed requirements and mentions ChannelOAuthId resolution, but adds no semantics about valid AI Publisher status values or body contents beyond the schema.

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

Purpose4/5

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

The description states a clear verb and resource: 'Changes AI Publisher automation status for one visible store.' The single-store scope is useful. It does not differentiate this tool from nearby siblings such as hgr_update_ai_publisher_optimization or hgr_create_ai_publisher_agent, so it falls short of a 5.

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

Usage Guidelines3/5

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

It gives prerequisites ('Requires confirmed=true and impactConfirmed=true') and scope ('one visible store'), which implies when the tool is applicable. However, it never states when to use this tool instead of alternatives or when not to use it, so usage guidance remains implicit.

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

hgr_create_ai_publisher_agentCreate Ai Publisher AgentB
Destructive
Inspect

Creates/activates the default AI Publisher automation for one visible store. Requires confirmed=true and impactConfirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false, so the risk profile is known. The description adds the two confirmation gates and that channel resolution is internal, but says nothing about what happens on a repeat call to an already-configured store — an important omission for a non-idempotent, destructive tool.

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?

Three short sentences, verb-front-loaded, no filler paragraphs. The final clause 'Requires HGRApi Header channel / ChannelOAuthId resolved internally' is jargon-heavy and partially redundant with the schema, but the definition is compact overall.

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

Completeness3/5

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

With an output schema and fully documented annotations, the description needn't explain return values, and it does cover the confirmation gates. It is still thin on the side effects of a destructive, non-idempotent create on a store that already has an AI Publisher agent configured.

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 each parameter already carries a detailed description, so the baseline is 3. The description restates the confirmation flags and adds 'ChannelOAuthId resolved internally', which mildly conflicts with the schema framing of channelOAuthId as a value returned by hgr_list_channels, so it does not add net clarity.

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

Purpose4/5

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

States a specific verb+resource ('Creates/activates the default AI Publisher automation') and scopes it to 'one visible store', which is concrete. It does not distinguish itself from the nearby sibling hgr_change_ai_publisher_status, so an agent must infer which is the create path versus the status-toggle path.

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?

Gives prerequisites ('Requires confirmed=true and impactConfirmed=true') and points at hgr_list_channels as the source of channelOAuthId, which is a useful workflow hint. However it never says when to use this versus hgr_change_ai_publisher_status, nor what to do if an agent already exists, so usage is only implied.

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

hgr_create_support_ticketCreate Support TicketA
Destructive
Inspect

Creates a text-only support ticket. File attachments are blocked by MCP policy. Requires confirmed=true.

NameRequiredDescriptionDefault
messageYesMessage body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact support message.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare a mutating, open-world, destructive operation; the description adds genuinely new behavior the annotations cannot convey: attachments are blocked by MCP policy and creation is gated on confirmed=true representing explicit user consent. It does not say what the response returns, but that is not its job here.

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

Conciseness5/5

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

Three short sentences with zero padding, and the defining constraint (text-only) plus the blocking prerequisite (confirmed=true) are front-loaded where an agent will read them first.

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

Completeness4/5

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

With annotations covering safety profile, an output schema covering return values, and fully documented parameters, the description only needed the policy constraints and confirmation gate, which it supplies. A brief note on what happens after creation would push it higher.

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 documented in the schema, including the semantics of confirmed. The description restates the confirmed requirement but adds no new format or content guidance for message, 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?

States a specific verb and resource ("Creates a text-only support ticket"), immediately separating it from read-side siblings like hgr_get_support_ticket and hgr_reply_support_ticket. It stops short of naming those siblings explicitly, so it is clear but not fully differentiated.

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

Usage Guidelines3/5

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

Gives a hard prerequisite ("Requires confirmed=true", meaning the user must have explicitly confirmed the message) and a scope limit (text-only). It offers no guidance on when to choose this over hgr_reply_support_ticket or hgr_get_support_ticket.

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

hgr_delete_pricing_ruleDelete Pricing RuleA
Destructive
Inspect

Deletes/deactivates a pricing rule for one visible store. Requires confirmed=true and impactConfirmed=true because pricing rules can affect many listings. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI PricingRulesDeleteRequest body: RuleId, Active.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, and the description adds real value on top: it explains WHY the confirmation gates exist ('pricing rules can affect many listings') and that channel/ChannelOAuthId is resolved internally. It does not, however, say what state remains after deletion or whether the rule is recoverable.

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

Conciseness4/5

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

Front-loaded with the action and scope in the first sentence, followed by prerequisites. The trailing 'Requires HGRApi Header channel / ChannelOAuthId resolved internally' fragment is slightly jargon-heavy but earns its place by explaining an auth-resolution detail.

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

Completeness5/5

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

For a destructive 4-param mutation tool with full schema coverage and an output schema, the description covers what it does, the side-effect risk, and the required confirmation flow. An agent has everything needed to call it safely.

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%, so the boolean gates, body fields, and channelOAuthId are already documented. The description reinforces the confirmation semantics but adds little new detail on the body's RuleId/Active fields beyond what the schema states. 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?

States a specific verb+resource ('Deletes/deactivates a pricing rule') and scope ('for one visible store'), which clearly sets it apart from hgr_add_pricing_rule and hgr_update_pricing_rule. The dual 'Deletes/deactivates' wording is crisp enough but leaves slight ambiguity about which effect actually occurs.

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 through the confirmation prerequisites ('Requires confirmed=true and impactConfirmed=true'), but never explicitly says when to use this versus hgr_update_pricing_rule or hgr_get_pricing_rules. An agent must infer that deleting differs from updating the Active flag.

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

hgr_force_process_order_linesForce Process Order LinesB
Destructive
Inspect

Forces processing for orders resolved from visible order Reference. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the risk profile is known. The description adds that channel context is resolved internally, but it never explains what 'force' overrides or what state is skipped/destroyed — the key behavioral fact for a destructive tool — and the phrase 'ChannelOAuthId resolved internally' mildly muddles the schema's required channelOAuthId parameter.

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?

Three short sentences, front-loaded with the action and followed by prerequisites. No waste, though the terse phrasing ('Requires HGRApi Header channel / ChannelOAuthId resolved internally') is slightly elliptical rather than crisp.

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

Completeness3/5

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

An output schema exists and annotations cover the safety profile, so return values need not be described. However, for a destructive, non-idempotent mutation with many near-identical sibling tools, the description omits the consequences of forcing and any differentiation, leaving a real 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% and each parameter carries its own description, so the description need only be a baseline. It mentions 'visible order Reference' and the confirmed flag but adds no semantics beyond the schema, such as whether reference is optional or how it interacts with channelOAuthId.

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

Purpose4/5

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

States a specific verb+resource: forcing processing of orders identified by a visible marketplace Reference. It is understandable on its own, but it never contrasts itself with the very similar siblings hgr_process_order_lines or hgr_manually_dispatch_order_lines, so an agent cannot tell which is right 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 only guidance is the precondition 'Requires confirmed=true', which merely restates the schema's required flag. There is no statement of when to force versus normally process, no circumstances that justify the destructive 'force' path, and no named alternative.

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

hgr_force_refresh_listingsForce Refresh ListingsB
Destructive
Inspect

Requests ForceRefresh for visible Product IDs. This confirms the request, not an immediate visible stock or price update. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
productIdNoVisible marketplace Product Id / primary id.
productIdsNoVisible marketplace Product Id / primary id values.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
variationProductIdNoVisible variation Product Id / primary id when needed.
variationProductIdsNoVisible variation Product Id / primary id values when needed.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Adds genuine context beyond annotations by clarifying the call only acknowledges a refresh request rather than producing an immediate stock or price change, and that channel/header resolution happens internally. However, with destructiveHint=true and idempotentHint=false declared, the description never explains what the refresh actually mutates on the marketplace or why it is non-idempotent, so the destructive profile is under-disclosed.

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

Conciseness4/5

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

Three short sentences with the core caveat front-loaded; no filler. The telegraphic phrasing ('Requires HGRApi Header channel / ChannelOAuthId resolved internally') is slightly compressed but still parseable.

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

Completeness3/5

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

An output schema exists so return values need no explanation, and the confirmation caveat is present. But for a destructive, non-idempotent, open-world mutation, the description stops short of describing side effects, rate limits, or what a subsequent refresh state looks like.

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%, so parameters are documented in the schema; the description only restates confirmed=true and notes the channelOAuthId resolution is internal. It does not clarify the relationship or precedence between productId/productIds and variationProductId/variationProductIds.

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

Purpose4/5

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

States a specific action and resource ('Requests ForceRefresh for visible Product IDs'), which is distinguishable from listing-mutation siblings like hgr_relist_listing or hgr_remove_listing. The internal term 'ForceRefresh' is left undefined, but the scope (visible product IDs) is concrete.

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 requirement of confirmed=true implies the agent must have explicit user consent, which is a useful usage precondition, but the description never says when to prefer this over alternatives such as hgr_post_searchproduct_listnow, hgr_relist_listing, or hgr_update_listing.

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

hgr_generate_limited_products_csvGenerate Limited Products CsvA
Read-onlyIdempotent
Inspect

Generates the only product CSV allowed by MCP policy. It returns plain CSV text, not a downloadable file, and only includes the HGRWeb report columns: eBay item ID, sku, stock, cost price and selling price. Requires explicit productIds and confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested the limited HGRWeb-style product CSV.
productIdsYesExplicit visible Product Id / primary id values to include. Required; the MCP does not generate all-store product export files.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Adds real context beyond the readOnlyHint/idempotentHint annotations: output is plain CSV text rather than a file artifact, and there is a confirmed=true gate plus an internal channel/ChannelOAuthId requirement. These are meaningful behavioral disclosures an agent can't infer from annotations. It stops short of any size/rate limits or failure behavior, so not a 5.

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

Conciseness4/5

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

Front-loaded with the core purpose and delivered in a few dense, useful sentences with no filler. The trailing 'Requires HGRApi Header channel / ChannelOAuthId resolved internally' is jargon-heavy and slightly muddled, keeping it from a 5.

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

Completeness4/5

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

With an output schema present and 100% parameter coverage, the description only needs to establish output form and invocation gates, which it does. The one gap is the confusing channelOAuthId framing, which could make an agent wonder whether the value is supplied or resolved for it.

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

Parameters3/5

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

Schema coverage is 100% and each parameter already documents itself (including confirmed=true and productIds semantics), so the baseline is 3. The description adds only the emphasis that productIds must be explicit, but its 'ChannelOAuthId resolved internally' phrasing is ambiguous against the required channelOAuthId parameter, so it neither clarifies nor fully compensates.

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

Purpose5/5

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

States a specific verb+resource (generates the limited product CSV) and immediately bounds it: 'the only product CSV allowed by MCP policy' and 'not a downloadable file.' It even enumerates the exact columns returned, so an agent knows precisely what this produces without opening the schema.

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

Usage Guidelines4/5

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

Gives clear prerequisites ('Requires explicit productIds and confirmed=true') and rules out the all-store export, which frames when this tool applies. No sibling in the list is a comparable CSV-export tool, so there is little alternative-routing to add; the exclusion of an all-store export is the key guidance and it's present.

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

hgr_generate_tracking_idGenerate Tracking IDA
Destructive
Inspect

Generates HGR tracking for exact order lines when WAPI allows it. The MCP checks current WAPI order status and current WAPI fee data before executing. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Adds real behavioral context beyond annotations: the MCP pre-checks current WAPI order status and fee data before executing, which tells the agent the call may be refused based on external state. The destructive/irreversible nature is already declared by destructiveHint=true, so omission there is acceptable, but the description never says what actually changes on the marketplace once tracking is generated.

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?

Three short, front-loaded sentences with no filler; the precondition is stated before the confirmation requirement. Internal jargon ('HGRApi Header channel') costs a little clarity for minimal gain.

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, non-idempotent, open-world mutation, the description covers preconditions but not outcomes: it does not say whether tracking generation marks the order line as dispatched or what failure looks like when WAPI disallows. The output schema carries the return shape, so that gap is excusable.

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%, so confirmation semantics for 'confirmed' and 'channelOAuthId' are already documented in the schema. The description only restates 'Requires confirmed=true' and notes the channel is resolved internally, adding little beyond that.

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

Purpose4/5

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

States a specific verb and resource ('Generates HGR tracking') scoped to 'exact order lines' with a WAPI precondition. However, it never distinguishes itself from the nearly identical sibling hgr_post_sales_generatetrackingid or from hgr_set_manual_tracking_id, so an agent cannot route confidently between them 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 Guidelines3/5

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

'when WAPI allows it' and 'Requires confirmed=true' imply preconditions, but there is no explicit when-to-use/when-not guidance and no named alternative for the manual-tracking path. The agent must infer selection from sibling names.

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

hgr_get_active_listingsGet Active ListingsA
Read-onlyIdempotent
Inspect

Lists active listings for the selected visible store/channel. Use this for store-wide active listing/product questions, including most expensive products/listings, cheapest products/listings, stock checks, price ranking, source/supplier usage and other active listing aggregation. First resolve the store with hgr_list_channels, then call this tool using channelOAuthId from the selected store. For rankings, filtering and summaries, pass fields/sortBy/sortDirection/limit directly to this tool and answer from its response. For product source/supplier questions, request the source field when available; source means supplier/source marketplace. Use sourceId only to resolve visible supplier/source names. Do not use origin for source/supplier questions: origin means listing creation mechanism such as Catalog, BulkLister, WeListForYou, Extension, AI Publisher or AI Agent. The response can be a compact schema/data payload: interpret each data row by matching positions with schema; this is not an error and does not require a second pass. Public replies use visible product ids and marketplace references. Do not use this tool to construct CSV, XML, XLSX, feed or bulk export files. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
pageNoOne-based page number.
limitNoMaximum number of rows to return. HGRApi maximum is 10000.
fieldsNoFields to return. Use projection for compact answers.
offsetNoZero-based row offset.
sortByNoField used to sort before limit/pagination.
sortDirectionNoSort direction.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations, it discloses an important response quirk: the payload can be a compact schema/data structure where rows are matched positionally to schema, and that this is not an error and does not need a second pass. It also notes the auth context ('Requires HGRApi Header channel / ChannelOAuthId resolved internally'), adding operational context not 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 purpose and store-resolution prerequisite are front-loaded, and most sentences carry operational value. It is dense and slightly sprawling with back-to-back directives, but the length is largely justified by the tool's complexity and ambiguity around source/origin fields.

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

Completeness5/5

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

Given 7 parameters, an output schema, and a non-obvious compact response format, the description covers everything an agent needs: store resolution, aggregation usage, source vs. origin semantics, response interpretation, export exclusions, and auth context. Nothing critical is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds semantic distinctions not present in the schema: 'source' means supplier/source marketplace, 'sourceId' is only for resolving visible supplier names, and 'origin' is the listing creation mechanism. It also explains that fields/sortBy/sortDirection/limit can be passed directly for aggregation.

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

Purpose5/5

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

States a specific verb and resource ('Lists active listings') for a specific scope ('selected visible store/channel'). It distinguishes itself from siblings like hgr_get_listings, hgr_get_pending_listings and hgr_get_terminated_listings by naming the active-listing aggregation use cases it covers.

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

Usage Guidelines5/5

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

Gives explicit prerequisites ('First resolve the store with hgr_list_channels'), routing instructions for rankings/filtering/summaries, and a clear exclusion ('Do not use this tool to construct CSV, XML, XLSX, feed or bulk export files'). It also tells the agent which field to request for supplier questions and which field not to use (origin).

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

hgr_get_affiliate_dashboardGet Affiliate DashboardB
Read-onlyIdempotent
Inspect

Reads affiliate dashboard summary.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so safety and idempotency are covered structurally. The description adds no behavioral context beyond the word 'Reads', such as what data the summary includes, authentication needs, or rate limits.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler or redundancy. It is appropriately sized for a zero-parameter read tool.

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

Completeness3/5

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

With zero parameters, rich annotations, and an output schema, the description need not explain return values or safety. However, it leaves ambiguity about how this dashboard summary differs from the monthly variant and other affiliate dashboard tools, which is a meaningful gap for an agent selecting among many siblings.

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

Parameters4/5

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

The tool takes zero parameters, so the schema is trivial and fully described. Per the rubric, a zero-parameter tool receives a baseline of 4 for parameter semantics.

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

Purpose4/5

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

The description states a specific verb (Reads) and resource (affiliate dashboard summary), making the basic action clear. It does not distinguish this tool from the closely named sibling hgr_get_affiliate_dashboard_monthly, so sibling differentiation is missing.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as hgr_get_affiliate_dashboard_monthly or hgr_get_affiliate_withdrawals. The description provides only a bare purpose statement with no usage context or exclusions.

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

hgr_get_affiliate_dashboard_monthlyGet Affiliate Dashboard MonthlyC
Read-onlyIdempotent
Inspect

Reads affiliate monthly dashboard summary.

NameRequiredDescriptionDefault
yearNoOptional year number accepted by WAPI.
monthNoOptional month number accepted by WAPI.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

The annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds no behavioral context such as default period, timezone, or what the summary aggregates, leaving the agent with only the word "Reads" 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?

It is a single short sentence with no wasted words, but it is so terse that it fails to front-load the useful distinctions. Brevity here comes at the cost of clarity rather than from efficiency.

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

Completeness2/5

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

An output schema and annotations exist, so return format and safety need not be explained. However, for a tool with optional period parameters and a near-duplicate sibling, the description omits the default-period behavior and the sibling distinction that an agent needs to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are documented in the schema as "Optional year/month number accepted by WAPI." The description adds no meaning beyond that; baseline 3 is appropriate when the schema does all parameter work.

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

Purpose3/5

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

The description states a verb and resource ("Reads affiliate monthly dashboard summary"), but it essentially restates the title and does not distinguish this tool from the closely named sibling hgr_get_affiliate_dashboard. An agent cannot tell from the description whether this is a subset, a different aggregation, or the same data scoped to a month.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 monthly dashboard versus hgr_get_affiliate_dashboard or hgr_get_dashboard_getaffiliatestatistics_period_from_to. Because year and month are optional, the description also omits what happens when they are omitted.

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

hgr_get_affiliate_withdrawalsGet Affiliate WithdrawalsA
Read-onlyIdempotent
Inspect

Reads affiliate withdrawal history. Changing withdrawal method must be done in HGRWeb.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds value beyond them by naming the domain constraint (withdrawal-method changes must happen in HGRWeb), which prevents a doomed write attempt and gives the agent a redirect. It still says nothing about result volume or pagination, so not a 5.

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

Conciseness5/5

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

Two short sentences with no filler, and the core purpose is front-loaded ahead of the constraint. Every sentence earns its place.

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

Completeness4/5

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

With no parameters, rich annotations and an output schema covering return values, the description only needs purpose plus any operational caveat — both are present. A note on whether the full history is returned unfiltered (since no filter parameters exist) would close the last gap.

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

Parameters4/5

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

The tool takes zero parameters and the schema is closed (additionalProperties: false), so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly avoids inventing filtering options that do not exist.

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

Purpose4/5

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

States a specific verb and resource: 'Reads affiliate withdrawal history.' An agent can immediately tell this is a read of withdrawal records and not a dashboard or token-history call. It does not explicitly name the nearest sibling (e.g., hgr_get_affiliate_dashboard or hgr_get_user_gettokenhistory), 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 Guidelines3/5

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

The second sentence gives an implied boundary — mutations such as changing the withdrawal method are out of scope and belong in HGRWeb — which tells the agent when NOT to use this tool. However, it never states when to pick this over the many other affiliate/user read siblings, leaving that inference to the agent.

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

hgr_get_ai_agent_configurationGet Ai Agent ConfigurationA
Read-onlyIdempotent
Inspect

Reads AI Agent configuration for one visible store. AI Agent is distinct from AI Publisher. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is carried structurally. The description adds an auth/channel note ("Requires HGRApi Header channel / ChannelOAuthId resolved internally"), but that sentence is ambiguous about whether the caller must supply a channel header or whether it is derived internally, which is exactly the detail an agent needs.

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

Conciseness4/5

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

Three tight sentences with the purpose and scope front-loaded. The trailing auth sentence is short but cryptic enough that it costs some clarity rather than adding it.

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?

A one-parameter read tool with full schema coverage and an output schema; the description need not explain return values. Purpose, scope, resource identity and the sibling-family distinction are all present, so an agent has enough to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter already points to hgr_list_channels as its source, so there is nothing left for the description to explain. The description adds no parameter meaning beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ("Reads AI Agent configuration") scoped to "one visible store", and explicitly contrasts AI Agent with AI Publisher, which separates it from the hgr_get_ai_publisher_* family. It does not distinguish it from the closest sibling, hgr_save_ai_agent_configuration (write counterpart) or hgr_get_ai_agent_dashboard, so it falls short of a 5.

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

Usage Guidelines3/5

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

There is implied guidance from "one visible store" and the AI Agent vs AI Publisher note, but no explicit when-to-use / when-not-to-use statement. Nothing tells the agent to prefer this over hgr_get_ai_agent_dashboard or to call hgr_list_channels first for the required ID (the schema covers that, but the description does not reinforce it).

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

hgr_get_ai_agent_dashboardGet Ai Agent DashboardA
Read-onlyIdempotent
Inspect

Reads AI Agent dashboard and maturity metrics for one visible store. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/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, destructiveHint=false, and openWorldHint=true, so the safety profile is clear. The description adds an auth-related note about the HGRApi Header channel and ChannelOAuthId being resolved internally, which is useful context beyond the annotations. It does not add other behavioral details such as rate limits or output characteristics, but the output schema and annotations reduce the burden.

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

Conciseness4/5

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

The description is two sentences and front-loads the main operation before the auth note. There is no filler or redundant explanation. The second sentence is somewhat awkwardly phrased, which slightly reduces clarity but not enough to call it verbose.

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

Completeness4/5

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

This is a read-only dashboard metrics tool with an output schema, rich annotations, and a fully documented single parameter. The description provides the essential scope — one visible store — and an auth note, so an agent has enough to call it correctly. It could be stronger with explicit sibling routing, but it is complete for the tool's 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?

There is only one parameter, and the schema description coverage is 100%; the schema explains that channelOAuthId comes from hgr_list_channels for the selected visible store. The description adds little beyond repeating the ChannelOAuthId concept, and the phrase 'resolved internally' is ambiguous for a parameter that the schema marks as required. With the schema doing the heavy lifting, 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 reads AI Agent dashboard and maturity metrics. It also scopes the operation to one visible store, making the purpose understandable without opening the schema. It does not explicitly differentiate itself from nearby AI Agent tools such as hgr_get_ai_agent_configuration, which keeps it 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 Guidelines3/5

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

Usage is implied by 'reads AI Agent dashboard and maturity metrics for one visible store' — an agent can infer it should call this when dashboard or maturity data is needed. However, there is no explicit when-to-use guidance, no exclusions, and no named alternative for related AI Agent configuration or task data. That places it at implied usage rather than explicit routing guidance.

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

hgr_get_ai_gettasksGet Ai GettasksC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/AI/GetTasks. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get tasks operation in AI optimization task management. Use when: Use it when a client needs to run the get tasks operation for AI optimization task management. Input: No explicit input parameters required. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get tasks operation. Search terms: ai gettasks. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds two useful behavioral facts the annotations do not: the endpoint is fixed rather than a generic caller, and channel/ChannelOAuthId is resolved internally as a header channel. It adds nothing about what is returned or about paging/limits.

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 boilerplate-heavy template filler ('Dedicated HGRApi tool for...', 'Purpose:', 'Use when:', 'Search terms: ai gettasks') that repeats the same idea three times. The one genuinely useful constraint (not a generic endpoint caller) is buried mid-paragraph rather than front-loaded.

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

Completeness2/5

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

With an output schema present, return values need not be explained, but the description still has a required-parameter contradiction and says nothing about whether tasks are filtered, paged, or scoped to the channel. For a tool whose only argument is a channel credential, that leaves real ambiguity.

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

Parameters2/5

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

Schema coverage is 100% and the single parameter is well described there, so the baseline would be 3. But the description actively misleads by saying 'Input: No explicit input parameters required' when channelOAuthId is a required parameter, which could cause the agent to omit it.

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 names the verb+resource (GET api/AI/GetTasks) and places it in the 'AI optimization task management' domain, and it explicitly says it is not a generic endpoint caller. However, 'Provides the GET get tasks operation' largely restates the tool name, and it never distinguishes this tool from nearby siblings such as hgr_post_ai_gettaskresult or hgr_post_ai_createtask, leaving the agent to guess which AI-task tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause is circular: 'Use it when a client needs to run the get tasks operation.' That gives no condition, no prerequisite, and no alternative tool to consider, so the agent gets no real routing guidance.

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

hgr_get_ai_publisher_filtersGet Ai Publisher FiltersB
Read-onlyIdempotent
Inspect

Reads AI Publisher filters/automation configuration for one visible store. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI filters request body with Status values.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the description carries a lighter burden. It adds an auth-setup note about the HGRApi Header channel, but that note is cryptic — "ChannelOAuthId resolved internally" sits oddly against a required channelOAuthId parameter — and nothing is said about what happens when the store is not visible to the caller.

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?

Two short sentences, front-loaded with the purpose before the auth caveat; nothing is padded. The second sentence's slash-delimited phrasing ("HGRApi Header channel / ChannelOAuthId") is terse to the point of ambiguity, costing a 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?

An output schema exists, so return values need not be explained, and both parameters are described. Still, for an open-world data-read tool the description leaves gaps an agent would want: whether filters are store-specific or global, what the body's Status values mean, and how visibility failures surface.

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%, so both parameters are already documented, including the hgr_list_channels provenance of channelOAuthId. The description adds only the "visible store" scoping notion and no detail on the body's Status values or expected shape, so 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 names a specific verb and resource — "Reads AI Publisher filters/automation configuration" — with scope limited to "one visible store." That is clearly separable from siblings like change_ai_publisher_status, update_ai_publisher_optimization, and get_ai_agent_configuration, though none are named explicitly.

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

Usage Guidelines3/5

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

The phrase "for one visible store" implies the context in which the tool applies and hints that a channel scope must be selected first, but there is no explicit when-to-use clause, no exclusions, and no pointer to a sibling for adjacent cases (e.g. history vs. optimization settings).

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

hgr_get_ai_publisher_historyGet Ai Publisher HistoryB
Read-onlyIdempotent
Inspect

Reads AI Publisher history for one visible store. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI AI Publisher history request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds a useful auth note about the HGRApi Header channel, but the clause 'ChannelOAuthId resolved internally' sits awkwardly against a schema that marks channelOAuthId as a required caller-supplied parameter, creating mild confusion about who supplies it.

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

Conciseness4/5

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

Two short sentences with the operation and scope front-loaded; there is no filler. The second sentence is the weakest part, since its auth clause is partially redundant with the schema and partially inconsistent with it.

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

Completeness3/5

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

An output schema exists and annotations cover the read-only profile, so return values and safety need no prose. Still, the description never says what the history records represent or how far back they go, and the 'resolved internally' note muddies rather than clarifies parameter sourcing.

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 already documented in the schema (including that ChannelOAuthId comes from hgr_list_channels). The description adds no meaning beyond that baseline and does not clarify what the 'body' request payload should contain.

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

Purpose4/5

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

States a specific verb and resource ('Reads AI Publisher history') plus scope ('for one visible store'), which separates it from siblings like hgr_get_ai_publisher_filters, hgr_change_ai_publisher_status, and hgr_update_ai_publisher_optimization. What 'history' actually contains is left unexplained, keeping it short of a 5.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no naming of the adjacent AI Publisher tools an agent might confuse this with (filters, status change, optimization update). The phrase 'for one visible store' hints at a preconditions step but does not spell one out.

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

hgr_get_analytics_beingwatchedGet Analytics BeingwatchedC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Analytics/BeingWatched. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET being watched operation in current-channel watcher analytics. Use when: Use it when a client needs to run the being watched operation for current-channel watcher analytics. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the being watched operation. Search terms: analytics beingwatched. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds some context that the channel/ChannelOAuthId is resolved internally and that this is a fixed endpoint rather than a generic caller, but its output statement ('returns the result or applies the effect') is a meaningless catch-all.

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 content is padded with template boilerplate ('Search terms:', 'not a generic endpoint caller', 'Requires HGRApi Header channel / ChannelOAuthId resolved internally') and repeats 'being watched operation' multiple times. It is not front-loaded with the distinguishing information an agent needs.

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

Completeness3/5

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

With an output schema present, return values need not be explained, and the single fully-documented parameter is covered. What remains missing is a real explanation of how this dataset differs from the two adjacent analytics siblings, leaving the agent's selection decision under-informed.

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 is fully described in the schema (100% coverage), including its source from hgr_list_channels. The description mentions the channel input but adds no syntax or format details beyond the schema, so the 3 baseline 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?

It states a specific verb and resource (GET the being-watched analytics for current-channel watcher analytics), which is better than a bare tautology. However, it never distinguishes this from the very similarly named siblings hgr_get_analytics_getwatchers and hgr_get_analytics_productsnotbeingwatched, leaving the actual semantic difference 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?

The only guidance is circular: 'Use it when a client needs to run the being watched operation for current-channel watcher analytics' – it restates the purpose rather than giving when-to-use/when-not conditions. No mention of when to prefer getwatchers or productsnotbeingwatched.

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

hgr_get_analytics_getwatchersGet Analytics GetwatchersC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Analytics/GetWatchers. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get watchers operation in current-channel watcher analytics. Use when: Use it when a client needs to run the get watchers operation for current-channel watcher analytics. Input: [FromQuery] minutes: int?. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get watchers operation. Search terms: analytics getwatchers. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
minutesNoHGRApi query parameter minutes.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds that the channel/ChannelOAuthId is resolved internally and that it is a fixed, non-generic endpoint, but it says nothing about return content, time window semantics of 'minutes', or pagination. The 'applies the effect' phrasing is boilerplate, not insight.

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 'get watchers operation' three times across purpose, usage and output, and pads with boilerplate ('dedicated HGRApi tool', 'explicit tool with a fixed endpoint', 'Search terms'). It is front-loaded but bloated with low-value scaffolding.

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

Completeness3/5

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

With an output schema present and full param coverage, the mechanical call path is complete. However, the key semantics an agent needs — what 'watchers' actually measures and how 'minutes' scopes the result — are never explained, leaving a gap for a tool whose value is in interpreting the analytics.

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 schema already documents both params, including channelOAuthId's provenance from hgr_list_channels. The description only echoes 'minutes: int?' and that channel is a header, adding little. Baseline 3 is appropriate given the schema does the work.

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?

It states a specific verb+resource (GET watchers) and adds that it operates over 'current-channel watcher analytics', but the core phrasing 'Provides the GET get watchers operation' largely restates the name, and it never names the nearest siblings (hgr_get_analytics_beingwatched, hgr_get_analytics_productsnotbeingwatched) to show how it differs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause is circular: 'Use it when a client needs to run the get watchers operation for current-channel watcher analytics' just re-describes the tool. No exclusions and no routing to the adjacent analytics siblings that clearly compete for the same intent.

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

hgr_get_analytics_productsnotbeingwatchedGet Analytics ProductsnotbeingwatchedB
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Analytics/ProductsNotBeingWatched. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET products not being watched operation in current-channel watcher analytics. Use when: Use it when a client needs to run the products not being watched operation for current-channel watcher analytics. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the products not being watched operation. Search terms: analytics productsnotbeingwatched. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so safety behavior is covered. The description adds that this is a fixed endpoint rather than a generic caller and that the Header channel/ChannelOAuthId is resolved internally, but it does not explain data freshness, scope semantics, or rate/limit 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 structured with labels and front-loads the endpoint purpose, but it contains repetitive boilerplate such as 'explicit tool with a fixed endpoint' and an 'Output' sentence that says only 'returns the result or applies the effect.' It is adequate but not tight.

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

Completeness3/5

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

For a one-parameter read-only analytics endpoint, the description plus schema, annotations, and output schema give enough to call the tool correctly. However, it leaves out the practical distinction from sibling watcher-analytics tools and does not clarify what 'not being watched' means operationally.

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 single required parameter channelOAuthId is already documented in the schema as coming from hgr_list_channels. The description's 'Input: Header channel: current ChannelOAuthId' adds little beyond that, so 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 states a specific verb and resource: getting products not being watched in current-channel watcher analytics. It is clearer than a bare endpoint name, but it does not distinguish this tool from close siblings such as hgr_get_analytics_beingwatched or hgr_get_analytics_getwatchers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' sentence only restates the tool's name and purpose: 'when a client needs to run the products not being watched operation.' It gives no meaningful selection criteria, exclusions, or alternatives among the analytics siblings.

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

hgr_get_authenticated_userGet Authenticated UserB
Read-onlyIdempotent
Inspect

Reads the authenticated HGR user profile visible to the web app.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered by structured data. The description adds only the qualifier that the profile is the one 'visible to the web app', which hints at scoping/visibility but does not explain what that means in practice.

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?

One short sentence that is front-loaded with the action and resource. The trailing clause 'visible to the web app' is slightly vague but not padding that obscures the core statement.

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

Completeness4/5

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

With no inputs, an output schema present, and annotations covering safety and openness, the description does not need to explain return values. What remains missing is a note on whose profile is returned when multiple integrations exist, but for a zero-arg identity read the definition is sufficient to invoke correctly.

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

Parameters4/5

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

The tool takes zero parameters, which is the baseline-4 case. Nothing extra is needed, and the description does not waste words inventing parameter guidance.

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

Purpose4/5

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

A concrete verb ('Reads') plus specific resource ('authenticated HGR user profile') makes the purpose immediately clear. It does not, however, distinguish this from related siblings such as hgr_get_user_gettokenbalance or hgr_get_user_gettokenhistory, which also operate on the current user.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 statement of when to call this versus the other user/account GET tools in a 150+ tool sibling list. The agent is left to infer that this is the identity/profile lookup, with no exclusions or alternatives named.

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

hgr_get_autoorder_feesGet Autoorder FeesB
Read-onlyIdempotent
Inspect

Reads current auto-ordering fees from WAPI.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds only 'from WAPI' and 'current' — a hint that this is a live external fetch — but says nothing about rate limits, failure modes, or what 'fees' means in this domain.

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?

A single front-loaded sentence with no wasted words. It is arguably too terse rather than too long, but structurally 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?

An output schema exists, so return values need not be described, and annotations cover the safety profile. However, for a domain-specific concept like 'auto-ordering fees' the description gives no grounding — units, currency, or what the fee applies to — leaving an agent to guess at the meaning of the result.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to disambiguate, though it also doesn't clarify that no arguments are needed.

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

Purpose4/5

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

States a specific verb and resource: 'Reads current auto-ordering fees'. This is distinguishable from the closest sibling hgr_get_autoordering_configuration, which returns configuration rather than fees, though the description doesn't call that distinction out explicitly.

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

Usage Guidelines2/5

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

There is no indication of when to call this versus hgr_get_autoordering_configuration or hgr_get_dashboard_taskpendingautoorder2, and no prerequisites (e.g., whether auto-ordering must be configured first). The agent must infer usage entirely from the name.

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

hgr_get_autoordering_configurationGet Autoordering ConfigurationA
Read-onlyIdempotent
Inspect

Reads auto-ordering configuration from WAPI for one visible store/channel. Requires HGRApi Header channel / ChannelOAuthId resolved internally. Secret fields are redacted before returning.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the description's job is lighter. It still adds real value: channel auth is resolved from the HGRApi header internally (no extra credential plumbing), and secret fields are redacted before return, which tells the agent to expect masked values rather than data loss.

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

Conciseness5/5

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

Three tight sentences, front-loaded with what it does, followed by auth handling and redaction behavior. No filler or redundancy.

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

Completeness5/5

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

For a single-parameter read tool with an output schema and full annotation coverage, nothing material is missing: the agent knows scope, auth handling, and that secrets come back masked. Return-value details are correctly left to the 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% and the single parameter is fully documented in-schema, including the hgr_list_channels sourcing, so baseline 3 applies. The description adds no format or constraint detail 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?

States a specific verb and resource ("Reads auto-ordering configuration") plus scope (one visible store/channel) and origin (WAPI). The read framing clearly separates it from the sibling write operations hgr_save_autoordering_configuration and hgr_remove_autoordering_configuration.

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?

"for one visible store/channel" implies this is a per-channel lookup, and the schema points to hgr_list_channels as the source of the ID, but the description itself never states when to use this versus the save/remove siblings or any prerequisites. Usage is inferable rather than spelled out.

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

hgr_get_catalog_getproductsourceGet Catalog GetproductsourceC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Catalog/GetProductSource. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get product source operation in catalog/source candidate discovery or publication. Use when: Use it when a client needs to run the get product source operation for catalog/source candidate discovery or publication. Input: id: int. Output: Returns the result or applies the effect of the get product source operation. Search terms: catalog getproductsource. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds genuinely useful context that this is a fixed-endpoint tool rather than a generic caller, and mentions the HGRApi header channel, but the claim that ChannelOAuthId is "resolved internally" conflicts with the schema, which marks it as required.

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 bloated with template boilerplate: "Dedicated HGRApi tool for GET ...", "This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller", "functional documentation:", and duplicative Purpose/Use-when/Search-terms blocks. The one differentiating fact (fixed endpoint) is buried mid-paragraph.

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?

An output schema exists, so return values needn't be described, and annotations cover safety. But for a single-param tool the description still leaves the core question unanswered: what a "product source" is and what this retrieval is for. The parameter mismatch with the schema further undermines 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 the single parameter is well documented there, which would normally establish a 3 baseline. But the description states "Input: id: int", which does not match the schema's required channelOAuthId property, actively misleading an agent about what to supply.

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?

"Provides the GET get product source operation in catalog/source candidate discovery or publication" essentially restates the tool name. The vague phrase "catalog/source candidate discovery or publication" doesn't tell the agent what data actually comes back, nor does it distinguish this from siblings like hgr_get_sources, hgr_get_sources_get, or hgr_get_source_configuration.

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

Usage Guidelines2/5

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

"Use it when a client needs to run the get product source operation" is circular and gives no trigger, no prerequisite, and no alternative tool. With a large sibling set of source/catalog GET tools, an agent has no basis for choosing this one over the others.

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

hgr_get_catalog_newgetlistingstatusGet Catalog NewgetlistingstatusA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Catalog/NewGetListingStatus. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Returns recent catalog publication jobs and their listing results. ownerAgent: publication. Use when: Use to inspect recorded publication status or errors, not to discover supplier products. Input: Header channel identifies the selected store. No body. Output: Returns job status and listing status/error data with EnumValues. Url identifies new publications even before ProductSourceId resolution; ProductSourceId remains available for legacy clients. ListingStatus.Status is a bitmask and can combine flags. Search terms: catalog newgetlistingstatus. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description still adds substantive context: the header channel identifies the selected store, no request body is sent, ListingStatus.Status is a bitmask that can combine flags, and Url identifies new publications before ProductSourceId resolution. These are real consumption-relevant details an agent would not get from 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 labeled Purpose/Use when/Input/Output structure is front-loaded and scannable, but the opening two sentences ('Dedicated HGRApi tool for GET ... it is not a generic endpoint caller') and the trailing 'Search terms:' line are meta-boilerplate that earns no place in the description. Useful content is interleaved with 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?

An output schema exists, so return-value documentation is not strictly required, and the description nonetheless sketches the shape (job status with EnumValues, listing status/error, bitmask semantics). With a single fully documented parameter and clear read-only semantics, an agent has everything needed to call it correctly.

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

Parameters3/5

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

There is only one parameter and schema coverage is already 100%, with the schema itself explaining that channelOAuthId comes from hgr_list_channels. The description restates that the header channel identifies the selected store, which is mild reinforcement. The note that ChannelOAuthId is 'resolved internally' slightly muddies the fact that it must be supplied, so this is baseline rather than value-added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 outcome: it returns recent catalog publication jobs and their listing results, and explicitly excludes product discovery. That distinguishes it from product-oriented siblings such as hgr_post_catalog_getproducts. The opening is slightly diluted by generic boilerplate about being a 'dedicated HGRApi tool' for a fixed endpoint, but the Purpose line carries the meaning.

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

Usage Guidelines4/5

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

It gives an explicit 'Use when' clause (inspect recorded publication status or errors) and an explicit exclusion (not to discover supplier products). The alternative is characterized by task rather than named as a specific sibling, so an agent must map the task description itself, but the guidance is clear and actionable.

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

hgr_get_channel_configurationGet Channel ConfigurationB
Read-onlyIdempotent
Inspect

Reads store/channel configuration for one visible store. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this as a safe, idempotent read. The description adds some useful operational context about the HGRApi Header channel and internal ChannelOAuthId resolution, but the phrasing is compressed and does not clarify error behavior or other runtime characteristics.

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

Conciseness4/5

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

The definition is only two sentences and front-loads the core read operation. The second sentence is dense and slightly cryptic, but there is no obvious wasted text.

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

Completeness3/5

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

For a simple read tool with rich annotations, a fully documented single parameter, and an output schema, the description is close to sufficient. However, it remains ambiguous relative to the many other configuration-getter siblings, so an agent lacks enough routing detail for confident selection.

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 only parameter is already documented in the schema as the ChannelOAuthId returned by hgr_list_channels. The description references ChannelOAuthId but does not add format or selection details beyond what the schema provides.

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

Purpose4/5

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

The description names a specific verb and resource: it reads store/channel configuration for one visible store. That is clear enough for an agent to know what it returns, though it does not distinguish this tool from nearby configuration getters such as hgr_get_source_configuration or hgr_get_channellisting_getsettings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 states the tool reads configuration for one visible store, but gives no explicit when-to-use guidance and does not name alternatives or exclusions. With many sibling configuration-read tools, an agent still has to infer when this one is appropriate.

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

hgr_get_channellisting_getcategoryinfoGet Channellisting GetcategoryinfoC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/ChannelListing/getCategoryInfo. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get category info operation in published product creation and optimization. Use when: Use it when a client needs to run the get category info operation for published product creation and optimization. Input: [FromQuery] id: string. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get category info operation. Search terms: channellisting getcategoryinfo. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
idYesHGRApi query parameter id.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is covered. The description adds a modest piece of context — a channel/ChannelOAuthId header must be resolved and is handled internally — which is genuinely useful beyond the annotations, but the rest is boilerplate restatement.

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 bloated with auto-generated filler ('Dedicated HGRApi tool for...', 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') and repeats the channel/ChannelOAuthId requirement twice. Front-loading is poor: the actual operation is buried in boilerplate.

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?

Parameters are fully covered by the schema and an output schema exists, so return values needn't be described. But the description's core purpose — what category information is returned and in what context it's used — remains unexplained, leaving an agent with gaps for a discovery/read call among many category siblings.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both 'id' and 'channelOAuthId'. The description repeats '[FromQuery] id: string' and the channel header without adding format, valid-value, or lookup detail beyond the schema, so baseline 3 applies.

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

Purpose2/5

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

The description mostly restates the tool name/endpoint ('GET get category info operation'), which is tautological. It never explains what 'category info' actually contains (category tree? marketplace categories for a channel listing?) or how it differs from close siblings like hgr_get_channellisting_getcustomcategories or hgr_post_channellisting_getcategoriesbytext.

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

Usage Guidelines2/5

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

'Use it when a client needs to run the get category info operation' is circular and gives no real when-to-use condition, no exclusions, and no alternative among the many category-related siblings. The only useful fragment is that it belongs to published product creation/optimization, which is too broad to route reliably.

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

hgr_get_channellisting_getcustomcategoriesGet Channellisting GetcustomcategoriesC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/ChannelListing/getCustomCategories. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get custom categories operation in published product creation and optimization. Use when: Use it when a client needs to run the get custom categories operation for published product creation and optimization. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get custom categories operation. Search terms: channellisting getcustomcategories. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already state readOnly, idempotent, openWorld and non-destructive, so safety is covered. The only description-added behavior is that the tool is 'not a generic endpoint caller' and that the channel header is 'resolved internally' – marginal context. Nothing about what the category list contains, whether it is channel-specific, or how to interpret the output.

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

Conciseness2/5

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

The description is padded with boilerplate ('Dedicated HGRApi tool...', 'Search terms:', 'HGRApi functional documentation:') that repeats the tool name and adds no decision-relevant information. The useful content (one input, one output) is buried rather than front-loaded.

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

Completeness2/5

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

An output schema exists and annotations cover safety, so those needn't be explained. However, for a read tool whose value depends on knowing what custom categories are and when they are needed in a listing workflow, the description leaves the core semantic question unanswered. It also fails to route the agent among the several nearby category-related siblings.

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 single channelOAuthId parameter is well documented in the schema (returned by hgr_list_channels for the selected visible store). The description only repeats that the header channel/ChannelOAuthId is resolved internally, adding little beyond the schema. Baseline 3 applies.

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

Purpose2/5

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

The description restates the endpoint name ('GET api/ChannelListing/getCustomCategories') and the tool name without explaining what a 'custom category' is or what the result represents. 'Provides the GET get custom categories operation in published product creation and optimization' is essentially tautological. It gives no way to distinguish this from siblings like hgr_get_channellisting_getcategoryinfo or hgr_post_channellisting_getsuggestedcategories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause is circular: 'Use it when a client needs to run the get custom categories operation.' No alternatives are named, no exclusions, no prerequisites beyond a passing mention of needing ChannelOAuthId.

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

hgr_get_channellisting_getsettingsGet Channellisting GetsettingsC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/ChannelListing/getSettings. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get settings operation in published product creation and optimization. Use when: Use it when a client needs to run the get settings operation for published product creation and optimization. Input: [FromQuery] sourceId: int. [FromQuery] sourcePrice: decimal. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get settings operation. Search terms: channellisting getsettings. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
sourceIdYesHGRApi query parameter sourceId.
sourcePriceYesHGRApi query parameter sourcePrice.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description does add one genuinely useful behavioral fact: the HGRApi Header channel / ChannelOAuthId is resolved internally, and it clarifies this is a fixed-endpoint call rather than a generic proxy. Beyond that, "Returns the result or applies the effect" is vacuous, and it says nothing about rate limits or error behavior.

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

Conciseness2/5

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

The endpoint is front-loaded, but the body is padded with boilerplate: a redundant restatement that it is "not a generic endpoint caller," duplicated Purpose/Use-When sentences that say the same thing, and a trailing "Search terms:" line that just repeats the tool name. Very little of the text earns its place.

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

Completeness2/5

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

An output schema and full annotations mean the description needn't explain returns or safety, but for a three-required-parameter tool it still leaves the core question unanswered: what settings are retrieved and why do sourceId and sourcePrice matter together. Given ~130 sibling tools in this namespace, the missing differentiation is a real 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 the three parameters are already documented in the schema, and the description adds no meaning beyond repackaging them as "[FromQuery] sourceId: int. [FromQuery] sourcePrice: decimal." It does not explain the relationship between sourcePrice and the settings being fetched, which is the one piece of semantics an agent would actually want. Baseline 3 applies.

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

Purpose2/5

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

"Provides the GET get settings operation" and "Get Channellisting Getsettings" are the same statement repeated; the only concrete content is the raw endpoint path. An agent cannot tell what these "settings" are (pricing? channel config? source settings?) nor how this differs from siblings such as hgr_get_source_configuration, hgr_get_channel_configuration, or hgr_save_channel_setting. It technically names a verb and resource, but only by restating 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 "Use when" clause is circular: use it "when a client needs to run the get settings operation." There is no alternative named, no precondition stated, and no exclusion such as when to prefer hgr_get_channellisting_getcategoryinfo or the configuration-getter siblings. Nominal guidance exists but carries no decision value.

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

hgr_get_channellisting_isbrandinverolistGet Channellisting IsbrandinverolistC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/ChannelListing/isBrandInVeRoList. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET is brand in ve ro list operation in published product creation and optimization. Use when: Use it when a client needs to run the is brand in ve ro list operation for published product creation and optimization. Input: [FromQuery] brand: string. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the is brand in ve ro list operation. Search terms: channellisting isbrandinverolist. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
brandYesHGRApi query parameter brand.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, lowering the burden. The description adds some useful context: fixed non-generic endpoint, the channel header being supplied as ChannelOAuthId, and that it is resolved internally. It does not clarify what the returned value means or what happens when the brand is not found.

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

Conciseness5/5

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

Two sentences with zero waste, and the exclusion from generic endpoint callers is front-loaded ahead of the alternative routing.

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?

Two sentences with zero waste, and the exclusion from generic endpoint callers is front-loaded ahead of the alternative routing.

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%, so both parameters are already documented, including channelOAuthId pointing back to hgr_list_channels. The description only echoes '[FromQuery] brand: string' and 'Header channel: current ChannelOAuthId', adding format detail (query vs. header) but no new semantic meaning.

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 restates the tool name and endpoint path ('GET is brand in ve ro list operation') without explaining what the operation actually determines, e.g., whether a brand appears on a VeRO/IP-restriction list. It never distinguishes this tool from siblings like hgr_get_channellisting_getsettings or hgr_get_channellisting_getcategoryinfo beyond the verbatim endpoint 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?

'Use when: Use it when a client needs to run the is brand in ve ro list operation' is circular — it repeats the tool name rather than describing a decision scenario. No alternatives, prerequisites, or when-not conditions are given, so an agent must guess between this and the other ChannelListing GET tools.

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

hgr_get_computed_source_configurationGet Computed Source ConfigurationA
Read-onlyIdempotent
Inspect

Reads effective supplier settings after store defaults and supplier overrides. This is settings data, not supplier availability or listing usage data. Boolean monitoring settings do not enable or disable a supplier. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive behavior, so the description correctly spends its words elsewhere: it clarifies that values are computed/effective rather than raw, warns that boolean flags do not toggle supplier state, and states the auth requirement (HGRApi header channel via the internally resolved ChannelOAuthId). That is real added context rather than annotation repetition.

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

Conciseness4/5

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

The core definition is front-loaded in the first sentence, and each following sentence adds a distinct guardrail (data type, boolean caveat, auth). It is dense but mostly earns its length; the auth sentence is the weakest and could be folded into the schema note without loss.

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

Completeness4/5

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

With an output schema present and annotations covering the safety profile, the remaining burden is to say what the data represents and what it is not, which the description does well. The only gap is the absence of any routing signal toward the similar source-configuration siblings.

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 parameter description already tells the agent to obtain the value from hgr_list_channels, so the baseline of 3 applies. The description's 'ChannelOAuthId resolved internally' slightly muddies things, since the schema marks the parameter as required and caller-supplied; a agent could plausibly read these as conflicting.

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

Purpose4/5

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

States a specific verb and resource ('Reads effective supplier settings') and explains the 'computed' semantics: store defaults merged with supplier overrides. It also scopes the data negatively ('not supplier availability or listing usage data'). However it never names or contrasts with the close sibling hgr_get_source_configuration, so the agent must infer why both exist.

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 useful exclusion guidance ('this is settings data, not supplier availability or listing usage data') and warns that boolean monitoring settings are informational. But it offers no positive trigger for when to call this instead of hgr_get_source_configuration or hgr_get_sources, leaving the selection decision to inference.

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

hgr_get_dashboard_getaffiliatestatistics_period_from_toGet Dashboard Getaffiliatestatistics Period From ToC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dashboard/GetAffiliateStatistics/{period}/{from}/{to}. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get affiliate statistics operation in dashboard data. Use when: Use it when a client needs to run the get affiliate statistics operation for dashboard data. Input: [FromRoute] period: ePeriod. [FromRoute] from: DateTime?. [FromRoute] to: DateTime?. Output: Returns the result or applies the effect of the get affiliate statistics operation. Search terms: dashboard getaffiliatestatistics period from to.

NameRequiredDescriptionDefault
toYesHGRApi route parameter to.
fromYesHGRApi route parameter from.
periodYesHGRApi route parameter period.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, so the safety profile is covered elsewhere. The description adds only the boilerplate claim that it is a fixed endpoint rather than a generic caller; the output sentence ("Returns the result or applies the effect") is meaningless for a read operation and no rate limits, auth needs, or data shape are given.

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 padded with duplicated boilerplate ("explicit tool with a fixed endpoint; it is not a generic endpoint caller"), a redundant route path, and a trailing "Search terms" line that repeats the name. The useful content — input types — is buried mid-paragraph rather than front-loaded.

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

Completeness3/5

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

With annotations and an output schema present, the bar is moderate, and the description covers the route and parameter types. Still missing are the permissible values of the ePeriod enum and any hint about what the statistics payload contains or how date ranges are interpreted, which are the details an agent would most need.

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 nominally 100%, but the schema descriptions are empty boilerplate ("HGRApi route parameter period"). The description's Input section meaningfully upgrades this by revealing that period is of type ePeriod (an enum, though values are not listed) and that from/to are nullable DateTimes bound from the route — information the schema does not convey.

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 does state a verb and resource ("get affiliate statistics" for dashboard data) and identifies the fixed route, but the phrasing is largely a restatement of the generated name. It never distinguishes the tool from close siblings such as hgr_get_affiliate_dashboard or hgr_get_affiliate_dashboard_monthly, so an agent cannot choose between them from this text 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?

"Use it when: Use it when a client needs to run the get affiliate statistics operation for dashboard data" is circular and adds no decision criteria. No alternatives, exclusions, or preconditions are named despite several affiliated dashboard tools existing in the sibling list.

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

hgr_get_dashboard_getlistingservicesGet Dashboard GetlistingservicesA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dashboard/GetListingServices. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Lists publication services purchased by the user. ownerAgent: account-metrics. Domain: services. Entity: listing_service. Operation: list. Scope: all_user_stores. Use when: Use it to show pending or purchased We List For You orders/services. Input: No explicit input parameters required. Does not use concrete listing ids. Output: Returns publication services and their status. Search terms: dashboard getlistingservices.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Read-only, idempotent and non-destructive behavior is already declared in the annotations, so the description only needs to add context. It adds the store scope (all_user_stores) and confirms the call takes no concrete listing IDs, which helps set expectations about the result set. It does not discuss pagination or result size, a minor gap for a list 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 labeled structure (Purpose / Use when / Input / Output) is front-loaded and easy to scan. However, gateway boilerplate ('explicit tool with a fixed endpoint; it is not a generic endpoint caller') and the trailing 'Search terms: dashboard getlistingservices' add little value. The useful content would fit in fewer 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?

Annotations cover the safety profile, and an output schema exists, so the description only needs to frame purpose, scope and usage. It does all three. The one omission is how large the returned service list can get, which is modest given the output schema.

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

Parameters4/5

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

The tool takes zero parameters, so the schema by itself already covers the input contract. The description reinforces this by stating that no input is required and that listing IDs are not used, which prevents an agent from wrongly supplying identifiers. It adds useful meaning beyond an empty schema.

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

Purpose4/5

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

The description states a specific verb and resource: lists the publication services purchased by the user, via GET api/Dashboard/GetListingServices. That separates it from sibling dashboard reads such as hgr_get_dashboard_getlistingsummary or hgr_get_dashboard_getpendingstatistics. It stops short of naming those siblings as alternatives, so it falls below the top score.

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

Usage Guidelines4/5

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

The 'Use when' line gives a concrete trigger: show pending or purchased We List For You orders/services. That is a clear positive usage condition. The description never states when not to use it, and it does not point to an alternative dashboard tool for related metrics.

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

hgr_get_dashboard_getlistingsummaryGet Dashboard GetlistingsummaryA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dashboard/GetListingSummary. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Returns an aggregate summary of published products, recent products and average price for the current channel. ownerAgent: account-metrics. Domain: listings. Entity: listing_summary. Operation: aggregate. Scope: current_store. Use when: Use it for dashboard views or aggregate metrics for the selected channel. Input: Header channel: current ChannelOAuthId. Does not use concrete listing ids. Output: Returns listing counters and aggregates. Search terms: dashboard getlistingsummary. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

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, non-destructive, open-world, so the safety profile is covered. The description adds scope (current_store) and a note that the channel is resolved from the ChannelOAuthId, but it also says the header channel is 'resolved internally' while the schema makes channelOAuthId a required input, which muddies rather than clarifies runtime behavior.

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

Conciseness3/5

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

The purpose and usage are front-loaded after several sentences of boilerplate ('Dedicated HGRApi tool for GET api/...', 'This is an explicit tool with a fixed endpoint'). A redundant 'Search terms: dashboard getlistingsummary' line repeats the tool name and earns little.

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

Completeness4/5

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

With one required parameter, full schema documentation, an output schema, and safety annotations, the description supplies the remaining context an agent needs: data scope, when to use it, and what kind of aggregates it returns. Only the channel-resolution ambiguity slightly weakens 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% and the parameter description already explains that channelOAuthId comes from hgr_list_channels. The description only restates that the header channel is the current ChannelOAuthId and adds that concrete listing ids are not used — marginal added meaning, 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 a specific verb+resource: returns an aggregate summary of published products, recent products, and average price for the current channel. It also names the domain/entity/operation (listings, listing_summary, aggregate), which separates it from list-oriented siblings like hgr_get_active_listings. The useful content is somewhat buried under endpoint boilerplate, which keeps it from a 5.

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

Usage Guidelines4/5

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

It gives an explicit 'Use when' clause (dashboard views or aggregate metrics for the selected channel) and an exclusion ('Does not use concrete listing ids'), which steers the agent away from id-specific tools. It does not name a concrete alternative sibling, so it falls short of a 5.

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

hgr_get_dashboard_getnoapiserversGet Dashboard GetnoapiserversC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dashboard/GetNoApiServers. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get no api servers operation in dashboard data. Use when: Use it when a client needs to run the get no api servers operation for dashboard data. Input: No explicit input parameters required. Output: Returns the result or applies the effect of the get no api servers operation. Search terms: dashboard getnoapiservers.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered elsewhere. The description adds nothing beyond that — no note on what the endpoint actually returns, whether results are cached, or what openWorld access to servers implies. The only added statement is that it takes no input, which the schema already shows.

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?

Roughly half the text is boilerplate: the "explicit tool with a fixed endpoint; not a generic endpoint caller" sentence and the search-terms tail add no information. The substantive content could be one sentence.

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

Completeness3/5

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

With an output schema present and no parameters, the definition is technically callable, but it leaves the domain meaning of "no API servers" unexplained and provides no hint about result size or shape for an openWorld read.

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?

Zero parameters, so the baseline is 4; the description correctly states "No explicit input parameters required," which is consistent with the empty schema. Nothing further is needed.

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

Purpose3/5

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

It names a specific operation (GET api/Dashboard/GetNoApiServers) but only restates the endpoint path; it never explains what a "no API server" actually is or what the dashboard returns. An agent can match it by name but cannot tell what it does in domain terms, nor distinguish it from hgr_get_noapi_servers or hgr_update_noapi_servers.

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

Usage Guidelines3/5

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

The "Use when" line is circular — use it when a client needs to run this operation — giving no real trigger condition. There is no mention of when to prefer hgr_get_noapi_servers (the near-identical sibling) or any exclusion.

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

hgr_get_dashboard_getoptimizedcountGet Dashboard GetoptimizedcountC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dashboard/GetOptimizedCount. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get optimized count operation in dashboard data. Use when: Use it when a client needs to run the get optimized count operation for dashboard data. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get optimized count operation. Search terms: dashboard getoptimizedcount. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. Beyond that the description only says it "returns the result or applies the effect," which is generic filler, and the claim that channelOAuthId is "resolved internally" is at odds with the required-parameter schema, potentially misleading an agent about auth. No disclosure of what data is returned, freshness, or cost.

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?

Boilerplate dominates: the "explicit tool with a fixed endpoint; it is not a generic endpoint caller" sentence conveys little, and the auth note is repeated at both the start and the end. The single genuinely useful clause (search terms) is buried after redundant scaffolding.

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?

An output schema exists so return values need not be described, but the description still fails to say what the count represents, what unit it is in, or when it beats the many neighboring dashboard endpoints. For a one-parameter read in a dense sibling set, this leaves the agent unable to choose it confidently.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter's schema text ("returned by hgr_list_channels for the selected visible store") is strictly more informative than the description's "Header channel: current ChannelOAuthId." Baseline 3 applies since the schema does the work.

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 restates the tool name: "Provides the GET get optimized count operation in dashboard data." It identifies the HTTP verb and endpoint but never explains what an "optimized count" actually counts, which is the one thing an agent cannot infer from the name. Sibling tools like hgr_get_dashboard_getlistingsummary or hgr_get_dashboard_getpendingstatistics similarly get no differentiation.

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

Usage Guidelines2/5

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

"Use when: Use it when a client needs to run the get optimized count operation for dashboard data" is circular – it tells the agent to use the tool when it needs the tool. No exclusions, prerequisites, or comparison to the other 15+ hgr_get_dashboard_* siblings are offered. The only concrete guidance is the passive note that channelOAuthId comes from hgr_list_channels, which duplicates the schema.

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

hgr_get_dashboard_getpendingstatisticsGet Dashboard GetpendingstatisticsC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dashboard/GetPendingStatistics. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get pending statistics operation in dashboard data. Use when: Use it when a client needs to run the get pending statistics operation for dashboard data. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get pending statistics operation. Search terms: dashboard getpendingstatistics. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior, so the description does not need to carry the full safety burden. It adds that the endpoint is fixed and requires a ChannelOAuthId header, but otherwise uses generic language like 'returns the result or applies the effect' and omits rate limits, pagination, or data-scope 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 endpoint is front-loaded and the description is organized into purpose/use/input/output sections. However, it contains auto-documentation boilerplate, repeated phrases about being dedicated/explicit/not generic, and search terms that add little for an agent.

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

Completeness3/5

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

With one required parameter at full schema coverage, rich annotations, and an output schema, the description contains enough to invoke the tool. It is still incomplete for selection because it does not explain what pending statistics are or how this tool should be chosen over the other dashboard endpoints.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents the sole channelOAuthId parameter. The description repeats that it is a header channel parameter but does not add meaningful semantics beyond the schema.

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

Purpose3/5

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

The description names the exact GET endpoint and says it returns dashboard pending statistics, but the purpose line mostly restates the tool name and endpoint. It does not explain what 'pending statistics' actually contain or differentiate this from the many other dashboard statistics siblings.

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

Usage Guidelines2/5

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

The 'Use when' section merely says to use it when a client needs to run the operation, which is tautological. It gives no alternatives, prerequisites beyond the header note, or exclusions versus sibling dashboard tools.

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

hgr_get_dashboard_getupcomingwebinarGet Dashboard GetupcomingwebinarC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dashboard/GetUpcomingWebinar. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get upcoming webinar operation in dashboard data. Use when: Use it when a client needs to run the get upcoming webinar operation for dashboard data. Input: No explicit input parameters required. Output: Returns the result or applies the effect of the get upcoming webinar operation. Search terms: dashboard getupcomingwebinar.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered elsewhere. The description adds essentially nothing behavioral beyond confirming 'No explicit input parameters required' — it does not say what an upcoming webinar record is, whether results are scoped to the authenticated user, or how many entries come back (despite an output schema existing). 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.

Conciseness2/5

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

The text is padded with template boilerplate: the purpose is stated three times (dedicated tool line, 'Purpose:' line, and a repeated 'Output: Returns the result or applies the effect of the ... operation'), plus a redundant 'Search terms' tail. It is front-loaded but wastes most of its length on repetition rather than substance.

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

Completeness3/5

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

With zero parameters, an output schema, and rich annotations, the definitional bar is low and what exists is technically sufficient to invoke the tool correctly. However, it never explains what data an 'upcoming webinar' response actually contains or how it relates to the other dashboard endpoints, so the agent must guess at its relevance.

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

Parameters4/5

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

The tool takes zero parameters, which is the baseline-4 case. The description correctly confirms 'No explicit input parameters required', consistent with the empty schema and additionalProperties=false.

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 restates the tool name almost verbatim: 'Provides the GET get upcoming webinar operation in dashboard data' adds no information beyond the identifier. The only genuine content is the disclaimer that it is 'not a generic endpoint caller', but nothing distinguishes it from sibling dashboard getters such as hgr_get_dashboard_getlistingsummary or hgr_get_dashboard_getpendingstatistics.

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

Usage Guidelines2/5

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

'Use when: Use it when a client needs to run the get upcoming webinar operation for dashboard data' is circular — the condition is the operation itself. No alternatives, prerequisites, or when-not guidance are given, so an agent has no basis to choose this over any other hgr_get_dashboard_* sibling.

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

hgr_get_dashboard_requestcodeGet Dashboard RequestcodeC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dashboard/RequestCode. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET request code operation in dashboard data. Use when: Use it when a client needs to run the request code operation for dashboard data. Input: [FromQuery] id: int. Output: Returns the result or applies the effect of the request code operation. Search terms: dashboard requestcode.

NameRequiredDescriptionDefault
idYesHGRApi query parameter id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds no behavioral context such as authentication needs, rate limits, or side effects, and its output statement 'Returns the result or applies the effect' is too vague to be useful.

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 has labeled sections, but it repeats boilerplate about being a dedicated tool and includes low-value text such as 'Search terms: dashboard requestcode.' The useful endpoint information is front-loaded, but several sentences do not earn their place.

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

Completeness2/5

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

An output schema exists, so return values need not be explained in detail. However, the description fails to explain the core 'request code' concept, which is essential for distinguishing this tool from numerous sibling dashboard GET 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?

With 100% schema description coverage and only one parameter, the schema already documents the id field. The description adds '[FromQuery] id: int' but does not explain what the id represents beyond the type binding, 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.

Purpose2/5

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

The description largely restates the tool name and endpoint path: 'Provides the GET request code operation in dashboard data.' It never explains what a 'request code' is or what the operation returns, so the purpose remains tautological rather than specific.

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

Usage Guidelines2/5

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

The 'Use when' guidance is circular: 'Use it when a client needs to run the request code operation for dashboard data.' It names no alternatives and gives no conditions for choosing this over the many other dashboard-related sibling tools.

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

hgr_get_dashboard_taskpendingautoorder2Get Dashboard Taskpendingautoorder2C
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dashboard/TaskPendingAutoOrder2. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET task pending auto order2 operation in dashboard data. Use when: Use it when a client needs to run the task pending auto order2 operation for dashboard data. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the task pending auto order2 operation. Search terms: taskpendingautoorder 2, dashboard taskpendingautoorder 2. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, and the description adds essentially nothing on top — only that the ChannelOAuthId header is "resolved internally" and that output "returns the result or applies the effect," which is vacuous for a read tool.

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?

Boilerplate dominates: "explicit tool with a fixed endpoint," "functional documentation," and a redundant "Search terms" line that repeats the tool name twice. The actual informative content could fit in one sentence, and the purpose is buried rather than front-loaded.

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

Completeness2/5

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

An output schema exists, so return values need no explanation, but the description still never tells the agent what entity or metric this endpoint returns or under what dashboard context to call it. For a one-parameter read tool that is technically callable, it leaves the semantic decision — which dashboard endpoint to pick — unsupported.

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 single parameter's description already explains it is the ChannelOAuthId from hgr_list_channels. The description only echoes that a channel header is required, so baseline 3 applies.

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

Purpose2/5

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

The description restates the tool name and endpoint ("GET api/Dashboard/TaskPendingAutoOrder2") but never explains what "task pending auto order2" data actually is. Its only distinguishing claim — that it is "not a generic endpoint caller" — differentiates it from a hypothetical generic tool, not from any of the many dashboard siblings it is listed beside.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance is circular: "Use it when a client needs to run the task pending auto order2 operation for dashboard data." No when-not conditions, no alternatives among the dashboard siblings (e.g. getpendingstatistics, getoptimizedcount), and no prerequisites beyond a header reference.

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

hgr_get_dispatch_getGet Dispatch GetC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Dispatch/Get. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get operation in shipping and dispatch operations. Use when: Use it when a client needs to run the get operation for shipping and dispatch operations. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get operation. Search terms: dispatch get. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that this is a fixed endpoint rather than a generic caller and that ChannelOAuthId is resolved internally, which is modest but useful context; it does not describe response shape or pagination.

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 itself with boilerplate such as 'Dedicated HGRApi tool,' 'explicit tool with a fixed endpoint,' and 'not a generic endpoint caller.' The useful information is buried in redundant phrasing rather than front-loaded.

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

Completeness2/5

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

Output schema and annotations are present, so return format and safety need not be fully repeated. However, the description still leaves the core purpose ambiguous: an agent cannot tell what this dispatch GET actually retrieves, making it insufficient even for a simple one-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?

With one parameter and 100% schema description coverage, the schema already explains channelOAuthId and its source. The description adds only that the header channel is resolved internally, so it neither compensates for nor significantly extends 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 mostly restates the tool name and endpoint ('GET api/Dispatch/Get') and calls it a 'get operation in shipping and dispatch operations.' It never explains what dispatch data is retrieved or how this differs from siblings such as hgr_post_dispatch_getshipmentdetails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause is tautological: 'when a client needs to run the get operation' gives no real selection criteria. No alternatives or when-not conditions are mentioned despite many sibling dispatch tools.

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

hgr_get_helpcentre_getticket_idGet Helpcentre Getticket IDA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/HelpCentre/GetTicket/{id}. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Reads one authenticated CRM support ticket by visible ticket id. Domain: support. Entity: support_ticket. Operation: get_exact. Scope: authenticated_user. Use when: Use when the user asks about an existing support ticket and provides the visible TCK-* ticket reference. Input: [FromRoute] id: string. Legacy numeric ids are not supported. Output: Returns ticket detail including visible id/number, state, priority, dates, customer and messages. Search terms: helpcentre getticket id.

NameRequiredDescriptionDefault
idYesHGRApi route parameter id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds genuinely new behavior: authenticated_user scope and the rejection of legacy numeric ids. That is useful context beyond the structured fields, though no rate-limit or error behavior is described.

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 labeled fields (Purpose/Domain/Entity/Operation/Scope/Use when/Input/Output) are front-loaded and scannable, but boilerplate like 'Dedicated HGRApi tool for GET api/...', the 'not a generic endpoint caller' disclaimer, and 'Search terms' pad the definition without adding selectable information.

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 single-parameter read with an output schema, everything an agent needs is present: trigger condition, id format constraint, scope, and a short note on the returned payload. Nothing material is missing.

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

Parameters4/5

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

Schema coverage is 100% with one required string, so the schema does most of the work. The description still adds meaningful semantics: the id is a route parameter and must be a visible TCK-* reference rather than a legacy numeric 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?

States a specific verb+resource+scope: reads one authenticated CRM support ticket by visible ticket id, with 'Operation: get_exact' and 'Entity: support_ticket'. This distinguishes it from hgr_list_support_tickets and hgr_get_support_ticket by noting it reads a single ticket by visible reference.

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 'Use when' clause gives a concrete trigger (user asks about an existing ticket and supplies a TCK-* reference), and it explicitly excludes legacy numeric ids. It does not, however, contrast against the similarly named sibling hgr_get_support_ticket, leaving one plausible ambiguity.

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

hgr_get_listing_didlistGet Listing DidlistC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Listing/DidList. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET did list operation in bulk publication and publication tracking. Use when: Use it when a client needs to run the did list operation for bulk publication and publication tracking. Input: No explicit input parameters required. Output: Returns the result or applies the effect of the did list operation. Search terms: listing didlist. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description's only added claim is auth context ("Requires HGRApi Header channel / ChannelOAuthId resolved internally"), but that misleads: the channelOAuthId is a required caller-supplied parameter, not resolved internally. Nothing about scope, volume of DIDs returned, or pagination is disclosed.

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

Conciseness2/5

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

Heavy boilerplate: a disclaimer that it is "not a generic endpoint caller," a duplicated Purpose/Use-when/Input/Output block, and a trailing "Search terms" line. The one useful signal (channelOAuthId) is drowned out and is contradicted by the Input line.

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?

An output schema exists so return values need no prose, and annotations cover safety. But for a single-parameter tool the description should at minimum explain what the DID list is and confirm the required auth parameter; instead it asserts no input is needed, leaving the agent with less accurate information than the schema alone.

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

Parameters2/5

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

Schema coverage is 100% and the channelOAuthId description already explains it comes from hgr_list_channels, so the schema does the work. The description actively contradicts it by claiming "No explicit input parameters required," which could cause an agent to omit a required argument.

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 restates the tool name ("Provides the GET did list operation") without ever explaining what a "did list" is or what data the caller receives, so the core resource is opaque jargon. It does name the underlying endpoint GET api/Listing/DidList, but that adds no meaning an agent could not infer from the tool name itself.

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

Usage Guidelines2/5

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

"Use when: Use it when a client needs to run the did list operation for bulk publication and publication tracking" is circular — it tells the agent to use the tool when it needs to use the tool. No sibling is named (e.g. hgr_get_listings, hgr_get_active_listings, hgr_post_listing_getbulkhistory), and no when-not or prerequisite conditions are given.

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

hgr_get_listing_listingscountperchannelGet Listing ListingscountperchannelC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Listing/ListingsCountPerChannel. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET listings count per channel operation in bulk publication and publication tracking. Use when: Use it when a client needs to run the listings count per channel operation for bulk publication and publication tracking. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the listings count per channel operation. Search terms: listing listingscountperchannel. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, covering the safety profile. The description adds that the tool is a fixed endpoint and requires a header channel resolved internally, which is useful but minimal. It does not contradict annotations, but it provides limited additional behavioral context.

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

Conciseness2/5

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

The description is unnecessarily verbose and repetitive. It includes boilerplate like 'Dedicated HGRApi tool for GET...' and 'Search terms: listing listingscountperchannel', which do not aid understanding. The core information could be conveyed in one clear sentence.

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

Completeness3/5

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

Given the presence of an output schema, the description need not detail return values. However, it lacks meaningful usage guidance relative to siblings, and the boilerplate language reduces clarity. It covers basic input and output context adequately but falls short of fully helping an agent select and invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, and the single parameter (channelOAuthId) is fully documented in the schema. The description repeats that the header channel is the current ChannelOAuthId, adding no new meaning or format details. A baseline of 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description specifies the operation (get listings count per channel) and gives context (bulk publication and publication tracking). It distinguishes the tool from a generic endpoint caller. However, it does not differentiate it from similar siblings like hgr_get_listings or hgr_get_active_listings, leaving ambiguity about when this count-only view is preferred.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' section merely restates the purpose ('run the listings count per channel operation for bulk publication and publication tracking') without providing concrete conditions or alternatives. No guidance is given on when to use this tool versus other listing-related tools in the sibling set.

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

hgr_get_listing_price_historyGet Listing Price HistoryA
Read-onlyIdempotent
Inspect

Reads price history for one exact listing variation. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
productIdNoVisible marketplace Product Id / primary id.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
variationProductIdNoVisible variation Product Id / primary id when the listing has multiple variations.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so safety is covered. The description adds a genuine operational note about HGRApi header channel resolution, but it is cryptic and says nothing about history depth, time range, or pagination -- and the output schema covers return shape.

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

Conciseness4/5

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

Two short sentences with the purpose front-loaded and no filler. The second sentence is compressed to the point of being hard to parse ('HGRApi Header channel / ChannelOAuthId resolved internally'), which slightly undercuts 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?

With a full input schema description, an output schema, and annotations covering the safety profile, the definition carries everything needed to invoke it correctly. Only minor gaps remain, such as what time window the price history spans.

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%, so the schema already documents productId, channelOAuthId and variationProductId with clear meanings. The description only reinforces the variation-selection intent and the channel resolution; it adds no format, precedence, or syntax detail beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ('Reads price history') and scopes it to 'one exact listing variation', which separates it from coarse-grained siblings like hgr_get_listing_stock_history or hgr_get_searchproduct_pricechanges. It stops short of naming an alternative explicitly, but the resource scope is unambiguous.

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

Usage Guidelines3/5

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

The phrase 'one exact listing variation' implies the granularity of use, but there is no explicit when-to-use / when-not-to-use guidance and no named alternative among the many pricing-related siblings (hgr_get_price_warrior, hgr_get_pricing_rules, hgr_update_price_warrior_settings). Usage must be inferred.

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

hgr_get_listingsGet ListingsA
Read-onlyIdempotent
Inspect

Gets exact listings only by concrete HGR listing ids or visible marketplace primary ids. Do not use this tool to discover, scan, rank, filter or aggregate a store's listings. For bulk/global listing queries use active, pending or terminated listings instead. Do not use this tool to construct CSV, XML, XLSX, feed or bulk export files. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
listingIdsNoConcrete HGR listing ids. Use only when the exact listing ids are already known.
primaryIdsNoConcrete visible marketplace primary ids. Use only when the exact primary ids are already known.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, open-world, non-destructive behavior, so the description does not need to restate safety. It adds useful context about exact-id-only lookup and an HGRApi Header/channelOAuthId prerequisite, though it does not describe edge-case behavior such as missing ids or partial results.

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

Conciseness5/5

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

The definition is front-loaded with the core behavior, followed by targeted exclusions and alternatives. Every sentence contributes to correct tool selection or invocation, with no filler.

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

Completeness4/5

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

Given rich annotations, full schema coverage, and an output schema, the description covers purpose, exclusions, alternatives, and auth prerequisites well. A minor gap remains around whether at least one of listingIds or primaryIds must be supplied, since only channelOAuthId is required in 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?

Schema description coverage is 100%, so the schema already documents listingIds, primaryIds, and channelOAuthId in detail. The description reinforces that identifiers must be concrete and already known, but adds little parameter-level 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?

States a specific verb and resource: gets exact listings by concrete HGR listing ids or visible marketplace primary ids. It clearly separates this from bulk/global listing discovery and explicitly names the active, pending, and terminated listings alternatives.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance (only when exact ids are already known) and when-not-to-use guidance (discovery, scanning, ranking, filtering, aggregation, and CSV/XML/XLSX/feed exports). It also routes bulk/global queries to named sibling tools.

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

hgr_get_listing_stock_historyGet Listing Stock HistoryB
Read-onlyIdempotent
Inspect

Reads stock history for one exact listing variation. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
productIdNoVisible marketplace Product Id / primary id.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
variationProductIdNoVisible variation Product Id / primary id when the listing has multiple variations.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real value by flagging that the channel is resolved internally and that ChannelOAuthId must come from hgr_list_channels, but the phrasing 'Requires HGRApi Header channel / ChannelOAuthId resolved internally' is ambiguous about whether the caller must supply a header, and nothing is said about history depth or ordering.

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?

Two short sentences with the scope statement front-loaded and no filler. The second sentence, however, is dense and reads like a compressed internal note rather than clean prose, costing a 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?

An output schema exists so return values need not be described, and annotations cover the safety profile, which keeps the bar modest. Still, for a history-read tool the description never says what the history contains or over what window, and the header/channel sentence is too vague to fully resolve the one required parameter's provenance.

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 schema already explains productId, variationProductId and channelOAuthId, so the baseline applies. The description's phrase 'one exact listing variation' hints that variationProductId identifies the variation, but it adds no format, default, or mutual-exclusion guidance beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ('Reads stock history') and narrows scope to 'one exact listing variation', which distinguishes it from the listing-level siblings like hgr_get_active_listings or hgr_get_listings. It does not, however, distinguish it from the closest sibling hgr_get_listing_price_history, whose name follows the identical pattern.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 stated condition for when to call this versus alternatives, and the obvious near-alternative (hgr_get_listing_price_history) is never mentioned. The only usage-like content is a prerequisite ('Requires HGRApi Header channel / ChannelOAuthId'), not a when-to-use rule.

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

hgr_get_noapi_serversGet Noapi ServersA
Read-onlyIdempotent
Inspect

Reads No-API Server configuration/status. Passwords and secrets are redacted, and connection states are translated to human language.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare the operation is read-only, idempotent, non-destructive, and open-world. Beyond that, the description adds useful behavioral context by noting that passwords and secrets are redacted and connection states are translated to human language, though it does not cover auth requirements or rate limits.

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

Conciseness5/5

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

Two concise sentences with no wasted language. The core purpose is front-loaded, and the second sentence efficiently adds relevant behavioral detail.

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

Completeness5/5

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

With zero parameters, rich annotations, and an output schema, the description is complete enough for correct invocation. It states what is read and notes redaction and connection-state translation, adding useful context without needing to explain return values.

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

Parameters4/5

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

The tool has zero parameters, so the baseline score is 4. There are no parameter semantics for the description to clarify, and the description appropriately focuses on the resource and output behavior.

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

Purpose4/5

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

The description uses a specific verb ('Reads') and resource ('No-API Server configuration/status'), making the tool's purpose immediately clear. It does not explicitly distinguish itself from close siblings such as hgr_get_dashboard_getnoapiservers or hgr_get_noapi_solution_state, so it falls short of a 5.

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

Usage Guidelines2/5

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

The description does not state when to use this tool versus alternatives, nor does it provide any prerequisites or exclusions. The only implied usage is reading No-API Server configuration/status, leaving an agent to infer routing from sibling names.

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

hgr_get_noapi_solution_stateGet Noapi Solution StateB
Read-onlyIdempotent
Inspect

Reads No-API Server verification/connection state for a visible store and translates it to human language. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds useful context ('translates it to human language', header channel resolution) but the phrase 'ChannelOAuthId resolved internally' is confusing given the schema requires the caller to supply it, and nothing is said about failure modes or rate limits.

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

Conciseness4/5

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

Two compact sentences with the core purpose front-loaded; no filler. The second sentence's jargon ('HGRApi Header channel') is slightly opaque but does not pad the text.

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

Completeness3/5

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

An output schema exists, so return values needn't be explained, and annotations cover safety. What is missing is differentiation from the near-identical noapi-servers siblings, which matters in a toolset this large.

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 single parameter is fully documented in the schema (including its provenance from hgr_list_channels). The description adds no syntax or format detail beyond that, 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?

States a specific verb+resource ('Reads No-API Server verification/connection state') scoped to a visible store, plus the extra behavior of translating it to human language. It does not, however, distinguish itself from the very similar siblings hgr_get_noapi_servers and hgr_get_dashboard_getnoapiservers, so an agent must guess which of the three to call.

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

Usage Guidelines3/5

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

Usage is implied ('for a visible store', with channelOAuthId from hgr_list_channels), which gives a reasonable precondition, but there is no explicit statement of when to prefer this over hgr_get_noapi_servers or when not to use it.

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

hgr_get_pending_listingsGet Pending ListingsA
Read-onlyIdempotent
Inspect

Lists pending listings for one visible store. First resolve the store with hgr_list_channels, then call this tool using channelOAuthId from the selected store. For rankings, filtering and summaries, pass fields/sortBy/sortDirection/limit directly to this tool and answer from its response. Pending listing ids may be shown only where HGRWeb shows them. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
pageNoOne-based page number.
limitNoMaximum number of rows to return. HGRApi maximum is 10000.
fieldsNoFields to return. Use projection for compact answers.
offsetNoZero-based row offset.
sortByNoField used to sort before limit/pagination.
sortDirectionNoSort direction.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
showWeListForYouNoWhether to include We List For You pending items.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld). The description adds useful behavioral caveats: pending listing ids may be hidden unless HGRWeb shows them, and the required HGRApi channel header is resolved internally. These are helpful but relatively thin additions against the rich annotation set.

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

Conciseness4/5

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

The purpose is front-loaded in the first sentence, and the following sentences add workflow and caveats without much waste. It is slightly dense but appropriately sized for an 8-parameter list tool.

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

Completeness4/5

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

The tool has an output schema, full parameter coverage, and rich annotations. The description supplies the remaining operational context: store resolution, projection guidance, ID visibility caveat, and auth header behavior. It is largely complete, though it could say more about pagination behavior or the showWeListForYou flag.

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 parameter semantics are already fully documented in the schema. The description reinforces the use of fields/sortBy/sortDirection/limit for projections and answers, but it does not add syntax or meaning beyond what the schema provides.

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

Purpose4/5

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

The description states a specific verb and resource ('Lists pending listings') and scopes it to 'one visible store,' which distinguishes it from active/terminated listing tools. It does not, however, distinguish it from the sibling tool hgr_list_pending_now, which appears to cover a similar surface.

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

Usage Guidelines4/5

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

It gives an explicit prerequisite workflow ('First resolve the store with hgr_list_channels') and says to do ranking/filtering/summarizing through this tool rather than post-processing. It does not state when to prefer this over hgr_list_pending_now or the pending-statistics tools, so the sibling routing is incomplete.

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

hgr_get_price_warriorGet Price WarriorB
Read-onlyIdempotent
Inspect

Reads Price Warrior dashboard/settings for one visible store. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds the auth context ('Requires HGRApi Header channel / ChannelOAuthId resolved internally'), but leaves the interaction between that internal resolution and the required channelOAuthId parameter vague, and says nothing about result scope or pagination (an output schema exists, which partly excuses this).

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?

Two short sentences, front-loaded with the operation and scope. The second sentence is terse and somewhat jargon-heavy ('HGRApi Header channel'), but no sentence is padding.

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

Completeness5/5

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

A single-parameter read tool with full schema coverage, complete annotations, and an output schema does not need a long description. The description correctly covers purpose, scope, and auth context, which is all an agent needs 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?

Schema description coverage is 100% and the single parameter is already documented in-schema as coming from hgr_list_channels. The description adds only the 'one visible store' scoping and the internal resolving note, which does not meaningfully extend what the schema already says.

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

Purpose4/5

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

Specific verb+resource: 'Reads Price Warrior dashboard/settings for one visible store', which is clearly a read operation against a named subsystem. It does not explicitly differentiate itself from the sibling hgr_update_price_warrior_settings, though the verb 'Reads' does most of the work.

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

Usage Guidelines2/5

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

The only scoping guidance is 'for one visible store', which is a constraint rather than a when-to-use rule. Nothing tells the agent when to call this versus hgr_update_price_warrior_settings or the numerous other dashboard/pricing tools, and no prerequisites or exclusions are stated.

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

hgr_get_pricing_rulesGet Pricing RulesB
Read-onlyIdempotent
Inspect

Reads pricing rules for one visible store. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds some value by disclosing that the channel context is resolved internally, but the phrase "Requires HGRApi Header channel" is cryptic and never explained.

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?

Two short, front-loaded sentences with no filler; the purpose comes first and the auth note second. The jargon in the second sentence is dense but not verbose.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the single parameter is fully documented in the schema. With read-only annotations covering the safety profile, the definition supplies enough to call the tool correctly; only the ambiguous auth phrasing falls short.

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 sole parameter already documents that channelOAuthId comes from hgr_list_channels, so the schema does the heavy lifting. The description's "ChannelOAuthId resolved internally" does not add meaning beyond what the schema states.

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

Purpose4/5

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

"Reads pricing rules for one visible store" names a specific verb (reads) and resource (pricing rules), scoped to a single store. The read verb implicitly distinguishes it from hgr_add_pricing_rule, hgr_update_pricing_rule and hgr_delete_pricing_rule, though none are named explicitly.

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

Usage Guidelines2/5

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

The description gives no when-to-use instruction, no exclusions and no routing to alternatives, despite the presence of add/update/delete pricing-rule siblings. Only the phrase "for one visible store" hints at scope, and the channel prerequisite appears in the schema rather than the description.

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

hgr_get_products_subscriptions_getGet Products Subscriptions GetA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET Api/Products/Subscriptions/Get. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Lists the HGR listing-subscription plans and prices available to the requesting account. ownerAgent: account-metrics. supportingAgents: support, orchestrator. Domain: account_metrics. Entity: subscription_plan. Operation: list. Scope: product_catalog. AllowedIntents: subscription_plan_catalog. Use when: Use to quote monthly or annual plan prices and compare listing capacities. Input: No body or query input. Authentication is optional: sign in for eligible legacy prices. Anonymous requests receive public prices. Admin-only: false. The selected channel is not required. Output: Returns the complete enabled listing-plan catalogue. ProductOrder is listing capacity. Each price includes PlatformId, BillingPeriodId, CurrencyId, Price and PlatformProductId. LegacyPricing indicates continuing legacy subscription eligibility. Search terms: products subscriptions get.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses that authentication is optional and changes results (signed-in users may see legacy prices, anonymous requests get public prices), that no body or query input is needed, and that admin-only is false. That is material behavioral context the annotations cannot 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 substantive purpose and usage sentences are clear, but they are buried behind templated metadata (ownerAgent, supportingAgents, Domain, Entity, Operation) and a redundant 'Search terms' tail. The useful content would fit in two sentences, so it is padded rather than front-loaded.

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

Completeness5/5

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

An output schema exists and the description still flags the key response fields (PlatformId, BillingPeriodId, CurrencyId, Price, PlatformProductId, LegacyPricing) and that the full enabled catalogue is returned. Nothing an agent needs to call this zero-arg read correctly is missing.

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

Parameters4/5

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

With zero parameters the baseline is 4, and the description confirms 'No body or query input', so an agent knows not to hunt for optional arguments. There is no additional parameter detail to add.

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

Purpose4/5

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

After some endpoint boilerplate, the description states a specific verb and resource: 'Lists the HGR listing-subscription plans and prices available to the requesting account.' That is enough to separate it from siblings like hgr_get_subscription_summary or hgr_get_pricing_rules, though the opening 'Dedicated HGRApi tool for GET Api/Products/Subscriptions/Get' merely restates 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 Guidelines4/5

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

It gives an explicit trigger ('Use to quote monthly or annual plan prices and compare listing capacities') and a scope constraint ('Scope: product_catalog', 'AllowedIntents: subscription_plan_catalog'). It does not name an alternative tool or state when not to use it, so it falls short of a 5.

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

hgr_get_salesGet SalesB
Read-onlyIdempotent
Inspect

Reads sales aggregates for the selected visible store using WAPI GetSales. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI GetSalesRequest body: Period, From, To, timeDiff.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds an auth/header context note, which is some value, but it also states 'ChannelOAuthId resolved internally' while the schema marks channelOAuthId as a required input — a mild confusion rather than a true annotation 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?

Two short sentences, front-loaded with the core action, with no padding. The second sentence is jargon-laden and slightly misleading but is not wordy.

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

Completeness3/5

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

With an output schema, annotations, and full schema coverage on two parameters, the description does not need to explain return values. However, the ambiguous 'resolved internally' claim about a required parameter and the lack of any usage context leave a small but real gap for an agent deciding how to call it.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (body fields Period/From/To/timeDiff, and channelOAuthId provenance) are already documented. The description adds no further parameter meaning beyond the schema 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?

States a specific verb and resource ('Reads sales aggregates') and scopes it to 'the selected visible store using WAPI GetSales'. This distinguishes it from adjacent siblings like hgr_get_sales_getorderimage_orderid_cache or hgr_get_affiliate_dashboard, though it doesn't explicitly name any alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 statement of when to use this tool versus alternatives or when not to use it. The mention of 'the selected visible store' implies a prerequisite (a selected channel) but gives no explicit guidance, and the only alternative references live in the schema description, not the tool description.

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

hgr_get_sales_getorderimage_orderid_cacheGet Sales Getorderimage Orderid CacheC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Sales/GetOrderImage/{orderId}/{cache}. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get order image operation in sales/order operations. Use when: Use it when a client needs to run the get order image operation for sales/order operations. Input: [FromRoute] orderId: int. [FromRoute] cache: string. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get order image operation. Search terms: sales getorderimage orderid cache. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
cacheYesHGRApi route parameter cache.
orderIdYesHGRApi route parameter orderId.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description's one genuinely additive behavior note is that the Header channel / ChannelOAuthId is resolved internally, so the agent need not supply it. It adds nothing about what the call returns or any rate/size constraints on image retrieval.

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 route is front-loaded and that is the useful part, but the body is templated filler: 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', 'Search terms: sales getorderimage orderid cache', and 'Output: Returns the result or applies the effect' consume space without informing. The restated purpose and use-when sentences duplicate each other.

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?

An output schema exists and annotations are rich, so return format and safety need not be explained. What remains unexplained is the core semantic question — what 'cache' controls and what the image response represents — leaving the agent unable to reason about the call beyond its URL shape.

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%, so 3 would be the baseline, but the description actively muddies things: it declares orderId as int while the schema types it as string. Worse, the 'cache' parameter — the only non-obvious one — is never explained anywhere; the agent cannot tell whether it is a cache key, a boolean-like flag, or a path segment.

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 does name the concrete HTTP resource (GET api/Sales/GetOrderImage/{orderId}/{cache}) and usefully clarifies that this is a fixed-endpoint tool rather than a generic caller. But the actual purpose statement — 'Provides the GET get order image operation in sales/order operations' — is a restatement of the name, and it never says what an 'order image' is (photo/scan of the order? rendered document?) or why a client would want 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 'Use when: Use it when a client needs to run the get order image operation' clause is circular and gives no decision criteria. No alternative sibling is named (not even hgr_get_sales or the sales order-loading tools), and there is no when-not guidance.

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

hgr_get_searchproduct_getmissinglistingsGet Searchproduct GetmissinglistingsA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/SearchProduct/getMissingListings. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Returns marketplace/channel listings that HGR detected during the latest periodic synchronization as missing from HGR for the current store. ownerAgent: listings. Domain: listings. Entity: missing_listing. Operation: list_missing. Scope: current_store. Use when: Use it when the user asks what products or listings from the current store can be imported into HGR, what listings are missing in HGR, or what items were detected as not present after synchronization. Input: Header channel: current ChannelOAuthId. No body. Output: Returns missing listing candidates with ChannelItem, ChannelTitle, Sku and variation attributes. HGRApi removes entries that already exist in HGR as successfully created listings before returning them. Search terms: searchproduct getmissinglistings. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

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, non-destructive and openWorld, so the safety profile is covered. The description adds genuinely new behavior: entries already existing in HGR as successfully created listings are filtered out server-side before return, and it lists the returned fields (ChannelItem, ChannelTitle, Sku, variation attributes). No pagination or result-size guidance is given.

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 useful content (purpose, use-when, filtering behavior, output fields) is present and reasonably front-loaded, but the opening sentence restates the tool name and endpoint path, and the trailing 'Search terms:' line duplicates tokens already in the tool name. Metadata scaffolding (ownerAgent/Domain/Entity/Operation/Scope) adds bulk without decision 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 single-parameter read with an output schema, the description covers what is returned, why items are excluded, which store scope applies, and how the channel header is resolved. Only volume/pagination behavior and any store-visibility prerequisites are left unaddressed.

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

Parameters3/5

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

With one parameter and 100% schema coverage, the schema already explains that channelOAuthId comes from hgr_list_channels. The description restates the same fact ('Header channel: current ChannelOAuthId ... resolved internally') without adding format, default, or error semantics, so 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 a specific verb and resource ('Returns marketplace/channel listings that HGR detected ... as missing from HGR for the current store') and pins scope to current_store. It is clearly distinguishable from sibling list tools such as hgr_get_pending_listings or hgr_get_active_listings by the 'missing after synchronization' framing, though it never names those siblings as contrasts.

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?

An explicit 'Use when:' clause gives three concrete user-intent triggers (what can be imported, what is missing, what was detected as not present after sync). It lacks any 'do not use when' or explicit alternative routing, so it is clear context without exclusions.

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

hgr_get_searchproduct_getpendingnoapipreviousvaluesGet Searchproduct GetpendingnoapipreviousvaluesC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/SearchProduct/GetPendingNoApiPreviousValues. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get pending no api previous values operation in existing published product/listing management. Use when: Use it when a client needs to run the get pending no api previous values operation for existing published product/listing management. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get pending no api previous values operation. Search terms: searchproduct getpendingnoapipreviousvalues. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety behavior is covered. The description adds that the endpoint is fixed (not a generic caller) and that the header channel/ChannelOAuthId is resolved internally, which is modest but real value beyond the annotations.

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

Conciseness2/5

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

The text is padded boilerplate: name restatement, endpoint path, a 'not a generic endpoint caller' disclaimer, and duplicated 'searchproduct getpendingnoapipreviousvalues' search terms. It is long yet front-loads nothing actionable.

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?

An output schema exists so return values needn't be explained, and the single parameter is documented. But the fundamental question — what data this operation returns and when an agent should choose it over the many adjacent searchproduct/pending tools — is unresolved, leaving the definition inadequate for a specialty read endpoint.

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 single channelOAuthId parameter is documented in the schema itself (returned by hgr_list_channels). The description merely echoes 'Header channel: current ChannelOAuthId' and adds no new constraint or format detail, so the baseline 3 applies.

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

Purpose2/5

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

The description restates the tool name and endpoint path ('Provides the GET get pending no api previous values operation') without explaining what 'pending no api previous values' actually are. It does add the domain ('existing published product/listing management') and clarifies this is not a generic endpoint caller, but an agent still cannot say concretely what resource is fetched or how it differs from siblings like hgr_get_searchproduct_getmissinglistings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause is circular: 'use it when a client needs to run the get pending no api previous values operation' just restates the name. No alternative tools are named and no exclusion conditions are given, despite many similar hgr_get_searchproduct_* siblings existing.

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

hgr_get_searchproduct_pricechangesGet Searchproduct PricechangesA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/SearchProduct/PriceChanges. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Reads the recorded selling price change history shown in HGRWeb for one listing variation. ownerAgent: listings. Domain: listings. Entity: listing_price_history. Operation: read_history. Scope: exact_variation. Use when: Use it when the user asks for price history, price changes, previous selling prices or a price timeline of an identified or attached store product. Current price in the product details is not its history. Input: Required query id: positive internal ListingVariationId, not the parent ListingId, supplier ProductSourceId or marketplace Product ID. Resolve the attached product's visible Product ID through Listing/GetListings in the selected channel; use the matching variation Id. If several variations match, resolve the requested variation rather than choosing one arbitrarily. Output: Returns History entries with Date, Value (channel selling price), Author and Why when recorded. A successful History: [] means no recorded price changes for that variation. success=false or a missing History is a failed lookup, not evidence of no history. Search terms: searchproduct pricechanges. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/non-destructive, but the description adds real semantics the annotations cannot: an empty History array means 'no recorded changes' while success=false or a missing History is a failed lookup, not evidence of no history. It also notes the channel/ChannelOAuthId header is resolved internally, which affects whether the agent must supply it.

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?

Well front-loaded with labeled Purpose/Use when/Input/Output sections, but the opening two sentences ('Dedicated HGRApi tool for GET...', 'not a generic endpoint caller') are boilerplate that add no decision value, and some content duplicates the output schema.

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

Completeness4/5

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

Covers what the tool returns, how to resolve the variation id via Listing/GetListings, how to handle multiple matching variations, and how to interpret empty versus failed results. The one hole is the absent 'id' parameter vs the schema's channelOAuthId, which leaves the actual call shape slightly ambiguous.

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% for the single channelOAuthId parameter, so the schema already carries the baseline. The description instead spends its input section on a required 'id' (ListingVariationId) that does not appear in the input schema at all, which is informative about disambiguation but creates a mismatch an agent must reconcile.

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

Purpose4/5

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

States a specific verb and resource ('Reads the recorded selling price change history ... for one listing variation') and scopes it to exact_variation, so the intent is unambiguous. It does not differentiate from the near-identical sibling hgr_get_listing_price_history, which is the main gap at this level.

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?

Explicit 'Use when' clause enumerates trigger phrasing (price history, price changes, previous selling prices, price timeline) and excludes a tempting alternative ('Current price in the product details is not its history'). It stops short of naming the overlapping sibling tool as an alternative to prefer in any case.

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

hgr_get_searchproduct_stockchangesGet Searchproduct StockchangesA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/SearchProduct/StockChanges. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Reads the recorded stock quantity change history shown in HGRWeb for one listing variation. ownerAgent: listings. Domain: listings. Entity: listing_stock_history. Operation: read_history. Scope: exact_variation. Use when: Use it when the user asks for stock history, stock changes, quantity changes, inventory history or an availability timeline of an identified or attached store product. Current stock in the product details is not its history. Input: Required query id: positive internal ListingVariationId, not the parent ListingId, supplier ProductSourceId or marketplace Product ID. Resolve the attached product's visible Product ID through Listing/GetListings in the selected channel; use the matching variation Id. If several variations match, resolve the requested variation rather than choosing one arbitrarily. Output: Returns History entries with Date, Value (channel stock quantity), Author and Why when recorded. A successful History: [] means no recorded stock changes for that variation. success=false or a missing History is a failed lookup, not evidence of no history. Search terms: searchproduct stockchanges. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real value beyond that: it specifies that an empty History array means "no recorded changes" whereas success=false or a missing History is a failed lookup — a distinction an agent would otherwise misread as "no history." It also discloses the resolution path (resolve Product ID via Listing/GetListings, then matching variation). Minor redundancy with the existing output schema.

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

Conciseness4/5

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

Well structured with labeled sections (Purpose, Use when, Input, Output, Search terms) and the key scope statement front-loaded. Slightly padded by the meta-openers ("Dedicated HGRApi tool for GET api/...", "it is not a generic endpoint caller"), which repeat information no agent needs to select the tool.

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

Completeness3/5

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

The output-schema burden is offloaded and the failure-versus-empty reporting contract is well covered. But the description's Input section describes a parameter set that does not match the one-property schema, so an agent following the description could try to supply a variation id that the tool rejects (additionalProperties: false). That mismatch undercuts completeness for a tool whose whole job is a single-key lookup.

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 the single parameter is channelOAuthId, but the description's "Input:" block documents a required variation id ("positive internal ListingVariationId, not the parent ListingId, supplier ProductSourceId or marketplace Product ID") that does not exist in the schema. It then says channelOAuthId is "resolved internally," which contradicts the schema marking it required and pointing to hgr_list_channels. This leaves the agent unsure which id to actually pass.

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

Purpose4/5

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

States a specific verb and resource with unusual precision: "Reads the recorded stock quantity change history shown in HGRWeb for one listing variation," plus an explicit endpoint binding. However, it never differentiates itself from the near-identical sibling hgr_get_listing_stock_history (or hgr_get_searchproduct_pricechanges for price history), which an agent could easily confuse with this tool.

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

Usage Guidelines4/5

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

Provides a genuine "Use when" clause enumerating concrete triggers (stock history, stock changes, quantity changes, inventory history, availability timeline) and an explicit exclusion ("Current stock in the product details is not its history"). What it lacks is forward routing to an alternative — no mention of when to prefer its stock-history siblings, so the agent must infer the boundary node selection.

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

hgr_get_source_configurationGet Source ConfigurationA
Read-onlyIdempotent
Inspect

Reads explicitly saved supplier settings for one visible store. This is settings data, not supplier availability or listing usage data. It must never be interpreted as an enabled, disabled or suspended supplier state. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, and the description still adds value by disclosing that the HGRApi header channel / ChannelOAuthId is resolved internally and that the returned settings must not be conflated with supplier state. The main remaining gap is any note on what happens when no settings were ever saved for the store.

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?

Purpose is front-loaded in the first sentence, which is good. But the next three sentences all restate the same warning in slightly different words (not availability, not usage, never an enabled/disabled state); one consolidated caveat would carry the same guardrail with less bulk.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the description covers scope, auth resolution, and the key semantic trap. For a single-parameter read tool this is nearly sufficient; only the behavior when no configuration is saved is unaddressed.

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 single parameter's description already points to hgr_list_channels as its source, so the schema carries the load. The description only reinforces scope ('one visible store') and mentions ChannelOAuthId resolution, adding no syntax or format detail beyond structured fields — 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?

States a specific verb+resource: reads explicitly saved supplier configuration for one store, and sharpens the boundary by excluding supplier availability and listing usage data. The word 'explicitly saved' implicitly separates it from computed-settings siblings, but no sibling is named outright, so an agent must still infer the routing against hgr_get_computed_source_configuration and hgr_get_sources.

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?

Gives strong negative guidance — this is not availability data, not usage data, and must never be read as an enabled/disabled/suspended supplier state. That is real when-not guidance. It stops short of naming the alternative tool an agent should call instead when it actually wants availability or computed settings.

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

hgr_get_sourcesGet SourcesA
Read-onlyIdempotent
Inspect

Lists current sources/suppliers from WAPI for one visible store/channel, optionally filtered by visible countryCode. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
countryCodeNoOptional visible country code, for example UK, US, ES, FR, DE, AU or IT.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety bar is low. The description still adds meaningful context beyond them: results are limited to 'visible' stores and countryCodes (permission-scoped visibility), and the HGRApi header/channel is resolved internally so the caller need not supply it.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action and scope, followed by the optional filter and auth prerequisite. No redundant or filler text.

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

Completeness4/5

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

For a two-parameter read tool with a fully documented schema and an output schema that covers return values, the description supplies enough to call it correctly, including the auth prerequisite and visibility scoping. The only real omission is disambiguation from the other hgr_get_sources* variants.

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%, so both parameters are already documented in the schema with an example country list and the channelOAuthId provenance. The description restates rather than extends this, adding no format or edge-case detail beyond what the schema gives.

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

Purpose4/5

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

States a specific verb and resource ('Lists current sources/suppliers from WAPI') plus its scope ('for one visible store/channel'), so the operation is unambiguous. It does not, however, distinguish itself from closely named siblings such as hgr_get_sources_get, hgr_get_sources_getpublic, hgr_get_sources_goout, or hgr_get_source_configuration, which an agent must guess between.

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?

Implies usage by naming the prerequisite 'channelOAuthId returned by hgr_list_channels' and by noting countryCode is an optional filter, which gives a usable call sequence. It never says when to pick this over the near-identical hgr_get_sources_* siblings, and offers no exclusions or conditions.

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

hgr_get_sources_getGet Sources GetA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Sources/Get. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Lists supplier/source marketplaces available to the user and the current channel. ownerAgent: catalog-sources. supportingAgents: listings. Domain: sources. Entity: supplier_source. Operation: list. Scope: current_store. Use when: Use it to build supplier selectors, map sourceId values to visible names, resolve suppliers for a catalog search, or verify whether a supplier supports publication and Auto Ordering for the selected store and country. Use actual returned supplier IDs when a catalog search specifies a supplier; do not invent IDs. Input: [FromQuery] isoCountry: int?. Header channel: current ChannelOAuthId. If isoCountry is not sent, use the selected channel country. Output: Returns sources/suppliers with Id, Name, BaseUrl, Site, publication permissions, HasAutoOrder, AutoOrderingFee and other visible metadata. Search terms: sources get. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
isoCountryNoHGRApi query parameter isoCountry.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuine context beyond that: the channel/ChannelOAuthId is resolved internally, isoCountry falls back to the selected channel country, and there is an explicit warning not to invent supplier IDs. It does not disclose pagination, caching, or failure behavior for an open-world call.

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?

Purpose, usage and input/output are front-loaded and useful, but the block is padded with catalog metadata that adds no invocation value (ownerAgent, supportingAgents, Domain, Entity, Operation, Scope, 'Search terms: sources get'). The opening sentence about being 'an explicit tool with a fixed endpoint' restates the tool name rather than informing the caller.

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

Completeness4/5

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

With an output schema present the description needn't enumerate return fields, yet it still summarizes them (Id, Name, BaseUrl, Site, publication permissions, HasAutoOrder, AutoOrderingFee), and it covers the input fallback and the ID-validity warning. The one real gap is that it never explains how it relates to its three sibling sources tools, which is the most likely source of mis-selection.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, and the description earns above that by giving the actual fallback rule for isoCountry ('if not sent, use the selected channel country') rather than just restating the type. It also frames channelOAuthId as the channel selector resolved internally, reinforcing the schema's own note that it comes from hgr_list_channels.

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

Purpose4/5

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

The description names a concrete verb and resource ('Lists supplier/source marketplaces available to the user and the current channel') and scopes it to the current store, so the agent knows what it returns. However, it never differentiates itself from the near-identical siblings hgr_get_sources, hgr_get_sources_getpublic and hgr_get_sources_goout; 'Dedicated HGRApi tool for GET api/Sources/Get' merely restates the endpoint and does no discriminating work.

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 'Use when' block gives four concrete scenarios (building supplier selectors, mapping sourceId to names, resolving suppliers for catalog search, verifying publication/Auto Ordering support) which is clear positive guidance. It supplies no exclusions or 'use X instead' routing, which matters given four similarly named sources tools in the sibling list.

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

hgr_get_sources_getpublicGet Sources GetpublicA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Sources/GetPublic. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Lists visible supplier/source marketplaces and their capabilities for a requested country without requiring a selected channel. ownerAgent: catalog-sources. supportingAgents: account-metrics, orders-autoordering, support. Domain: sources. Entity: supplier_source. Operation: list. Scope: country_catalog. AllowedIntents: supplier_capabilities. Use when: Use it for general commercial or pre-sales questions about suppliers available in a country, publication methods, Auto Ordering support, or the configured Auto Ordering fee when no authenticated store context is required. SearchTerms: suppliers available by country, supplier capabilities by country, Amazon Italy Auto Ordering, Amazon.it Auto Ordering, supplier Auto Ordering fee, supported suppliers in Italy. NegativeUseCases: Do not use it to claim that a supplier account is configured for the current user; Do not use it to list private suppliers belonging to the authenticated user. Input: Required [FromQuery] isoCountry: string. Use the two-letter HGR country code inferred from the marketplace or country named by the user, such as IT for Italy. Output: Returns visible sources/suppliers for the country with Id, Name, BaseUrl, Site, publication permissions, HasAutoOrder and AutoOrderingFee. Search terms: sources getpublic.

NameRequiredDescriptionDefault
isoCountryYesHGRApi query parameter isoCountry.

Output Schema

NameRequiredDescription

No output parameters

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, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuine context beyond that: the call requires no authenticated store context and works without a selected channel, and it returns visible sources with publication permissions, HasAutoOrder and AutoOrderingFee. It does not explain pagination or result-size behavior, keeping it below the top mark.

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 purpose and usage constraints are front-loaded, but the text carries internal metadata (ownerAgent, supportingAgents, Domain, Entity, Operation, Scope, AllowedIntents) and a duplicated trailing "Search terms: sources getpublic" that do little for an invoking agent. It is informative but noticeably padded rather than tightly written.

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

Completeness4/5

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

For a single-parameter read tool with full annotation coverage and an output schema, the description covers purpose, selection conditions, exclusions, country-code format and observable results. It is complete enough to invoke correctly; the only remaining gap is pagination or result-set size behavior, which is minor given the output schema exists.

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 schema itself only says "HGRApi query parameter isoCountry", so the description meaningfully compensates: it specifies that the value is a two-letter HGR country code inferred from the marketplace or country named by the user, with IT for Italy as a concrete example. The parameter is effectively enum-less, so this disambiguation of format and derivation adds real value.

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

Purpose4/5

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

The description states a specific verb and resource: lists visible supplier/source marketplaces and their capabilities for a requested country. It also distinguishes itself from generic callers ("This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller"), though it never explicitly contrasts with the nearby siblings like hgr_get_sources, hgr_get_sources_get or hgr_get_catalog_getproductsource, so the differentiation is only partial.

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

Usage Guidelines5/5

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

It provides an explicit "Use when" block covering commercial and pre-sales questions about suppliers, publication methods and Auto Ordering fees, plus a "NegativeUseCases" block that excludes claiming a supplier account is configured for the current user or listing private suppliers. The conditions that select this tool over alternatives are spelled out rather than left to inference.

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

hgr_get_sources_gooutGet Sources GooutC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Sources/GoOut. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET go out operation in source/supplier reading. Use when: Use it when a client needs to run the go out operation for source/supplier reading. Input: [FromQuery] sourceUrl: string. [FromQuery] isoCountry: int?. [FromQuery] channelListingId: int?. Output: Returns the result or applies the effect of the go out operation. Search terms: sources goout. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
sourceUrlYesHGRApi query parameter sourceUrl.
isoCountryNoHGRApi query parameter isoCountry.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
channelListingIdNoHGRApi query parameter channelListingId.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered; the description adds real context by naming the required HGRApi header channel / ChannelOAuthId. It also flags the endpoint is fixed, which bounds the tool's behavior. The statement that ChannelOAuthId is 'resolved internally' sits oddly against a schema that makes it a required parameter, leaving the auth model slightly ambiguous.

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

Conciseness3/5

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

The Purpose/Use when/Input/Output/Search terms structure is front-loaded and easy to scan, but the second sentence ('explicit tool with a fixed endpoint; it is not a generic endpoint caller') and the 'Search terms' line are filler that adds no information an agent can act on.

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?

An output schema exists, so return values need not be described, and the parameters are fully covered by the schema. However, for a tool whose name is opaque jargon, the description never explains what the 'go out' operation actually accomplishes, when the result would differ from the plain hgr_get_sources call, or what the empty/error cases look like — the essential piece of context is missing.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all four parameters and the baseline is 3. The description's 'Input:' line enumerates only the three query parameters and omits channelOAuthId, the very parameter it claims is 'resolved internally' — it adds no semantics beyond what the schema provides and slightly muddies the required-parameter story.

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 identifies the verb and endpoint (GET api/Sources/GoOut) and scopes it to 'source/supplier reading', but the core concept 'go out' is never explained, so an agent cannot tell what distinguishes this from hgr_get_sources, hgr_get_sources_get, or hgr_get_sources_getpublic. It also spends a sentence ruling out a nonexistent confusion ('not a generic endpoint caller') instead of differentiating from its actual siblings.

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

Usage Guidelines2/5

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

The 'Use when' clause is circular: 'Use it when a client needs to run the go out operation' restates the tool name rather than giving a selecting condition. No alternative tools are named, no prerequisites are stated, and no exclusions are given despite three closely named sibling tools that would be natural alternatives.

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

hgr_get_subscription_summaryGet Subscription SummaryA
Read-onlyIdempotent
Inspect

Reads the visible current subscription/quota summary. It never creates, changes or cancels subscriptions.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered by structured data. The sentence 'never creates, changes or cancels subscriptions' largely restates readOnlyHint rather than adding new context; only the 'visible' scoping nuance adds anything.

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?

Two short sentences, front-loaded with the verb and resource. The second sentence is somewhat redundant with the readOnlyHint annotation but is brief enough not to be wasteful.

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

Completeness4/5

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

With an output schema present, the description need not explain return values, and zero parameters remove input ambiguity. Annotations cover the safety profile, so the definition is broadly complete, though it could say what the summary contains (quota limits vs. usage) for extra confidence.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to compensate for. No parameter semantics are needed or missing.

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

Purpose4/5

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

States a clear verb ('Reads') and resource ('visible current subscription/quota summary'), which distinguishes it from the mutating subscription-adjacent siblings like hgr_create_ai_publisher_agent or hgr_get_user_gettokenbalance. The word 'visible' is slightly ambiguous but the resource is specific enough to route on.

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

Usage Guidelines3/5

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

Usage is only implied by the verb 'Reads' and the resource name; there is no explicit statement of when to prefer this over neighbouring account/quota tools such as hgr_get_user_gettokenbalance or hgr_get_products_subscriptions_get. No exclusions or prerequisites are given.

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

hgr_get_support_ticketGet Support TicketA
Read-onlyIdempotent
Inspect

Reads one support ticket by its visible ticket id/reference.

NameRequiredDescriptionDefault
ticketIdYesVisible support ticket id/reference.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds only the 'visible id/reference' qualifier (versus internal ids), and says nothing about not-found behavior or permissions; with annotations doing the heavy lifting, this is adequate but thin.

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

Conciseness4/5

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

One short sentence with the resource and lookup key front-loaded and no filler. It is efficient, though it leaves obvious room for a routing clause given the crowded sibling set.

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

Completeness4/5

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

With one required parameter, full schema coverage, an output schema, and complete annotations, the description covers what an agent needs to invoke it correctly. Only error/not-found behavior is unaddressed, which is minor.

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 single parameter is already documented as 'Visible support ticket id/reference', which the description repeats rather than extends. Baseline 3 applies since the schema carries the semantics.

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

Purpose4/5

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

States a specific verb and resource ('Reads one support ticket') and bounds the scope to a single record via 'by its visible ticket id/reference'. It implicitly separates itself from hgr_list_support_tickets and hgr_reply_support_ticket, but never names an alternative, so sibling differentiation is left to inference.

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

Usage Guidelines3/5

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

Usage is only implied: 'reads one' suggests it is for retrieving a known ticket rather than enumerating them. There is no explicit statement of when to prefer this over hgr_list_support_tickets or when the id lookup will fail.

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

hgr_get_terminated_listingsGet Terminated ListingsA
Read-onlyIdempotent
Inspect

Lists terminated listings for one visible store. First resolve the store with hgr_list_channels, then call this tool using channelOAuthId from the selected store. Supports fields, sortBy, sortDirection, limit and pagination declared by HGRApi. Terminated listings do not expose price or stock fields. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
pageNoOne-based page number.
limitNoMaximum number of rows to return. HGRApi maximum is 10000.
fieldsNoFields to return. Use projection for compact answers.
offsetNoZero-based row offset.
sortByNoField used to sort before limit/pagination.
sortDirectionNoSort direction.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare this as a safe read-only, idempotent, non-destructive operation, and the description adds useful context beyond that: terminated listings omit price and stock fields, and it notes the HGRApi header/channel requirement. It does not cover rate limits or response shape, but those are less critical given the output schema 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 front-loaded with the purpose and is reasonably sized. The sentences about supported parameters and HGRApi header resolution are slightly technical and could be tighter, but they still provide useful information.

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

Completeness5/5

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

Given the output schema and full input-schema coverage, the description includes the key operational details an agent needs: purpose, prerequisite lookup, required channelOAuthId, supported projection and pagination controls, the absence of price/stock fields, and auth handling.

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 seven parameters are already documented in the input schema. The description mentions fields, sortBy, sortDirection, limit and pagination, but it mostly restates capabilities rather than adding syntax or constraints beyond the schema.

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

Purpose4/5

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

The description states a specific verb and resource: it lists terminated listings scoped to one visible store, and it names the required identifier. It is clear what the tool returns, but it does not explicitly contrast itself with sibling tools such as hgr_get_active_listings or hgr_get_pending_listings.

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

Usage Guidelines4/5

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

It gives a clear prerequisite workflow: resolve the store with hgr_list_channels first, then call this tool with channelOAuthId. It does not provide explicit when-not guidance or name sibling alternatives for non-terminated listing queries.

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

hgr_get_user_gettokenbalanceGet User GettokenbalanceC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET Api/User/GetTokenBalance. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get token balance operation in visible user data. Use when: Use it when a client needs to run the get token balance operation for visible user data. Input: No explicit input parameters required. Output: Returns the result or applies the effect of the get token balance operation. Search terms: user gettokenbalance.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

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, destructiveHint=false and openWorldHint, so the safety profile is covered structurally. The description's only extras—'fixed endpoint, not a generic endpoint caller' and 'no explicit input parameters'—are thin, and phrases like 'returns the result or applies the effect' disclose nothing about auth, rate limits, or what the balance represents.

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 padded with boilerplate: the 'not a generic endpoint caller' disclaimer, a 'Search terms' trailer, and section labels whose contents repeat each other ('get token balance operation for visible user data' appears three times). The useful content could fit in one sentence, so the signal-to-noise ratio is poor.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the read-only/no-param nature of the call is fully covered. What remains missing is the domain meaning of 'token balance' and its relationship to the token-history sibling—context an agent needs to pick this tool confidently.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4; the description correctly states 'No explicit input parameters required', which is consistent with the empty schema. There is nothing further it could add on parameter semantics.

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

Purpose3/5

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

The description names a specific verb and resource ('GET Api/User/GetTokenBalance') and scopes it to 'visible user data', so the basic operation is identifiable. However, it never clarifies what a 'token balance' is or how it differs from the closest sibling hgr_get_user_gettokenhistory, leaving the agent to infer the distinction from names 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 'Use when' clause merely restates the purpose ('when a client needs to run the get token balance operation'), adding no decision criteria. There is no mention of when not to use it, no prerequisites, and no pointer to the sibling gettokenhistory tool that an agent would reasonably confuse it with.

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

hgr_get_user_gettokenhistoryGet User GettokenhistoryA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET Api/User/GetTokenHistory. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Returns the authenticated user's token usage history. ownerAgent: account-metrics. Domain: account_tokens. Entity: token_history. Operation: list. Scope: authenticated_user. Use when: Use it when the authenticated user needs to review token charges, credits, awards, paid token entries or AI action usage history. Input: No body. Uses the authenticated user id from Authorization. No Header channel / ChannelOAuthId required. Not admin-only. Output: Returns history items with ReferenceType, Title, TokenAmount, UpdatedOn and ActionTypes. Search terms: user gettokenhistory.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, and the description adds real context beyond them: no request body, identity taken from Authorization, no Channel/ChannelOAuthId header needed, and not admin-only. It does not discuss result size or pagination limits.

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?

Purpose and usage are front-loaded, but the opening two sentences about being an "explicit tool with a fixed endpoint… not a generic endpoint caller" are filler, and the labeled metadata block (ownerAgent, Domain, Entity, Operation, Scope) is verbose for what it conveys.

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

Completeness4/5

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

An output schema exists and the description restates its fields (ReferenceType, Title, TokenAmount, UpdatedOn, ActionTypes) redundantly, but nothing an agent needs to invoke this zero-arg read correctly is missing.

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

Parameters4/5

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

Zero parameters, so the baseline is 4; the description correctly reinforces that no body or header inputs are required and that the user id is implicit from auth.

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

Purpose5/5

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

States a specific verb and resource ("Returns the authenticated user's token usage history") plus entity/operation/scope metadata, so the agent can tell it apart from the nearest sibling, hgr_get_user_gettokenbalance, without opening a schema.

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

Usage Guidelines4/5

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

The "Use when:" clause names concrete scenarios (token charges, credits, awards, paid entries, AI action usage). It does not explicitly name the sibling to use instead for current balance, so differentiation is implied rather than stated.

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

hgr_get_virtual_assistantsGet Virtual AssistantsB
Read-onlyIdempotent
Inspect

Lists Virtual Assistant / VA profiles. Prefer names in user-facing responses.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile needs no restating. The description adds one piece of non-schema context — to surface VA names rather than identifiers in user-facing text — but says nothing about whether the list is paginated, complete, or scoped to the authenticated account (openWorldHint suggests it may not be).

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?

Two short sentences with the core purpose front-loaded and no filler. The second sentence is a display convention that is genuinely actionable, though its phrasing ('Prefer names') is slightly oblique.

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

Completeness4/5

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

With no parameters and a declared output schema, most of the burden is already carried by structured data, so the description only needs to identify the resource and its read-only nature — which it does. A brief note on account scoping or result size would close the remaining gap.

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

Parameters4/5

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

The tool takes zero parameters and the schema is closed (additionalProperties: false), so there is no parameter semantics to explain; the baseline of 4 applies.

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

Purpose4/5

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

States a specific verb ('Lists') and resource ('Virtual Assistant / VA profiles'), and the 'VA' alias helps disambiguate terminology. It is clearly distinct from hgr_add_virtual_assistant and hgr_update_virtual_assistant, though the description never explicitly contrasts with those write siblings.

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

Usage Guidelines2/5

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

No guidance on when to call this versus the add/update VA siblings, no prerequisites, no note about result size. 'Prefer names in user-facing responses' is a formatting preference for the agent's output, not a condition for invoking the tool.

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

hgr_get_winning_get_idGet Winning Get IDC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Winning/Get/{id}. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET get operation in winning product generation reading. Use when: Use it when a client needs to run the get operation for winning product generation reading. Input: [FromRoute] id: int. Output: Returns the result or applies the effect of the get operation. Search terms: winning get id.

NameRequiredDescriptionDefault
idYesHGRApi route parameter id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world. The only extra signal is 'fixed endpoint; it is not a generic endpoint caller,' which is marginal. Nothing about auth, error behavior, or what data class 'winning' retrieves is disclosed.

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

Conciseness2/5

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

Padded with repeated boilerplate ('Dedicated HGRApi tool', 'explicit tool with a fixed endpoint', 'functional documentation', 'Search terms'). Most sentences rephrase the same non-information, and the useful facts are not front-loaded.

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

Completeness2/5

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

An output schema exists so return-shape detail is unnecessary, but the description still fails to say what entity a winning record is or when to prefer this over hgr_get_winning_list. For a lookup tool in a very large sibling set, that gap matters.

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 there is a single required id parameter, so the baseline is 3. The description's '[FromRoute] id: int' adds route-binding context but conflicts with the schema's string type, which is unhelpful rather than illuminating.

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 restates the name and endpoint ('GET api/Winning/Get/{id}') but never explains what a 'winning get' actually returns or how it differs from the sibling hgr_get_winning_list. 'Provides the GET get operation in winning product generation reading' is circular and adds no real meaning beyond the title.

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 'Use when' line is pure tautology: 'Use it when a client needs to run the get operation.' No alternatives, prerequisites, or context distinguishing it from hgr_get_winning_list or the dozens of other hgr_get_* tools are given.

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

hgr_get_winning_listGet Winning ListC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for GET api/Winning/List. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the GET list operation in winning product generation reading. Use when: Use it when a client needs to run the list operation for winning product generation reading. Input: No explicit input parameters required. Output: Returns the result or applies the effect of the list operation. Search terms: winning list.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, and an output schema exists, so the description needs to add little – yet it adds almost nothing. 'Output: Returns the result or applies the effect of the list operation' is generic filler that conveys no real behavior beyond what the structured fields provide.

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

Conciseness3/5

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

The text is short but padded with boilerplate ('Dedicated HGRApi tool for...', 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') and then repeats the same idea in the Purpose and Use-when lines. The 'Search terms: winning list' tail is low value for a zero-param GET.

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

Completeness3/5

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

For a no-param read with annotations and an output schema, safety and return shape are already covered. What is missing is domain grounding: what a 'winning' record is and what the list returns, which is exactly the information the structured fields cannot supply.

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

Parameters4/5

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

With zero parameters the baseline is 4, and the description correctly confirms 'No explicit input parameters required', matching the empty schema. Nothing more can be said about parameters here.

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

Purpose3/5

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

The description names a fixed endpoint (GET api/Winning/List) and a domain ('winning product generation reading'), so the agent knows it retrieves some kind of winning-products list. But 'provides the GET list operation' largely restates the name, and nothing distinguishes it from the sibling hgr_get_winning_get_id or explains what the list actually contains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' line is circular: 'Use it when a client needs to run the list operation' repeats the purpose without adding a decision criterion. No alternative tool is named and no condition for choosing this over hgr_get_winning_get_id is given.

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

hgr_list_channelsList ChannelsA
Read-onlyIdempotent
Inspect

Lists the user's connected stores/channels with channelOAuthId, store name, marketplace, country and connection status. Use channelOAuthId from this response for store-scoped endpoint tools.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

The annotations already declare this as a safe, read-only, idempotent, open-world listing operation, so the description does not need to restate safety. It adds the returned fields and the downstream use of channelOAuthId, but says nothing about pagination, authorization scope, or whether disconnected channels are included — details that would matter for a listing tool.

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

Conciseness5/5

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

Two sentences, front-loaded with the purpose and followed by the operational cue. Every sentence earns its place with no repetition 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?

With no input parameters, an output schema, and rich annotations, the description supplies the key operational context: what is listed, what fields come back, and how channelOAuthId is used downstream. It is nearly complete, though a brief note on scope (all connected channels, including disconnected ones?) would remove the last ambiguity.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description appropriately does not invent parameter guidance, and there are no parameters for the schema or description to explain.

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

Purpose4/5

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

The description uses a specific verb and resource ('Lists the user's connected stores/channels') and enumerates the returned fields, so an agent knows exactly what it retrieves. It does not explicitly distinguish itself from potentially overlapping siblings such as hgr_get_sources or hgr_get_channel_configuration, which keeps it from a 5.

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

Usage Guidelines3/5

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

It gives one useful workflow cue — use channelOAuthId from this response for store-scoped endpoint tools — which implies this is a discovery call. However, it never states when to choose this over alternatives like hgr_get_sources or hgr_get_channel_configuration, and gives no exclusions or prerequisites.

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

hgr_list_pending_nowList Pending NowB
Destructive
Inspect

Publishes one pending listing immediately by its visible pending listing id. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
productIdNoVisible marketplace Product Id / primary id. Prefer this for active or terminated listings.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
pendingListingIdNoVisible pending listing id, only for pending listings where HGRWeb shows this id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the irreversible-publish profile is partly covered before the description starts. The description still adds real value by saying the action is immediate and requires explicit user confirmation, but it omits what happens on partial failure, whether the listing is rolled back, and any rate/eligibility limits. The clause 'ChannelOAuthId resolved internally' is also ambiguous against a schema that marks channelOAuthId required.

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

Conciseness4/5

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

Two short sentences with the action front-loaded and no filler. The trailing 'Requires HGRApi Header channel / ChannelOAuthId resolved internally' clause is jargon that costs more parsing effort than it returns, but the description is otherwise tight.

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?

This is a destructive, non-idempotent publish action in a crowded field of publish/list-now siblings, and the description does not say how to pick it or what the visible outcome is. An output schema exists so return values needn't be explained, but the agent is left without the selection context this tool most needs.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains confirmed, productId, channelOAuthId and pendingListingId, and the description's baseline is 3. It reinforces the pendingListingId-vs-productId targeting choice, but the phrase 'ChannelOAuthId resolved internally' risks misleading an agent into omitting a required parameter rather than adding clarity.

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

Purpose4/5

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

The description gives a specific verb and resource: 'Publishes one pending listing immediately by its visible pending listing id.' That is unambiguous about what the call does, and it even contrasts with the tool's own name (hgr_list_pending_now / 'List Pending Now'), which suggests a read operation. It does not, however, distinguish this from the many sibling publish paths (hgr_post_searchproduct_listnow, hgr_post_ai_publishnow, hgr_post_listingcreate_submit).

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

Usage Guidelines2/5

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

The only guidance is a precondition ('Requires confirmed=true'), which is really a parameter rule restated. There is no statement of when to choose this over the sibling publish/list-now tools, no exclusion, and no mention of which listing states are eligible beyond 'pending'.

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

hgr_list_support_ticketsList Support TicketsA
Read-onlyIdempotent
Inspect

Lists support tickets for the authenticated user.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds one piece of real context — the result set is limited to the authenticated user's tickets, not all tickets — but says nothing about ordering, pagination, or ticket states.

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?

A single front-loaded sentence with no filler. It is appropriately sized for a zero-parameter list call, though the brevity shades into under-specification rather than maximizing information density.

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

Completeness3/5

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

With an output schema present and rich annotations, the definition needn't describe return values, and it does communicate the user scoping. What is missing is anything about volume, ordering, or whether the list is bounded — relevant for a list tool in a large sibling set where an agent may need to page or narrow.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to explain; per the rubric this is the baseline 4. The description correctly adds no parameter prose, avoiding noise.

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

Purpose4/5

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

States a specific verb and resource ("Lists support tickets") plus the scope ("for the authenticated user"), so the agent knows this is a collection read rather than a single-ticket fetch like hgr_get_support_ticket. It stops short of explicitly naming that sibling as the single-ticket alternative.

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

Usage Guidelines3/5

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

Usage is only implied: a list operation scoped to the current user, with hgr_create_support_ticket and hgr_reply_support_ticket nearby in the sibling set as the obvious write-side alternatives. There is no explicit when-to-use-this-vs-get_support_ticket statement, nor any note on result volume or paging.

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

hgr_list_templatesList TemplatesA
Read-onlyIdempotent
Inspect

Lists listing templates for one visible store/channel. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world, non-destructive behavior. The description adds useful context about the required HGRApi header/channel and visible store/channel scoping, though it does not clarify return format or pagination (which is acceptable since an output schema 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?

Two sentences, front-loaded with the primary operation and followed by the key requirement. There is no unnecessary text.

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

Completeness4/5

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

For a simple read operation with annotations, a complete input schema, and an output schema, the description covers purpose, scope, and auth context. It could be slightly more complete by pointing to related template tools, but nothing critical for invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already explains that channelOAuthId comes from hgr_list_channels. The description reinforces the one-visible-store/channel constraint but does not add parameter syntax or usage detail beyond the schema; baseline 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 gives a specific verb and resource: 'Lists listing templates' for one visible store/channel. This clearly distinguishes it from siblings such as hgr_update_template, hgr_make_default_template, and hgr_list_channels.

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 establishes the scope as one visible store/channel and notes the required channel/OAuth context. It does not explicitly name alternative tools or when-not conditions, but the intended usage context is clear.

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

hgr_load_business_policiesLoad Business PoliciesB
Read-onlyIdempotent
Inspect

Loads marketplace business policies for one visible store. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is carried by structured data. The description adds only a terse note about the HGR API header and 'ChannelOAuthId resolved internally', which is thin and arguably confuses rather than clarifies how identification works.

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?

Two short sentences, front-loaded with the purpose. The second sentence is dense and slightly ambiguous but not padded.

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

Completeness3/5

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

An output schema exists and the single parameter is fully documented in the schema, so the description's remaining job is to route and disambiguate. It leaves the refresh-vs-load distinction unexplained and the 'resolved internally' clause unresolved against the required parameter.

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 parameter description already points to hgr_list_channels for obtaining the value. The description's phrase 'ChannelOAuthId resolved internally' does not add usable meaning and sits slightly at odds with the schema's required channelOAuthId, but it does not override 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?

States a specific verb and resource ('Loads marketplace business policies') plus a scope constraint ('one visible store'). It does not, however, distinguish itself from the sibling hgr_refresh_business_policies, which an agent could easily confuse with it.

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 'one visible store' scoping and the reference to hgr_list_channels imply how to obtain the identifier, but there is no explicit when-to-use guidance and no statement of when to prefer it over hgr_refresh_business_policies.

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

hgr_load_order_addressesLoad Order AddressesA
Read-onlyIdempotent
Inspect

Loads available shipping addresses for an order resolved from visible order Reference. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description usefully adds that the channel is resolved internally from the header rather than passed explicitly, but says nothing about failure modes or whether results are cached/limited.

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?

Two compact sentences with the action front-loaded and no filler. The second sentence ('Requires HGRApi Header channel / ChannelOAuthId resolved internally') is terse to the point of being slightly ambiguous about what the caller must supply.

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

Completeness4/5

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

For a two-parameter read tool with a full output schema and complete annotations, the description covers purpose, input scoping and the auth/channel requirement. Only the relationship to the overlapping address siblings is unaddressed.

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 already documented; the description only reinforces that 'reference' must be a visible order reference and that channelOAuthId comes from hgr_list_channels. Baseline 3 is appropriate since the schema carries the parameter detail.

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

Purpose4/5

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

Specific verb+resource (loads available shipping addresses) plus the scoping detail that the order is resolved from a visible reference. It does not distinguish itself from near-siblings like hgr_load_shipping_options or hgr_post_sales_loadaddressesfromorderline, so an agent still has to guess between them.

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

Usage Guidelines3/5

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

Implies the context (an order in the sales/shipping flow) and states a prerequisite (channel / ChannelOAuthId requirement), but never says when to pick this over the address-related siblings or what happens when the reference is not found.

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

hgr_load_order_progressLoad Order ProgressB
Read-onlyIdempotent
Inspect

Reads progress for an order resolved from visible order Reference. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description contributes the auth/channel prerequisite ('Requires HGRApi Header channel'), which is genuine added context, but omits failure behavior (e.g., what happens when the reference is not visible to the caller) and result characteristics.

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

Conciseness4/5

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

Two short sentences with the core purpose front-loaded and no filler. The second sentence is dense but carries the auth prerequisite, so it earns its place; a small deduction for its compressed, slightly ambiguous phrasing.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and both parameters are fully documented in schema. What is missing is sibling disambiguation against hgr_post_sales_loadprogress and any note on error/empty behavior when the referenced order is not visible, leaving an agent with a plausible but not fully resolved choice.

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 structurally and the baseline is 3. The description adds only marginal meaning over the schema, and the phrase 'ChannelOAuthId resolved internally' sits awkwardly against a schema where channelOAuthId is a required, caller-supplied integer, creating mild ambiguity rather than clarifying 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?

States a specific verb and resource ('Reads progress for an order') plus a scoping qualifier ('resolved from visible order Reference'), so an agent understands what it retrieves. However, it does not distinguish itself from the closely named sibling hgr_post_sales_loadprogress, leaving ambiguity about which 'load progress' endpoint to choose.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named despite an obvious overlapping sibling (hgr_post_sales_loadprogress). The only usage-adjacent content is a prerequisite statement about the HGRApi header channel, which is stated tersely and without explaining caller action.

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

hgr_load_shipping_optionsLoad Shipping OptionsA
Read-onlyIdempotent
Inspect

Loads marketplace shipping options for one visible store. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds useful context that the HGRApi channel header is resolved internally, but it does not describe what the shipping options contain or how they relate to later shipping-address/dispatch calls. The 'ChannelOAuthId resolved internally' phrase also sits awkwardly next to a required, caller-supplied channelOAuthId parameter, which could confuse an agent.

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?

Two short sentences, front-loaded with the action and resource. The second sentence is terse to the point of being cryptic ('HGRApi Header channel'), but nothing is redundant.

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?

A read-only single-parameter tool with annotations and an output schema carries most of its own weight, so the description needn't explain return values. It is nearly complete but omits any pointer to what the loaded options are for (e.g. selecting shipping on an order), which would help an agent chain it.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter is documented as coming from hgr_list_channels, so the schema does the work. The description adds little beyond repeating the channel notion, and its 'resolved internally' wording mildly undercuts rather than clarifies the parameter's origin.

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

Purpose4/5

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

The description states a specific verb and resource ('Loads marketplace shipping options') and constrains scope to 'one visible store'. It does not name or contrast with any sibling (e.g. hgr_load_business_policies, hgr_set_shipping_address), so the agent must infer the boundary from the name alone.

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

Usage Guidelines3/5

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

'for one visible store' implies the per-store context, and the channelOAuthId hint connects it to hgr_list_channels, but the description never states when to call this instead of related shipping/listing tools, nor any prerequisites or exclusions. Usage is implied rather than stated.

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

hgr_make_default_templateMake Default TemplateA
Destructive
Inspect

Marks a listing template as default for one visible store/channel. Requires HGRApi Header channel / ChannelOAuthId resolved internally, confirmed=true and impactConfirmed=true because templates can affect publishing flows.

NameRequiredDescriptionDefault
bodyYesWAPI MakeDefaultRequest body: templateId.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the description does not need to re-establish that this is a mutation. It adds useful context by explaining that templates can affect publishing flows and by calling out the confirmation requirements tied to that impact. It stops short of explaining replacement behavior for an existing default or other operational details.

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

Conciseness5/5

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

The description is two sentences, front-loads the core action and scope, and then states the confirmation requirements and their rationale. There is no redundant filler or unnecessary background.

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 destructive mutation with rich annotations, a complete schema, and an output schema, the description supplies the key context an agent needs: scope, confirmation gates, and publishing-flow impact. It could be slightly fuller by explicitly noting that making a template default replaces the existing default, but the current text is largely sufficient.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents each parameter. The description reinforces the rationale for confirmed and impactConfirmed and mentions ChannelOAuthId resolution, but it does not add much parameter meaning beyond what the schema provides.

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

Purpose4/5

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

The description states a specific verb and resource: it 'Marks a listing template as default' and scopes this to 'one visible store/channel'. That is clear enough for an agent to identify the operation, though it does not explicitly distinguish it from sibling tools such as hgr_update_template.

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 prerequisite context by requiring confirmed=true and impactConfirmed=true because templates can affect publishing flows. However, it does not say when to use this tool versus alternatives like hgr_update_template or hgr_list_templates, and it provides no exclusions or alternative-routing guidance.

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

hgr_manually_dispatch_order_linesManually Dispatch Order LinesA
Destructive
Inspect

Marks orders resolved from visible order Reference as manually dispatched. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already disclose destructive=true, openWorld=true, and idempotent=false, so the main safety profile is covered. The description adds that confirmation is mandatory and channel context is resolved internally, but it does not explain reversibility or exact side effects beyond marking orders dispatched.

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?

Three short sentences with the action front-loaded and no filler. The phrasing is slightly awkward around 'resolved from visible order Reference' but remains appropriately sized.

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

Completeness4/5

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

An output schema exists and annotations cover the destructive mutation profile, so the description need not explain return values or safety. It is nearly complete for invocation, with the main missing piece being sibling routing guidance.

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 reinforces the confirmed requirement and the reference/channel context, but adds little parameter syntax or meaning beyond what the schema already documents.

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

Purpose4/5

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

States a specific verb (marks) and resource (orders resolved from visible order Reference) with the resulting state (manually dispatched). It is clear enough to distinguish from generic processing, though it does not explicitly name nearby siblings such as mark-as-dispatched or force-process.

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 prerequisites (confirmed=true, channelOAuthId resolution) but does not explain when to choose this over hgr_post_sales_markasdispatched, hgr_process_order_lines, or hgr_force_process_order_lines. Usage is implied by the tool name and action, with clear gaps around alternatives.

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

hgr_mark_order_lines_as_purchasedMark Order Lines As PurchasedA
Destructive
Inspect

Marks exact order lines as purchased in HGR. The MCP resolves current WAPI status and uses FixedOrderLine only for CompletedAutoOrderPending. Requires confirmed=true after showing the full HGRWeb warning. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after showing the full HGRWeb warning: do not use this unless already purchased; it only marks the order as purchased in HGR; Auto-Ordering is required for automatic supplier purchase/shipping.
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructive=true, idempotent=false, openWorld=true, readOnly=false, so the safety profile is covered. The description adds genuinely new behavior: WAPI status resolution, conditional FixedOrderLine usage for CompletedAutoOrderPending, the confirmation gate, and internal resolution of the channel header. It stops short of saying what state change is irreversible or what a second call does.

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?

Three sentences, purpose first, then routing behavior, then prerequisites — well front-loaded and free of filler. It is dense with internal jargon (WAPI, FixedOrderLine, CompletedAutoOrderPending, HGRApi Header channel) that a first-time agent may not decode, which slightly undercuts 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?

With an output schema, full param coverage and rich annotations, the description need not explain return values, and it does cover the preconditions and internal resolution steps. The main residual gap is a one-line warning about the destructive, non-idempotent consequences of marking lines purchased.

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 three parameters are documented structurally; this sets the baseline at 3. The description reinforces the confirmed gate and notes channelOAuthId/auth headers are resolved internally, but adds no format or value-level detail beyond the schema.

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

Purpose4/5

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

States a specific verb+resource+scope: 'Marks exact order lines as purchased in HGR.' The 'exact' qualifier and the note that FixedOrderLine is used only for CompletedAutoOrderPending give partial differentiation from the sibling hgr_mark_order_lines_fixed, but the sibling is never named explicitly.

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

Usage Guidelines3/5

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

The gating condition ('requires confirmed=true after showing the full HGRWeb warning') and the status-routing note imply when this path applies, and the schema's confirmed description adds a 'do not use unless already purchased' exclusion. However, the description never explicitly names which sibling to use instead (process_order_lines, mark_order_lines_fixed, force_process_order_lines), leaving the agent to infer the boundary.

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

hgr_mark_order_lines_fixedMark Order Lines FixedB
Destructive
Inspect

Marks orders resolved from visible order Reference as fixed/resolved. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, non-idempotent, open-world, so the safety profile is known. The description usefully adds the confirmed=true guard and notes the header channel / ChannelOAuthId is resolved internally, but it does not state what state change occults (irreversibility, what 'fixed/resolved' does to the order, or side effects).

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

Conciseness4/5

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

Three short sentences, front-loaded with the action, then prerequisites. Little waste, though the header/internal-resolution note is slightly cryptic and could be tightened.

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

Completeness3/5

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

An output schema exists, so return values needn't be explained, and annotations cover safety. Still, for a destructive mutation, the description is thin on what 'fixed/resolved' entails for the order and whether the action is reversible, leaving gaps an agent would want.

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 baseline is 3. The description reinforces that 'reference' is a visible order reference and that channel context resolves internally, but adds no syntax or format detail 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?

States a specific verb and resource: marks order lines resolved/fixed based on a visible order Reference. This is clear and actionable. It does not, however, distinguish itself from close siblings such as hgr_mark_order_lines_as_purchased or hgr_force_process_order_lines, so the agent can't fully disambiguate 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 Guidelines3/5

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

Implies usage (mark resolved orders from a visible reference) and enforces a precondition (confirmed=true). But it gives no explicit when-to-use vs. alternatives, nor any when-not guidance against the several sibling tools that also operate on order lines.

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

hgr_pause_pending_to_reviewPause Pending To ReviewA
Destructive
Inspect

Moves one pending listing to manual review by its visible pending listing id. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
productIdNoVisible marketplace Product Id / primary id. Prefer this for active or terminated listings.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
pendingListingIdNoVisible pending listing id, only for pending listings where HGRWeb shows this id.

Output Schema

NameRequiredDescription

No output parameters

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 non-idempotent, so the safety profile is carried by structured data. The description adds the confirmed=true gate and the internal header/ChannelOAuthId resolution, but never explains what 'manual review' actually does to the listing, whether it is reversible, or what downstream effect it has — meaningful gaps for a destructive mutation.

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?

Three short sentences, front-loaded with the action and its identifying key. Slightly telegraphic in phrasing ('Requires HGRApi Header channel / ChannelOAuthId resolved internally') but every clause carries operational 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?

Output schema exists and annotations cover safety, so the description needn't explain returns. It covers the identity key, the confirmed gate, and auth resolution — enough to invoke correctly. Missing only the sibling-routing rationale, which keeps it short of full 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%, so the baseline is 3. The description only reinforces pendingListingId and confirmed; it ignores the optional productId alternative ('Prefer this for active or terminated listings'), so it adds little routing guidance beyond the schema and leaves the id-selection choice to the schema alone.

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

Purpose4/5

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

States a specific verb and resource ('Moves one pending listing to manual review') plus the identifying key (visible pending listing id), so an agent knows exactly what the tool mutates. It does not differentiate itself from the near-identical sibling hgr_post_searchproduct_pausetoreview, leaving ambiguity about which pausetoreview endpoint to pick.

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?

Gives a hard precondition ('Requires confirmed=true') and notes that the channel is resolved internally, which is genuinely useful gating context. But there is no statement of when to use this vs. the many listing-state siblings (hgr_post_searchproduct_pausetoreview, hgr_terminate_listing, hgr_post_listingcreate_editpending) or any exclusion, so usage is only implied.

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

hgr_post_ai_createtaskPost Ai CreatetaskB
Destructive
Inspect

Dedicated HGRApi tool for POST api/AI/CreateTask. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST create task operation in AI optimization task management. Use when: Use it when a client needs to run the create task operation for AI optimization task management. Input: rq: Data.CreateTaskRequest. Main fields: Action: AIActionType, AutoPublish: bool, Listings: int[], Settings: CreateTaskRequestSetting[]. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the create task operation. Search terms: ai createtask. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/AI/CreateTask request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Adds genuinely useful behavior beyond the annotations: the confirmed=true execution gate and the fact that the ChannelOAuthId channel header is resolved internally. However, annotations declare destructiveHint=true and openWorldHint=true, yet the description never says what is created or modified (listings? publishing state?) or that effects may be irreversible — for a destructive, non-idempotent call that is a real gap.

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?

Heavily bloated with generated boilerplate: the endpoint name is restated three times, plus a search-terms line that adds nothing for an agent. The one high-value fact (confirmed=true required) is buried near the end rather than front-loaded.

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

Completeness3/5

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

Output schema and annotations are present, so return values and safety profile are covered elsewhere, and the confirmed gate plus channel resolution are stated. What is missing is task semantics: whether the call is async (does it return a task id consumed by hgr_post_ai_gettaskresult?), and what the Action/AutoPublish combination actually triggers — the agent must guess the follow-up flow.

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%, so the baseline is 3, but the body property schema is opaque ('POST /api/AI/CreateTask request body'), and the description compensates by naming the payload fields: Action (AIActionType), AutoPublish (bool), Listings (int[]), Settings (CreateTaskRequestSetting[]). It stops short of explaining value meanings or allowed Action values, so it is not a 5.

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

Purpose4/5

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

States a specific verb and resource: POST api/AI/CreateTask, i.e. creating an AI optimization task, and explicitly says it is a fixed endpoint rather than a generic caller (distinguishing it from a generic HTTP tool). It does not, however, distinguish itself from nearby siblings such as hgr_post_ai_publishnow or hgr_get_ai_gettasks, and much of the wording is generated boilerplate ('create task operation in AI optimization task management').

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

Usage Guidelines2/5

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

'Use when: Use it when a client needs to run the create task operation for AI optimization task management' is circular — it restates the name rather than giving a condition. No mention of when to prefer publishnow, gettaskresult, or gettasks instead, and no prerequisites beyond the confirmed gate.

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

hgr_post_ai_getimageinfoPost Ai GetimageinfoC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/AI/GetImageInfo. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST get image info operation in AI optimization task management. Use when: Use it when a client needs to run the get image info operation for AI optimization task management. Input: rq: GetImageInfoRequest. Main fields: Ids: int[]. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get image info operation. Search terms: ai getimageinfo. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/AI/GetImageInfo request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

It adds real context beyond the annotations by stating the channel header/ChannelOAuthId is resolved internally and that the header channel matters, which the annotations do not cover. The 'Returns the result or applies the effect of the get image info operation' sentence is boilerplate hedging rather than genuine disclosure of behavior.

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

Conciseness2/5

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

The text is padded with meta-commentary ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller'), a 'Search terms: ai getimageinfo' line that just repeats the name, and a repeated purpose sentence. The useful payload (Ids: int[], channelOAuthId resolved internally) is buried mid-paragraph.

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

Completeness3/5

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

With an output schema present, return values need no explanation, and the body's key field is covered. But the description still leaves 'image info' undefined and gives no sense of what Ids refer to (listing IDs? image IDs?), which an agent needs to build a correct payload.

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%, but the description adds meaning the schema does not: the body is a GetImageInfoRequest whose main field is Ids: int[]. That tells an agent what to put in the otherwise untyped body object, which is genuine value above the schema.

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

Purpose3/5

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

It names the exact endpoint (POST api/AI/GetImageInfo) and clarifies it is not a generic caller, but 'get image info operation in AI optimization task management' never says what image info means (dimensions? optimization status?) or how it differs from image-related siblings like hgr_post_channellisting_optimizeimage or hgr_post_searchproduct_getlistingsimages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause is circular: 'Use it when a client needs to run the get image info operation.' No alternative tool is named, no exclusion or precondition is given, so an agent has no signal for choosing this over the many other image/AI endpoints.

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

hgr_post_ai_gettaskresultPost Ai GettaskresultB
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/AI/GetTaskResult. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST get task result operation in AI optimization task management. Use when: Use it when a client needs to run the get task result operation for AI optimization task management. Input: rq: GetTaskResultRequest. Main fields: TaskId: int, ListingId: int. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get task result operation. Search terms: ai gettaskresult. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/AI/GetTaskResult request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds only the fixed-endpoint framing and that ChannelOAuthId is resolved internally; it never says what happens if the AI task is still running (pending result vs. error), which is the single most important behavioral fact for a 'get task result' tool.

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 scope statement and endpoint identity are front-loaded and useful, but several sentences are pure boilerplate ('HGRApi functional documentation:', 'Search terms: ai gettaskresult') and the Purpose/Use when pair is redundant with itself. Roughly a third of the text could be deleted without losing information.

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

Completeness3/5

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

An output schema exists, so return-value documentation is not required. However, for an async task-result retrieval the description omits completion/pending semantics and the pairing with the creating tool, leaving a real gap an agent must guess around; the rest (auth channel, body shape) is adequately covered.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3, but the description adds information the schema lacks: the body is a GetTaskResultRequest whose main fields are TaskId (int) and ListingId (int), and 'Send the exact request payload in body' clarifies the calling convention. This meaningfully extends the generic 'HGRApi POST /api/AI/GetTaskResult request body' schema description.

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

Purpose4/5

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

The description names a specific verb+resource: the 'get task result operation in AI optimization task management', and explicitly disclaims being a generic endpoint caller, which separates it from arbitrary POST callers. It does not, however, distinguish it from closely related siblings such as hgr_post_ai_createtask or hgr_get_ai_gettasks, so an agent still has to infer which one to reach for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' sentence is circular, repeating 'use it when a client needs to run the get task result operation'. There is no guidance on when to call this versus hgr_get_ai_gettasks or hgr_post_ai_createtask, and no mention of the typical prerequisite (a TaskId returned by a prior create call) or of polling behavior.

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

hgr_post_ai_publishnowPost Ai PublishnowC
Destructive
Inspect

Dedicated HGRApi tool for POST api/AI/PublishNow. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST publish now operation in AI optimization task management. Use when: Use it when a client needs to run the publish now operation for AI optimization task management. Input: rq: PublishNowRequest. Main fields: TaskId: int, ListingId: int. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the publish now operation. Search terms: ai publishnow. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/AI/PublishNow request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

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 openWorldHint=true; the description usefully adds the two-gate precondition (confirmed=true and impactConfirmed=true) and that the channel header is resolved internally. However, it never states what the destructive effect actually is or its consequences, saying only 'applies the effect of the publish now operation', which is the key thing an agent needs before a high-impact write.

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?

Padded with boilerplate ('Dedicated HGRApi tool for POST...', 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') and redundant restatements of 'publish now operation'. The genuinely useful facts (TaskId/ListingId, confirmation gates) are buried mid-paragraph rather than front-loaded.

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

Completeness3/5

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

An output schema exists so return values needn't be described, and prerequisites (confirmations, channel id) are covered. But for a destructive, non-idempotent write, the description omits what publishing actually changes and what an agent should check first, leaving a meaningful gap.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds genuinely new information: the opaque `body` object carries PublishNowRequest with TaskId (int) and ListingId (int), which the schema does not specify. That is real value beyond the structured fields.

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?

Names the verb/resource pair (POST api/AI/PublishNow, 'publish now operation in AI optimization task management'), but 'publish now' is never explained in concrete terms — an agent can't tell whether it pushes an optimized listing live to a channel or merely commits an AI task. It is distinguishable from most siblings by the AI/PublishNow endpoint, though related siblings like hgr_change_ai_publisher_status and hgr_update_ai_publisher_optimization are not addressed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' sentence is a tautology ('use it when a client needs to run the publish now operation'), giving no real trigger condition. No exclusions or alternatives are named, so the agent gets no help deciding between this and the publisher status/optimization siblings.

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

hgr_post_analytics_addworkPost Analytics AddworkC
Destructive
Inspect

Dedicated HGRApi tool for POST api/Analytics/AddWork. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST add work operation in current-channel watcher analytics. Use when: Use it when a client needs to run the add work operation for current-channel watcher analytics. Input: rq: AddWorkRequest. Main fields: Ids: int[]. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the add work operation. Search terms: analytics addwork. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Analytics/AddWork request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, non-idempotent and open-world, so the safety profile is covered structurally. The description adds real value with the confirmed=true execution gate and the note that channelOAuthId is resolved internally, but it never explains what side effect 'add work' produces or whether it is reversible — notable for a destructive operation.

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

Conciseness3/5

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

Uses labeled headings (Purpose/Use when/Input/Output/Search terms) that help scanning, but contains boilerplate ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') and repeats the endpoint name in both the opening and the Purpose line. The confirmed=true requirement appears late rather than front-loaded.

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

Completeness3/5

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

An output schema exists and annotations cover the safety profile, so the description need not explain return values. Still, for a destructive POST the key missing piece is what 'add work' does and what state it mutates, which the description never clarifies.

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%, so the baseline is 3. The description contributes a small extra beyond the schema by naming the payload type (AddWorkRequest) and its main field (Ids: int[]), which the schema's generic body object does not reveal. It offers no format or constraint details beyond that.

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

Purpose3/5

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

States the verb+resource (POST api/Analytics/AddWork) and situates it in 'current-channel watcher analytics', plus explicitly says it is not a generic endpoint caller. However, 'add work operation' is largely a restatement of the endpoint name and does not explain what adding work actually accomplishes or which business outcome it serves, so an agent gets the surface but not the substance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' line is a tautology ('Use it when a client needs to run the add work operation'), adding no condition beyond the name. No alternative sibling (e.g., other analytics endpoints) is named, and no prerequisites or exclusions are given beyond the confirmed=true gate.

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

hgr_post_catalog_getproductsPost Catalog GetproductsA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/Catalog/GetProducts. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides supplier candidates for publication. ownerAgent: catalog-sources. Opening the catalog returns stored recommendations; explicit web, AI chat and MCP searches discover products through a deep internet search that may take several minutes. Use when: Use for catalog/source candidate discovery, not existing store inventory, importing store products, stock checks or ranking active listings. AI chat and MCP may search and apply the documented catalog filters, including themes, seasons and occasions such as Mother's Day gifts. Warn the user in their language before starting that a deep internet search may take several minutes; do not require confirmation for this read-only search. Input: CatalogProductsRequest. Header channel identifies the selected store and country. Search=false or omitted returns all type-0 country recommendations; SessionId preserves random order. For explicit searches from the web, AI chat or MCP set Search=true. Search accepts SourceIds, PriceFrom/PriceTo, ProfitFrom/ProfitTo, Prime options, Criteria as only the human-written free-text product search prompt (not a literal title substring) and optional Tags (selected theme/category integer IDs, using the same IDs as AI Publisher orders). When SourceIds is omitted or empty, searches use up to four distinct eligible supplier domains with the highest priority for the store's country and channel; source ID ascending breaks priority ties. Explicit supplier inclusions or exclusions retain their existing behavior. Theme, category, trending and store exclusion filters remain separate from Criteria. When Criteria is empty, categories and seasonal themes are expanded into related product families before searching; a human-written Criteria skips this expansion. Trending remains a search requirement. Price/profit requirements use effective channel/supplier settings and fees. For example, a Mother's Day product search uses {"search":true,"criteria":"Mother's Day gifts"}. Do not invent a quantity parameter; show the requested number from the returned candidates. Output: Returns Products with SourceId, Url, Title, ImageUrl, SourcePrice, ChannelPrice, Profit and SubOrigin. Initial candidates have CatalogSelection=1; search candidates have CatalogSearch=2. Publish by URL rather than ProductSourceId. Initial mode returns the complete stored country collection. Search returns at most 50 candidates total and can return fewer or none when no eligible products are found. TotalResults and PageSize are the returned count. Search terms: catalog getproducts. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Catalog/GetProducts request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/destructive=false, yet the description adds real value: the deep internet search can take several minutes, results are capped at 50 candidates, fewer or none may return, and header channel/ChannelOAuthId is resolved internally. It is slightly less precise about identity/permission requirements of the header channel, but overall this is strong 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?

Sections are labeled (Purpose, Use when, Input, Output) and the purpose is front-loaded, but the text is a dense wall with filler like 'Search terms: catalog getproducts', 'HGRApi functional documentation', and an Output paragraph that partially duplicates the existing output schema. Valuable content, but it does not earn every sentence.

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 read-only, two-parameter but semantically rich discovery tool, the description covers when to use it, how the mode flag changes behavior, filter semantics, result caps, and how to publish results (by URL, not ProductSourceId). With annotations and an output schema already present, nothing an agent needs in order to call it correctly is missing.

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's body is an untyped object, so the description carries nearly the entire semantic load and does it well: it explains Search, SourceIds priority/tie-breaking behavior, PriceFrom/PriceTo, ProfitFrom/ProfitTo, Prime options, Criteria as human-written free text (not a literal title filter), Tags as theme/category IDs, and SessionId. It even warns against inventing a quantity parameter and gives a concrete example payload.

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

Purpose5/5

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

States a specific verb and resource ('Provides supplier candidates for publication' via POST api/Catalog/GetProducts) and explicitly disclaims being a generic endpoint caller. It also names what it is not for (store inventory, importing products, stock checks, ranking active listings), so an agent can separate it from siblings like hgr_get_catalog_getproductsource or hgr_post_searchproduct_listnow.

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

Usage Guidelines5/5

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

Contains a dedicated 'Use when' clause with concrete exclusions, plus the exact routing rule between initial mode (Search=false/omitted) and explicit search (Search=true). It also gives operational guidance on user-facing behavior: warn about a multi-minute deep search, but do not ask for confirmation because it is read-only.

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

hgr_post_catalog_submitcatalogPost Catalog SubmitcatalogA
Destructive
Inspect

Dedicated HGRApi tool for POST api/Catalog/SubmitCatalog. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Queues selected catalog candidates for publication or review. ownerAgent: publication. Use when: Use after selecting real candidates from Catalog/GetProducts. Not for discovering products, importing existing store inventory, or publishing ad-hoc URLs; use Listing/SaveBulkPublish for general URL publication. Input: CatalogSubmitRequest. Header channel is required. Each ProductsToList item contains the exact Url, Title, SubOrigin (CatalogSelection=1 or CatalogSearch=2) and optional PublishOn for individual scheduling. Optimization/review options and Origin remain supported. Legacy Id and DelaysMap remain accepted for existing first-steps clients. UserDevice is optional web telemetry; AI chat and MCP omit it. Output: Creates URL-based bulk jobs, records SubOrigin while preserving Origin=Catalog, and returns BatchId. Token/quota validation applies. Search terms: catalog submitcatalog. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally. Internal-only request fields are removed automatically before the HGRApi request is sent.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Catalog/SubmitCatalog request body. Internal-only request fields are removed automatically.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare this destructive, non-idempotent, open-world write, and the description still adds real value: it creates URL-based bulk jobs and returns BatchId, records SubOrigin while preserving Origin=Catalog, applies token/quota validation, and strips internal-only fields before sending. It also states the confirmed=true / impactConfirmed=true gating and that channel resolution happens internally. Slight deduction because some of the disclosure reads as API-legacy noise (DelaysMap, UserDevice telemetry) rather than agent-relevant 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?

Front-loaded with the resource and usage gating, which is good, but the opening two sentences about being a 'dedicated' non-generic tool are boilerplate and 'Search terms: catalog submitcatalog' is filler. The remaining content is dense and useful but delivered as one long run-on block rather than structured fields.

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 destructive, confirmation-gated mutation with an output schema available, the description covers preconditions, alternatives, body shape and side effects well enough to call it correctly. Minor gap: it does not say what happens on partial failure or whether the returned BatchId needs a follow-up poll, though the output schema likely carries the return shape.

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 already 100%, so the baseline would be 3, but the description genuinely goes beyond it by enumerating the body structure: each ProductsToList item carries exact Url, Title, SubOrigin (CatalogSelection=1 / CatalogSearch=2) and optional PublishOn, plus notes that Origin is preserved and legacy Id/DelaysMap are still accepted. That is material semantics the schema's one-line body description does not convey.

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?

Names a specific verb and resource ('Queues selected catalog candidates for publication or review' against POST api/Catalog/SubmitCatalog) and explicitly distinguishes itself from generic endpoint callers and from sibling tools like Catalog/GetProducts and Listing/SaveBulkPublish. An agent can identify the operation without opening the schema.

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

Usage Guidelines5/5

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

Provides an explicit 'Use when' (after selecting real candidates from Catalog/GetProducts) plus concrete exclusions (not for discovering products, not for importing store inventory, not for ad-hoc URL publication) and names the alternative to use instead (Listing/SaveBulkPublish). This is the full when/when-not/alternative triad.

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

hgr_post_channellisting_clearonevariationPost Channellisting ClearonevariationC
Destructive
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/ClearOneVariation. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST clear one variation operation in published product creation and optimization. Use when: Use it when a client needs to run the clear one variation operation for published product creation and optimization. Input: rq: ClearVariationsRequest. Main fields: ChannelListingId: int. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the clear one variation operation. Search terms: channellisting clearonevariation. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/ClearOneVariation request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety bar is pre-covered. The description still adds real value beyond that: it states that confirmed=true and impactConfirmed=true are mandatory before execution, and that ChannelOAuthId is resolved internally from the header — non-obvious gating behaviour an agent must respect.

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?

Padded with boilerplate that earns nothing: 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller' and a 'Search terms:' line restating the name. The Purpose/Use when/Input/Output scaffolding is repetitive rather than front-loaded with the one fact that matters — what clearing a variation actually destroys.

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

Completeness3/5

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

An output schema exists and annotations cover the destructive profile, so much is handled elsewhere. Still missing is the substantive semantic: what a 'variation' is here and what the destructive clear actually removes or reverts on the live channel listing — the key thing an agent needs before asking a user to confirm a high-impact action.

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

Parameters3/5

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

Schema coverage is 100% and every property already carries its own description (including the hgr_list_channels provenance for channelOAuthId). The description's parameter line ('Input: rq: ClearVariationsRequest. Main fields: ChannelListingId: int') adds little and slightly mismatches the actual schema, which has a single opaque 'body' wrapper. Baseline 3 applies since the schema does the heavy lifting.

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 names the resource and operation (POST api/ChannelListing/ClearOneVariation) and frames it as 'clear one variation in published product creation and optimization.' However, 'clear one variation' is unexplained jargon, and there is a direct sibling hgr_post_channellisting_clearvariations (plural) that the description never distinguishes from this singular variant, so an agent cannot confidently route between them.

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

Usage Guidelines2/5

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

The 'Use when' clause is circular ('Use it when a client needs to run the clear one variation operation'), restating the purpose as its own trigger. No when-not conditions, no prerequisites beyond the mechanical confirmed flags, and crucially no guidance on how this differs from the plural clearvariations sibling.

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

hgr_post_channellisting_clearvariationsPost Channellisting ClearvariationsC
Destructive
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/ClearVariations. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST clear variations operation in published product creation and optimization. Use when: Use it when a client needs to run the clear variations operation for published product creation and optimization. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the clear variations operation. Search terms: channellisting clearvariations. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/ClearVariations request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds real value beyond that by disclosing the confirmed=true and impactConfirmed=true gating and that the channel ID is resolved internally. It does not, however, say what is actually destroyed or lost when variations are cleared.

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 endpoint is front-loaded, which is good, but the body is padded with template scaffolding ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', 'HGRApi functional documentation: Purpose:/Use when:/Input:/Output:/Search terms:'). The 'Search terms' line merely repeats the tool name and the Purpose/Use-when lines repeat each other.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and annotations carry the destructiveness signal. Still, for a destructive, non-idempotent four-required-parameter mutation, the description omits what a 'variation' is, what state the listing is left in, and any prerequisites beyond the two confirmation flags.

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, which sets the baseline at 3. The description adds only the instruction to send the exact payload in body and notes the channel header is resolved internally — marginal value over the schema.

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

Purpose3/5

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

The description names a specific verb+resource (POST api/ChannelListing/ClearVariations) and ties it to 'published product creation and optimization', so the endpoint is identifiable. But 'clear variations' is never explained — what a variation is or what clearing does — and the closest sibling, hgr_post_channellisting_clearonevariation, is never mentioned, so an agent cannot tell the two apart from the description.

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

Usage Guidelines2/5

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

The 'Use when' sentence is circular: 'Use it when a client needs to run the clear variations operation.' That restates the tool name rather than giving a triggering condition. No alternatives are named and no exclusions (e.g., single-variation clearing) are stated.

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

hgr_post_channellisting_getcategoriesbytextPost Channellisting GetcategoriesbytextB
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/getCategoriesByText. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST get categories by text operation in published product creation and optimization. Use when: Use it when a client needs to run the get categories by text operation for published product creation and optimization. Input: [FromBody] rq: GetCategoriesByTextRequest. Main fields: Text: string. Header channel: current ChannelOAuthId. Output: Returns the categories whose name contains the text. When no category name contains it, returns suggested categories for the text: for eBay and TikTok stores the first one is the HGR suggestion for that text, followed by the marketplace suggestions. Search terms: channellisting getcategoriesbytext. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/getCategoriesByText request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare it read-only and idempotent, but the description adds real value: it explains the fallback behavior (when no category name contains the text, suggested categories are returned) and the per-marketplace ordering for eBay/TikTok. It also notes the channel header is resolved internally, which the schema does not say.

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?

Purpose and output behavior are front-loaded, but the text carries filler ('Dedicated HGRApi tool for POST api/...', 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') and a 'Search terms:' line that adds no selection value.

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

Completeness3/5

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

For a read-only lookup with an output schema and full annotation coverage, the description is nearly sufficient, but the sibling-disambiguation gap (vs. getSuggestedCategories / getCategorySpecifics) is the one thing an agent actually needs and it is missing.

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

Parameters3/5

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

Schema coverage is 100% for the two top-level parameters, so the baseline is 3. The description does add the nested body field (Text: string) that the schema's generic body description omits, but only one nested field is named, so the gain over schema is modest.

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

Purpose4/5

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

States a specific verb and resource (POST getCategoriesByText on ChannelListing) and the endpoint path, making it distinguishable from nearby siblings such as getSuggestedCategories and getCategorySpecifics. The framing sentence 'explicit tool with a fixed endpoint' is boilerplate but harmless.

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

Usage Guidelines2/5

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

'Use when: Use it when a client needs to run the get categories by text operation' is circular – it restates the name rather than naming a condition. It never distinguishes this from the very similar sibling hgr_post_channellisting_getsuggestedcategories, which an agent would have to open the schema to disambiguate.

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

hgr_post_channellisting_getcategoryspecificsPost Channellisting GetcategoryspecificsA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/GetCategorySpecifics. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Returns category field definitions and populated values for manual product preparation. ownerAgent: publication. Use when: Use when the manual product form needs fields for its selected category and supplier product data. Input: GetCategorySpecificsRequest: SourceId, Price, CategoryId, Title, Paragraphs, Features, TableValues. Header channel: current ChannelOAuthId. Admin: false. Output: response_data remains the category field collection. Admin or impersonated sessions additionally receive debug alongside response_data, with actual product inputs and returned definitions, restrictions and values. Missing initial values, internal filling decisions and browser-side changes are explicitly marked as unavailable, never inferred. A failed category-field request includes admin debug with its trace ID in the error response. Search terms: channellisting getcategoryspecifics. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/GetCategorySpecifics request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description goes beyond them: it explains the output shape (category field collection), the admin/impersonated debug overlay, that inferred values are never fabricated, and that failed requests return a trace ID in admin debug. This is meaningful behavioral detail a caller could not get from 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?

Purpose and use-when are front-loaded, but the block is bloated with boilerplate ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller'), a raw endpoint string, 'Search terms', and repeated admin-debug detail. Several sentences restate the security framing rather than adding 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?

With an output schema present, the description needn't restate return values, and it still covers the notable admin-debug variation and error format. Combined with full schema coverage and strong annotations, an agent has enough to call this correctly; only the sibling disambiguation is thin.

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% for the two top-level params, so the body would otherwise be opaque. The description compensates by enumerating the request's inner fields (SourceId, Price, CategoryId, Title, Paragraphs, Features, TableValues) and tying channel to 'current ChannelOAuthId', adding real meaning beyond the schema.

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

Purpose4/5

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

The description gives a specific verb and resource: it 'Returns category field definitions and populated values for manual product preparation.' That is far more than the title restatement. It doesn't explicitly contrast with close siblings like hgr_get_channellisting_getcategoryinfo or hgr_get_channellisting_getcustomcategories, so it stops short of full sibling differentiation.

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

Usage Guidelines4/5

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

The 'Use when: Use when the manual product form needs fields for its selected category and supplier product data' line gives a clear triggering context. Missing is any statement of when NOT to use it or which sibling to prefer for category info without specifics.

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

hgr_post_channellisting_getsuggestedcategoriesPost Channellisting GetsuggestedcategoriesC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/getSuggestedCategories. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST get suggested categories operation in published product creation and optimization. Use when: Use it when a client needs to run the get suggested categories operation for published product creation and optimization. Input: [FromBody] rq: Request.GetSuggestedCategoriesRequest. Main fields: Url: string, Text: string. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get suggested categories operation. Search terms: channellisting getsuggestedcategories. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/getSuggestedCategories request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds two useful operational facts: the exact request payload must be sent in body, and the channelOAuthId header is resolved internally. It says nothing about response shape, latency, or whether channelOAuthId must first come from hgr_list_channels (that is only in the schema).

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

Conciseness2/5

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

Front-loaded with boilerplate ('Dedicated HGRApi tool for...', 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') and a trailing 'Search terms' line that duplicates the tool name. The useful payload-body and Url/Text details are buried mid-paragraph.

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

Completeness3/5

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

Output schema exists, so return values need not be described, and both parameters are documented in the schema. Still, for a tool in a dense cluster of near-identical category/title suggestion endpoints, the description gives no disambiguation, which is the main thing an agent needs here.

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%, but the body property is an untyped object with no nested property definitions, so the description's disclosure of 'Main fields: Url: string, Text: string' adds real information the schema does not carry. The channelOAuthId semantics are already stated in the schema, so no extra credit there.

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?

Names the specific operation (get suggested categories within published product creation/optimization) and the endpoint, which is more than a restated name. However, it never contrasts with close siblings such as hgr_post_channellisting_getcategoriesbytext or hgr_post_channellisting_getsuggestedtitles, so an agent cannot tell which of these category-lookup tools to pick from this text 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 only guidance is 'Use it when a client needs to run the get suggested categories operation for published product creation and optimization' – a circular restatement that names no alternatives, exclusions, or preconditions. Sibling category tools are left unmentioned despite being obvious substitutes.

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

hgr_post_channellisting_getsuggestedtitlesPost Channellisting GetsuggestedtitlesA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/GetSuggestedTitles. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST get suggested titles operation in published product creation and optimization. Use when: Use it when a client needs to run the get suggested titles operation for published product creation and optimization. Input: [FromBody] request: SuggestedTitles. Main fields: CategoryId: int, Product: SourceProduct. Output: Returns the result or applies the effect of the get suggested titles operation. Search terms: channellisting getsuggestedtitles. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/GetSuggestedTitles request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true. The description adds real context beyond that: the required HGRApi channel/ChannelOAuthId header resolved internally and the instruction to send the exact payload in body. It does not clarify what 'suggested titles' are derived from or any rate/limit behavior, so it goes only modestly past 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?

Front-loaded with the endpoint, which is good, but it carries visible boilerplate: 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', a 'Search terms:' tail, and a Purpose sentence that repeats the name. Labeled sections aid scanning, but several sentences do not earn their 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?

An output schema exists, both parameters are documented, and the auth/header requirement plus body instruction are covered, so an agent has what it needs to invoke correctly. Minor gap: no detail on the nested SourceProduct shape or how titles are scoped to a channel beyond channelOAuthId.

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 channelOAuthId is already explained in the schema, so the baseline is 3. The description goes further by naming the body's main fields (CategoryId: int, Product: SourceProduct), which the opaque 'body' schema property does not expose — genuine added value for constructing the payload.

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

Purpose4/5

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

States the concrete operation (POST api/ChannelListing/GetSuggestedTitles) and frames it within published product creation/optimization, so it is distinguishable from near siblings like getsuggestedcategories or getcategoriesbytext. The phrasing is template-generated, but the verb+resource pairing is specific enough for an agent to act on.

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

Usage Guidelines3/5

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

The 'Use when' clause only restates the purpose ('when a client needs to run the get suggested titles operation'), which is circular rather than actionable. It gives no when-not conditions and never names the obvious alternatives (GetSuggestedCategories / GetCategorySpecifics / GetCategoriesByText) that share this decision space.

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

hgr_post_channellisting_listPost Channellisting ListA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/List. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Resolves one supplier product URL into validated product data for listing creation. ownerAgent: publication. Use when: Use when a user has submitted one concrete supplier product URL and needs the product data required to prepare a listing. Input: ListRequest body with Url and optional extension ExtraData. Header channel: current ChannelOAuthId. Output: Returns ComListing with validated product data when details can be obtained. A successful product response may also include OtherUrls so compatible extension clients can offer an optional switch to bulk publish. For a recognized product URL whose details cannot be obtained, returns Success=false with ErrorType=UnknownProduct without OtherUrls. Non-product pages may return OtherUrls for bulk discovery. Search terms: channellisting list. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/List request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint, idempotentHint, openWorldHint, destructiveHint=false), the description adds real behavioral detail: the channel header is resolved internally, an UnknownProduct outcome comes back as Success=false rather than an exception, and OtherUrls may appear so extension clients can offer bulk publish. It could have explicitly noted that the POST verb is a query/read operation so an agent doesn't mistake it for a mutation, but nothing here contradicts 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 Purpose/ownerAgent/Use when/Input/Output block layout is front-loaded and scannable, which is good. But boilerplate such as 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller' and the trailing 'Search terms: channellisting list' add no decision-relevant information, and the 'Send the exact request payload in body' line repeats the schema requirement.

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

Completeness4/5

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

For a two-parameter tool with an output schema, the description covers the input contract, the success path, and the main failure path, so an agent can call it and interpret results correctly. The only real gap is that it never reconciles the 'List' in the tool name with single-URL resolution, which risks confusion against the bulk listing siblings.

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

Parameters4/5

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

Schema coverage is 100%, but the `body` parameter is an untyped object in the schema, so the description is the only source of its internal structure. It supplies that with 'ListRequest body with Url and optional extension ExtraData' and reiterates that the channel header is the current ChannelOAuthId resolved internally. This adds genuine meaning over the schema rather than restating 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 names a concrete verb and resource: 'Resolves one supplier product URL into validated product data for listing creation.' That is far more informative than the opaque name 'Post Channellisting List', which would otherwise be unreadable. It distinguishes itself from the many bulk/listing-management siblings by emphasizing 'one concrete supplier product URL', though it never names an alternative tool explicitly.

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?

'Use when: Use when a user has submitted one concrete supplier product URL and needs the product data required to prepare a listing' gives a clear triggering condition. The output section also describes the boundary cases (UnknownProduct with no OtherUrls, non-product pages returning OtherUrls), which helps an agent interpret results. What's missing is any explicit routing to competing tools (e.g., catalog getproducts or the bulk searchproduct tools) for the multi-URL case.

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

hgr_post_channellisting_monitorexistinglistingPost Channellisting MonitorexistinglistingA
Destructive
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/MonitorExistingListing. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Imports or monitors existing channel listings in HGR. Imported listings are always activated. ownerAgent: publication. Use when: Use when concrete existing store listing/product ids and source URLs are already selected and the user wants HGR to monitor/import those existing listings. Input: [FromBody] model: AddListingModel. Main fields: OAuthId: int, Listings: ListingToMonitor[]. Header channel: current ChannelOAuthId. ToRelist is currently ignored. UserDevice is optional HGRWeb client telemetry; AI chat and MCP must omit it and must not invent a device value. Output: Returns import/monitoring results with inserted, invalid, repeated and quota-related entries. Imported eBay API variations preserve VAT when the store supplies it; unknown VAT is not inferred from the publication default. Search terms: channellisting monitorexistinglisting. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally. Internal-only request fields are removed automatically before the HGRApi request is sent.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/MonitorExistingListing request body. Internal-only request fields are removed automatically.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and non-idempotent, and the description adds substantive context beyond them: imported listings are always activated, ToRelist is ignored, UserDevice must be omitted and never invented, internal-only fields are stripped, and the channel header is resolved internally. It also describes the response shape (inserted, invalid, repeated, quota entries) and the VAT-preservation nuance.

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 useful content is buried behind boilerplate: a restated endpoint path, a defensive 'it is not a generic endpoint caller' disclaimer, and a 'Search terms:' line that adds nothing for an agent. Front-loading suffers because the actual purpose only appears after that preamble, and the payload instruction is repeated.

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

Completeness4/5

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

With an output schema present, the description need not explain return values, yet it still summarizes them usefully. For a destructive, open-world mutation requiring confirmation and an internally-resolved channel header, the coverage is solid; the one missing piece is disambiguation from the sibling variant.

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%, so baseline would be 3, but the description goes further by explaining body internals the schema leaves as an untyped object: OAuthId, Listings (ListingToMonitor[]), the ignored ToRelist field, and that UserDevice must be omitted by MCP clients. The channelOAuthId linkage to hgr_list_channels is only in the schema, not 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?

States a specific verb and resource: 'Imports or monitors existing channel listings in HGR', with the important side effect that imported listings are always activated. It does not distinguish itself from the near-identical sibling hgr_post_channellisting_monitorexistinglisting2, which an agent could easily confuse it with.

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?

'Use when concrete existing store listing/product ids and source URLs are already selected and the user wants HGR to monitor/import those existing listings' gives a concrete triggering condition, plus the confirmed=true prerequisite. However, it never names an alternative or exclusion — critically, it is silent on when to prefer the ...monitorexistinglisting2 sibling.

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

hgr_post_channellisting_monitorexistinglisting2Post Channellisting Monitorexistinglisting2A
Destructive
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/MonitorExistingListing2. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Imports existing store products into HGR with live progress over one HTTP stream. Imported products are activated; no new marketplace adverts are published. ownerAgent: publication. Use when: Use when exact existing store product ids and supplier URLs are selected and the caller can keep an SSE response open. Send the entire selection in one request. Do not use for catalog discovery or new marketplace publication. Input: Authenticated, not admin-only. Body: AddListingModel with Listings containing Id, SourceURL and optional VariationSku, VariationAttributes, SourceVariation, SourceWarehouse, Markup and Title. Requires Header channel: authorized ChannelOAuthId; the body OAuthId does not override it. ToRelist is ignored. UserDevice is optional web telemetry; AI and MCP must omit it. Output: SSE progress events contain phase, total, processed, imported, alreadyExisting, rejected, failed and optional itemId, error, pages, totalPages and cachedProducts. The terminal completed event contains inserted, wereInYourHGR, repeated, emptyUrl, notValidUrl, failed (id, variationSku, error), total, processed, ok and error. Inspect ok, failed and processed/total; a terminal event alone does not mean all products were imported. An unexpected stream failure emits error. Search terms: monitorexistinglisting 2, channellisting monitorexistinglisting 2. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/MonitorExistingListing2 request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only tell the agent it is a destructive, non-idempotent, open-world write. The description adds what those hints cannot: the import activates products and publishes no new adverts, the header channel wins over body OAuthId, ToRelist is ignored, UserDevice must be omitted, confirmed=true is required, and — critically — that a terminal event alone does not mean all products were imported. That last point directly prevents a false success report.

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?

Labeled sections (Purpose, Use when, Input, Output, Search terms) make it scannable and the purpose and selection conditions are front-loaded. There is redundancy at the tail — 'Requires HGRApi Header channel / ChannelOAuthId resolved internally' repeats the earlier header statement, and the search-terms line is 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 destructive streaming import tool, the description covers auth, payload shape, ignored fields, and terminal-event semantics. Because an output schema exists, the long enumeration of SSE event fields is partly redundant rather than required. It omits practical limits an agent would want, such as a maximum batch size for the listing selection and any recovery advice for a failed stream.

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 three params are documented, but the description goes further by enumerating the AddListingModel body fields (Id, SourceURL, VariationSku, VariationAttributes, SourceVariation, SourceWarehouse, Markup, Title), which the opaque body node in the schema does not expose. It does not say whether fields are mutually exclusive or give any constraints on the field values, so it stops short of a 5.

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

Purpose4/5

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

States a specific verb and resource: 'Imports existing store products into HGR with live progress over one HTTP stream,' plus the exact endpoint and that it is not a generic endpoint caller. The gap is that it never distinguishes itself from the near-identical sibling hgr_post_channellisting_monitorexistinglisting, so an agent must guess which of the two to pick.

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?

'Use when exact existing store product ids and supplier URLs are selected and the caller can keep an SSE response open' gives a clear selecting condition, and 'Do not use for catalog discovery or new marketplace publication' gives an exclusion. It stops short of naming the alternative tool to use (the non-2 MonitorExistingListing sibling or a discovery endpoint), so the routing is not fully closed.

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

hgr_post_channellisting_optimizeimagePost Channellisting OptimizeimageC
Destructive
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/OptimizeImage. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST optimize image operation in published product creation and optimization. Use when: Use it when a client needs to run the optimize image operation for published product creation and optimization. Input: rq: OptimizeImageRequest. Main fields: ImageUrl: string, Action: AIActionType, Settings: Setting[]. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the optimize image operation. Search terms: channellisting optimizeimage. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/OptimizeImage request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

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, idempotentHint=false and openWorldHint=true, so the risk profile is known. The description usefully adds the confirmed=true gate and the channel/ChannelOAuthId header requirement, but never says what is destroyed or overwritten (the live listing image?), whether it costs tokens, or whether it can be undone — the key context for a destructive call.

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?

Padded with templated boilerplate — 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller' — plus a redundant 'Search terms' line and repeated 'published product creation and optimization' phrasing. The useful content (body fields, confirmed gate, channel header) is buried mid-paragraph.

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

Completeness3/5

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

An output schema exists, so return values need not be explained. However, for a destructive, non-idempotent tool the definition leaves out the essentials an agent needs to act safely: what the operation changes on the live listing, whether the original image is recoverable, and any rate/cost implications.

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% for the three top-level params, but the body schema has no documented properties, and the description compensates by naming the request fields: ImageUrl: string, Action: AIActionType, Settings: Setting[]. That is genuine added meaning beyond the structured fields.

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?

It states the verb and resource (POST api/ChannelListing/OptimizeImage, 'optimize image operation in published product creation'), so the general intent is inferable. But 'optimize image' is never explained — what the optimization actually does to the listing image — and it is not distinguished from close siblings such as hgr_post_channellisting_optimizespecificfields or hgr_post_searchproduct_optimize.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance is circular: 'Use it when: Use it when a client needs to run the optimize image operation.' No alternatives, no prerequisites beyond a generic 'confirmed=true', and no signal for choosing this over the two adjacent optimize tools in the sibling list.

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

hgr_post_channellisting_optimizespecificfieldsPost Channellisting OptimizespecificfieldsB
Destructive
Inspect

Dedicated HGRApi tool for POST api/ChannelListing/OptimizeSpecificFields. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST optimize specific fields operation in published product creation and optimization. Use when: Use it when a client needs to run the optimize specific fields operation for published product creation and optimization. Input: rq: OptimizeSpecificFieldsRequest. Main fields: ProductSourceId: int, Fields: ChannelSpecificField[]. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the optimize specific fields operation. Search terms: channellisting optimizespecificfields. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ChannelListing/OptimizeSpecificFields request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorld=true and non-idempotent, so safety is covered. The description does add value beyond that by stating 'Requires confirmed=true before execution' and that the header channel/ChannelOAuthId is resolved internally, which is actionable context an agent needs. It still omits what the operation changes on the listing and whether it is recoverable.

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?

Front-loaded with the endpoint and the confirmation requirement, which is good. But it contains redundancy ('optimize specific fields operation' repeated across Purpose and Use-when, a redundant 'Search terms' line, and 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') that dilutes the payload.

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 annotations, an output schema and full top-level parameter coverage, the description only needs to add the confirmation gate, header resolution and body shape, which it does. What remains missing is the substantive semantics of the operation, without which an agent cannot confidently choose this over the other optimize tools.

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

Parameters4/5

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

Schema coverage is 100% for the three top-level parameters, so the baseline is 3. The description goes further by exposing the internal shape of the opaque body field (ProductSourceId: int, Fields: ChannelSpecificField[]), which the schema leaves undefined beyond a one-line description, and by reinforcing the confirmed=true gate. That is genuine added meaning for the hardest parameter.

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

Purpose3/5

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

Names the specific endpoint (POST api/ChannelListing/OptimizeSpecificFields) and situates it in 'published product creation and optimization', which is better than a bare restatement. However, it never explains what 'optimize specific fields' actually does to a listing, and it does not distinguish itself from near-neighbours like hgr_post_searchproduct_optimize or hgr_post_channellisting_optimizeimage. The agent knows the route but not the effect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause is pure tautology: 'Use it when a client needs to run the optimize specific fields operation'. No alternative tool is named, no precondition or exclusion is given, and the many optimize/monitor siblings are never referenced.

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

hgr_post_dispatch_getshipmentdetailsPost Dispatch GetshipmentdetailsB
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/Dispatch/GetShipmentDetails. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST get shipment details operation in shipping and dispatch operations. Use when: Use it when a client needs to run the get shipment details operation for shipping and dispatch operations. Input: [FromBody] request: GetShipmentDetailsRequest. Main fields: TrackingCode: string. Output: Returns the result or applies the effect of the get shipment details operation. Search terms: dispatch getshipmentdetails. Send the exact request payload in body.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Dispatch/GetShipmentDetails request body.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

The annotations already disclose that the tool is read-only, idempotent, open-world, and non-destructive. The description adds useful context by saying the tool has a fixed endpoint and expects the exact request payload in the body, but it does not cover auth needs, rate limits, or other behavioral constraints 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 definition is front-loaded with a specific endpoint and operation, but it repeats 'get shipment details operation' several times and includes boilerplate such as 'Search terms' that is not essential for invocation. The structure is serviceable but not tight.

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

Completeness4/5

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

For a single-body-parameter tool with an output schema and rich annotations, the description is largely sufficient: it names the request type, the main field, and the need to send the payload exactly. It could be stronger if it fully described the expected body object or any authentication constraints.

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 high, but the body schema only describes the parameter generically. The description adds meaningful request semantics by identifying the request type as GetShipmentDetailsRequest and calling out TrackingCode: string as a main field, which helps an agent construct the body.

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

Purpose4/5

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

The description names a specific verb and resource: POST api/Dispatch/GetShipmentDetails and the 'get shipment details' operation in shipping/dispatch. It also distinguishes the tool from a generic endpoint caller, but it does not explicitly contrast it with nearby siblings such as hgr_post_dispatch_updateshipmentdetails or hgr_get_dispatch_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause is circular: it says to use the tool when a client needs to run the get shipment details operation, without explaining when to choose it over alternatives. There is no guidance about when not to use it or which sibling tool handles related dispatch lookups.

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

hgr_post_dispatch_updateshipmentdetailsPost Dispatch UpdateshipmentdetailsB
Destructive
Inspect

Dedicated HGRApi tool for POST api/Dispatch/UpdateShipmentDetails. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST update shipment details operation in shipping and dispatch operations. Use when: Use it when a client needs to run the update shipment details operation for shipping and dispatch operations. Input: [FromBody] request: VelociPackerShipmentUpdateRequest. Main fields: TrackingCode: string, OrderReference: string, DeliveredOn: DateTime. Output: Returns the result or applies the effect of the update shipment details operation. Search terms: dispatch updateshipmentdetails. Send the exact request payload in body. Requires confirmed=true before execution.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Dispatch/UpdateShipmentDetails request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false, and readOnlyHint=false. The description adds useful behavioral context: the endpoint is fixed, the exact payload must be sent in the body, and confirmed=true is required before execution. It does not explain what shipment details are overwritten or any side effects, so it adds some but not rich behavioral detail beyond annotations.

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

Conciseness3/5

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

The key information is front-loaded, but the description contains redundancy and filler: it repeats 'shipping and dispatch operations,' includes a 'Search terms' line, and has tautological 'Use when' phrasing. It is not excessively long, but several sentences do not earn their 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 destructive mutation, the description supplies the fixed endpoint, main body fields, exact-payload expectation, and the confirmed=true requirement. An output schema exists, so return-value details are not required, and annotations carry the safety profile. It is reasonably complete, though it could better explain what shipment details are changed and whether the update is partial or full replacement.

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%, so the baseline is 3. The description goes beyond the schema's sparse body description by naming the request type and main body fields: TrackingCode, OrderReference, and DeliveredOn with types. It does not deeply document validation rules or partial-update semantics, but it meaningfully enriches 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 states a specific verb and resource: POST api/Dispatch/UpdateShipmentDetails for updating shipment details. It also clarifies that this is a fixed-endpoint tool, not a generic caller. It does not explicitly distinguish itself from the sibling hgr_post_dispatch_getshipmentdetails, which prevents a 5.

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

Usage Guidelines2/5

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

The 'Use when' sentence essentially restates the purpose: 'Use it when a client needs to run the update shipment details operation.' It gives no meaningful when-to-use versus alternatives, no when-not-to-use, and no comparison with the sibling get-shipment-details tool. The confirmed=true prerequisite is useful but is a schema/execution requirement rather than selection guidance.

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

hgr_post_helpcentre_contactPost Helpcentre ContactA
Destructive
Inspect

Dedicated HGRApi tool for POST api/HelpCentre/Contact. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Creates a legacy authenticated help-centre contact ticket. Domain: support. Entity: support_ticket. Operation: create. Scope: authenticated_user. Use when: Use for legacy contact form submissions where a visible ticket id is not required. AIChat must prefer Contact2 when it needs to show the created ticket reference/link. Input: rq: ContactModel. Main fields: Message: string, Attachments: Attachment[]. Optional X-HGR-Client: ai_chat identifies the HGR AI chat gateway; normal web requests omit it. Output: Boolean success flag only. It does not return a visible ticket id. The creation event actor is human for web submissions or ai_chat for HGR AI chat; the first message remains an inbound customer message. Search terms: helpcentre contact. Send the exact request payload in body. Requires confirmed=true before execution.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/HelpCentre/Contact request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: returns only a boolean success flag and no visible ticket id, requires confirmed=true, and explains the optional X-HGR-Client header and the human vs ai_chat actor semantics. It does not address why destructiveHint=true is set or warn that a non-idempotent create will duplicate tickets on retry, which is the one behavior an agent most needs to know.

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?

Key information is front-loaded, but the text is padded with boilerplate ('Dedicated HGRApi tool for POST...', 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', 'Search terms: helpcentre contact') that adds little for tool selection. The dense metadata block is efficient but reads like generated documentation rather than guidance.

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?

Covers the essentials for a mutation tool: what is created, what is returned (boolean only), what is not returned (ticket id), the confirmation requirement, and scope. The remaining gap is retry/idempotency behavior for a non-idempotent create, which matters given destructiveHint=true.

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 already documented and the baseline is 3. The description does add real meaning for the body by naming ContactModel's main fields (Message, Attachments) and the header handling, but it leaves the confirmed gating rule largely duplicative of 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?

States a specific verb and resource (POST api/HelpCentre/Contact, creating a help-centre contact ticket) and explicitly disclaims being a generic endpoint caller. The domain/entity/operation metadata (support, support_ticket, create) lets an agent place it precisely relative to siblings such as hgr_create_support_ticket or hgr_reply_support_ticket.

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?

Gives an explicit use case (legacy contact form submissions where a visible ticket id is not required) and an exclusion rule (AIChat must prefer Contact2 when a ticket reference/link is needed). The only weakness is that the named alternative, Contact2, does not appear in the sibling list, so the agent cannot actually route to it.

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

hgr_post_listing_autolistPost Listing AutolistC
Destructive
Inspect

Dedicated HGRApi tool for POST api/Listing/AutoList. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST auto list operation in bulk publication and publication tracking. Use when: Use it when a client needs to run the auto list operation for bulk publication and publication tracking. Input: request: AutoListRequest. Main fields: WeListForYou: bool. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the auto list operation. Search terms: listing autolist. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Listing/AutoList request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the agent knows this is a non-idempotent destructive write. The description adds that confirmed=true is required and that the ChannelOAuthId header is resolved internally, which is useful, but it does not say what gets created/changed, what scope of listings is affected, or whether the operation can be reversed. "Returns the result or applies the effect" is empty filler.

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 padded with boilerplate that earns nothing: "Dedicated HGRApi tool... it is not a generic endpoint caller," "HGRApi functional documentation," and "Search terms: listing autolist." The useful facts (bulk publication, confirmed gate, channel header) are buried among restatements of the endpoint name.

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

Completeness3/5

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

An output schema and annotations exist, so the description need not explain return values or safety flags. However, for a destructive, non-idempotent bulk operation with an opaque request body, an agent still lacks the information needed to know what the call will do to the account's listings.

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 nominally 100%, but the body is an opaque object with no declared properties, so the schema provides almost nothing about payload shape. The description partially compensates by naming one field (WeListForYou: bool) and noting the request payload goes in the body verbatim, but a single named field out of an unspecified payload is thin.

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 names a specific verb and resource ("POST auto list operation in bulk publication and publication tracking") but the phrasing largely restates the endpoint name and title. It never explains what an "auto list" actually does, and it does not distinguish itself from near-identical siblings such as hgr_post_listing_saveautolist, hgr_post_listing_savebulkpublish, or hgr_post_listing_getbulkhistory.

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

Usage Guidelines2/5

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

"Use when: Use it when a client needs to run the auto list operation" is circular — it gives no condition that would let an agent choose this over the several sibling tools that also touch bulk listing publication. The only concrete guidance is the confirmed=true gate, which is already documented in the schema.

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

hgr_post_listingcreate_editpendingPost Listingcreate EditpendingC
Destructive
Inspect

Dedicated HGRApi tool for POST api/ListingCreate/EditPending. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST edit pending operation in manual product creation. Use when: Use it when a client needs to run the edit pending operation for manual product creation. Input: [FromBody] rq: EditPendingRequest. Main fields: ListingId: int. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the edit pending operation. Search terms: listingcreate editpending. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ListingCreate/EditPending request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare destructive=true, readOnly=false, and openWorld=true, so the agent knows this mutates data. The description adds two useful facts beyond that: a confirmed=true confirmation gate and that the ChannelOAuthId header is resolved internally. However, it never says what is overwritten or lost when editing a pending listing, nor what happens on failure — the key missing context for a destructive call.

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?

Purpose is front-loaded, but the text is padded with template boilerplate: 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', a redundant 'Search terms' line, and the channel requirement stated twice. Several sentences repeat the name rather than 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?

An output schema exists, so return values need no explanation, and the description correctly points to hgr_list_channels for channelOAuthId. What remains missing for a destructive mutation is the effect: what an 'edit pending' does to the listing versus submit/relist, and the minimum viable body content beyond ListingId.

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%, so the baseline is 3; channelOAuthId and confirmed are fully documented in the schema and the description only echoes them. The body is an opaque free-form object, and the description calls out just one field (ListingId: int), leaving most of the payload semantics unspecified.

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

Purpose3/5

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

It names the verb+resource (POST ListingCreate/EditPending) and the domain (manual product creation), but 'Provides the POST edit pending operation' largely restates the tool name. Nothing distinguishes it from siblings such as hgr_post_listingcreate_submit, hgr_get_pending_listings, or hgr_pause_pending_to_review, so an agent must infer what 'edit pending' actually changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' line is circular: 'Use it when a client needs to run the edit pending operation for manual product creation.' No when-not conditions, no named alternatives, and no prerequisite workflow (e.g., must a pending listing exist first?) are given. The only concrete guidance is the confirmed=true gate, which is a precondition rather than usage guidance.

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

hgr_post_listingcreate_getdataPost Listingcreate GetdataA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/ListingCreate/GetData. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Resolves one supplier URL into validated product and draft-listing data for the extension's manual product flow. ownerAgent: publication. Use when: Use when the extension submits one supplier URL and needs the product details required to prepare a manual product. Input: GetDataRequest body with Url and optional extension ExtraData. AliExpress URLs may include selected variation labels and a native skuId. Header channel: current ChannelOAuthId. Admin: false. Output: Returns ProductInformation and Listing when complete product details can be obtained. AliExpress manual imports refresh the selected SKU and full variation family from the supplier even when cached product details exist. ASOS UK, Matalan and Home Bargains imports refresh supplier data when the cached or browser-extracted product has no variations; the returned product uses its selected size identity to avoid an empty parent option and retain a stable size-specific URL. Explicit ASOS UK product URLs with a selected variant preserve that exact size and avoid adding a duplicate selected-size option when the same size is already present in the variation family. Explicit AliExpress SKU selections are preserved; invalid or conflicting selections return an error instead of substituting the first variation. Variation labels remain separate from other URL parameters. A successful product response may also include OtherUrls so the client can offer an optional switch to bulk publish. A recognized product whose details cannot be obtained returns ErrorType=UnknownProduct without OtherUrls; non-product pages may return OtherUrls for bulk discovery. Admin or impersonated sessions additionally receive Debug with extraction configuration excluding cookies, intermediate product snapshots, data-source decisions and final product/draft fields. Category filling is diagnosed separately through ChannelListing/GetCategorySpecifics; browser-side changes are not observed here. Search terms: listingcreate getdata. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ListingCreate/GetData request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds substantial operational detail: per-supplier caching and refresh rules (AliExpress, ASOS UK, Matalan, Home Bargains), preservation of explicitly selected SKUs and variation labels, error behavior (ErrorType=UnknownProduct vs. OtherUrls for non-product pages), and Debug payloads for admin/impersonated sessions. This is exactly the beyond-annotation context the dimension rewards.

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?

Purpose is front-loaded and the Purpose/Use when/Input/Output skeleton is scannable, but the body sprawls into supplier-by-supplier edge-case prose (ASOS size identity, AliExpress duplicate-size handling) that is unlikely to change how the agent invokes a two-parameter call. Filler like 'Search terms: listingcreate getdata' and 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller' does not earn its place.

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

Completeness5/5

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

For a POST with an output schema already documenting return shape, the description still covers input composition, refresh semantics, partial-success and error paths, and privacy scoping of Debug data. An agent has everything needed to call it correctly and to interpret ambiguous results.

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

Parameters4/5

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

With 100% schema coverage the baseline is 3, but the description goes further by unpacking the otherwise opaque 'body' parameter into Url plus optional ExtraData with selected variation labels and native skuId, and by confirming channelOAuthId is the current ChannelOAuthId header resolved internally. It stops short of naming field-level constraints or error cases for malformed bodies.

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

Purpose4/5

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

The description states a specific verb and outcome — 'Resolves one supplier URL into validated product and draft-listing data for the extension's manual product flow' — plus the exact endpoint (POST api/ListingCreate/GetData). It does not, however, differentiate itself from the near-identical sibling hgr_post_listingcreate_getdatabypsids or hgr_post_listingcreate_editpending, leaving the agent to infer which one applies.

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?

Explicit 'Use when: Use when the extension submits one supplier URL and needs the product details required to prepare a manual product' gives a clear triggering condition. It also names a boundary ('Category filling is diagnosed separately through ChannelListing/GetCategorySpecifics; browser-side changes are not observed here'), but never routes the agent away from the psid-based sibling, so alternatives are only partially covered.

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

hgr_post_listingcreate_getdatabypsidsPost Listingcreate GetdatabypsidsA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/ListingCreate/GetDataByPSIds. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Loads current supplier data for the exact product-source variations used during manual multi-variation product creation. ownerAgent: publication. Domain: publication. Entity: product_source_variation_data. Operation: read_and_refresh. Scope: selected_channel. Use when: Use it when the manual product form needs price, stock, EAN and source images for a known set of exact ProductSourceIds, especially before displaying or publishing all supplier variations. Do not use it to discover products or variations without exact ProductSourceIds, or for existing store-listing collection or ranking. Input: [FromBody] rq: GetDataByPSIdsRequest. Main fields: ProductSourceIds: int[]. Header channel: current ChannelOAuthId. Admin: false. Output: Returns ProductSources keyed by the requested ProductSourceId, with available images, price, stock and EAN. Cached stock is read from saved supplier stock options. Matalan and Home Bargains sizes are refreshed with live stock information, including zero stock for unavailable sizes. Sources configured for live refresh return non-empty freshly scraped images immediately; cached images are retained only when the refresh supplies no images. Requested AliExpress variation URLs using a readable selection, a numeric skuId/sku_id, or both together, without a saved supplier SKU are refreshed to resolve that exact variation and load its images. These AliExpress child refreshes obtain stock information and return refreshed data only after the supplier identity, price and available stock have been saved. If the supplier identity, price or available stock cannot be confirmed, or saving fails, the response retains cached data. Bare AliExpress product URLs are not refreshed by this recovery rule. The refresh can also update stored product-source data. Search terms: listingcreate getdatabypsids. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ListingCreate/GetDataByPSIds request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior1/5

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

The description discloses substantial behavior (cached stock vs. live refresh for Matalan/Home Bargains, AliExpress variation recovery, fallback to cached data on failure), but it also states 'The refresh can also update stored product-source data' while annotations declare readOnlyHint=true. A mutating side effect contradicts the declared read-only contract, so per the rubric this is scored as a contradiction despite the otherwise rich disclosure.

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

Conciseness3/5

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

Key routing info (purpose, use-when, do-not-use) is front-loaded, but the body is padded with internal metadata (ownerAgent, Domain, Entity, Operation, Scope, 'Search terms:', endpoint boilerplate) that is redundant against the tool name and schema. Roughly a third of the text could be removed without losing call-relevant information.

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

Completeness4/5

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

An output schema exists and annotations cover safety, so the description does not need to restate return shapes; it nonetheless explains keyed-by-ProductSourceId results, live vs. cached image/stock behavior, and failure fallbacks. The remaining gap is that the read-only vs. side-effect ambiguity is never reconciled for the agent.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3, and the description adds meaning: ProductSourceIds are 'exact' variation identifiers (int[]) taken from the manual form, and the channel header is the current ChannelOAuthId. It stops short of format/size limits or what an empty array does.

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

Purpose4/5

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

States a specific verb and resource: loads current supplier data (price, stock, EAN, images) for exact ProductSourceIds during manual multi-variation product creation. It implicitly separates itself from hgr_post_listingcreate_getdata and the listing-collection tools, though it never names those siblings explicitly.

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

Usage Guidelines5/5

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

Explicit 'Use when' clause (manual product form needing price/stock/EAN/images for a known set of exact ProductSourceIds) plus an explicit 'Do not use it to...' exclusion covering discovery and existing store-listing collection/ranking. This is exactly the when/when-not/alternative structure the dimension rewards.

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

hgr_post_listingcreate_submitPost Listingcreate SubmitA
Destructive
Inspect

Dedicated HGRApi tool for POST api/ListingCreate/Submit. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Submits a manually prepared listing for creation. ownerAgent: publication. Use when: Use only after manual listing creation data has already been prepared and the user wants to create or queue that exact listing. Input: [FromBody] rq: SubmitCreateRequest, compatible with CreateRequest. Variation Markup settings are rounded to the nearest integer, with midpoint values rounded away from zero. Non-finite, malformed or out-of-range Markup values are ignored without deleting an existing override. For eBay API only, a missing VAT variation setting is initialized from the saved draft VAT or the store's PublishVAT default. Explicit product VAT, including zero, is preserved. VAT must be an integer from 0 to 100. UserDevice is optional HGRWeb client telemetry; AI chat and MCP must omit it and must not invent a device value. Output: Creates the listing through ListingService and returns success. Search terms: listingcreate submit. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally. Internal-only request fields are removed automatically before the HGRApi request is sent.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/ListingCreate/Submit request body. Internal-only request fields are removed automatically.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=false, and the description adds substantive behavior beyond that: markup rounding rules, what happens to malformed/out-of-range markup (ignored, never deleting overrides), eBay-only VAT initialization, VAT integer 0-100 constraint, and automatic stripping of internal-only fields. It also discloses that internal channel/ChannelOAuthId resolution happens server-side.

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?

Purpose is front-loaded and the 'Use when'/'Input'/'Output' structure is easy to scan, but there is filler: a redundant restatement of the endpoint path, a 'Search terms:' line, and a repeated disclaimer about being non-generic. Several sentences could be merged without losing 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?

Output schema exists, so return values need not be documented, and the description covers the confirmation gates, channel resolution, and VAT/markup edge cases an agent would otherwise get wrong. What is missing is any mention of failure or partial-success behavior for a destructive, non-idempotent submit.

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 already 100%, so the baseline is 3, but the description adds real semantics the schema lacks: UserDevice must be omitted by AI chat/MCP and must not be invented, VAT must be an integer 0-100, and the body must be the exact payload. It stops short of describing the SubmitCreateRequest field set beyond 'compatible with CreateRequest'.

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

Purpose4/5

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

States a specific verb and resource ('Submits a manually prepared listing for creation') and names the owning agent (publication). It does not explicitly contrast with the closest siblings (hgr_post_listingcreate_editpending, hgr_post_listing_savebulkpublish), so an agent must infer the boundary, but the fixed-endpoint framing prevents it being read as a generic caller.

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?

'Use when: ... only after manual listing creation data has already been prepared and the user wants to create or queue that exact listing' gives a clear precondition and an exclusion (not for un-prepared data). The confirmed/impactConfirmed prerequisites are spelled out. Alternatives such as editpending or savebulkpublish are never named, which keeps it short of a 5.

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

hgr_post_listing_getbulkhistoryPost Listing GetbulkhistoryA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/Listing/GetBulkHistory. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Returns recent bulk publication jobs and their recorded status/errors for the selected store. ownerAgent: publication. Use when: Use it to inspect bulk publication history and diagnose a job's recorded error. Input: Optional AutoListRequest. Header channel: current ChannelOAuthId. Output: Returns logs with job status, error code, listing status and origin. EnumValues maps the numeric codes. ChannelListingStatusFlags is a bitmask: decode every set bit, not the whole number as one ordinal. Search terms: listing getbulkhistory. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Listing/GetBulkHistory request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior: the header channel/ChannelOAuthId is resolved internally, and ChannelListingStatusFlags must be decoded bitwise per set bit rather than as one ordinal. That is real decoding guidance beyond the structured fields.

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

Conciseness3/5

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

Most of it is front-loaded and useful, but the boilerplate framing ('Dedicated HGRApi tool for POST...', 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') and repeated mention of the channel header cost words without adding 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?

With an output schema present, the description needn't explain return values, and it still summarizes the output shape and the EnumValues/bitmask mapping. Combined with 100% parameter coverage, an agent has what it needs to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents both parameters, so the baseline is 3. The description adds value by identifying the body as an 'Optional AutoListRequest' and by tying channelOAuthId to hgr_list_channels, clarifying the parameter's provenance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource and the operation concretely: 'Returns recent bulk publication jobs and their recorded status/errors for the selected store.' That distinguishes it from sibling publication tools such as hgr_post_listing_autolist or hgr_post_listing_savebulkpublish, though it never explicitly names an alternative.

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 'Use when' clause gives a clear trigger: inspect bulk publication history and diagnose a job's recorded error. It does not name an alternative tool or state when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_listing_getscrapingconfigPost Listing GetscrapingconfigA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/Listing/GetScrapingConfig. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Returns supplier page extraction settings for the listing extension and bulk publication. Use when: Use it to identify product details and product links from a supported supplier page. Input: rq: GetScrapingConfigRequest. Main fields: Url: string, Site: eCountry?. Header channel: current ChannelOAuthId; Site defaults to the current store country. Output: Returns supplier-specific extraction settings. Keeps a configured product-link selector; uses all page links only when no link selector is configured. Search terms: listing getscrapingconfig. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Listing/GetScrapingConfig request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly, idempotent, openWorld), the description adds real behavior: the header channel is resolved internally from ChannelOAuthId, Site defaults to the current store country, and the tool keeps a configured product-link selector, using all page links only when none is configured. These are non-obvious operational details that the annotations do not 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 purpose is front-loaded, but the text carries boilerplate: the endpoint is restated, there is a redundant 'Search terms' line, and both 'Send the exact request payload in body' and the header-channel note are repeated in spirit. It is usable but several sentences do not pull extra weight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description does not need to explain return formats, and it still summarizes that supplier-specific extraction settings come back. Required params and the channel resolution are covered, leaving little ambiguity for a two-parameter read-only call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes further by explaining what Url and Site mean in context and that the channel comes from ChannelOAuthId resolved internally. It also states that the exact request payload must be sent in the body, which guides correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: it returns supplier page extraction settings for the listing extension and bulk publication, via a fixed endpoint. It explicitly distinguishes itself from a generic endpoint caller, so the agent knows this is not a passthrough proxy. However, it never contrasts itself with the many similar hgr_post_listing_* siblings, so the differentiation stops short of naming an alternative.

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?

A concrete 'Use when' clause is given: identify product details and product links from a supported supplier page. It also states the tool is fixed-endpoint rather than a generic caller, which implicitly rules out misuse. The description gives no explicit when-not guidance or named alternative for other listing-setting scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_listing_migratebulkPost Listing MigratebulkA
Destructive
Inspect

Dedicated HGRApi tool for POST api/Listing/MigrateBulk. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Queues selected listings for migration to a target channel in bulk. ownerAgent: publication. Use when: Use when concrete listing ids and a target channel are already selected and the user wants to migrate/copy them in bulk. Input: data: MigrateBulkRequest. Main fields: ListingIds: int[], TargetId: int, listFrequencyMinutes: int, dontListUntil: DateTime?, reviewBeforePublishing: bool, createdBy: int, ignoreVero: bool, ignoreOOS: bool, optimizeTitle: bool, optimizeDescription: bool, optimizeFields: bool. Header channel: current ChannelOAuthId. UserDevice is optional HGRWeb client telemetry; AI chat and MCP must omit it and must not invent a device value. Output: Creates migration bulk jobs for the selected listing ids. Search terms: listing migratebulk. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally. Internal-only request fields are removed automatically before the HGRApi request is sent.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Listing/MigrateBulk request body. Internal-only request fields are removed automatically.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructive, non-idempotent, open-world behavior; the description adds real context beyond that — the confirmed=true / impactConfirmed=true double gate, internal header resolution, automatic stripping of internal-only fields, and that UserDevice must be omitted rather than invented. It doesn't explain job lifecycle or failure semantics for the queued migration.

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?

Front-loads purpose and usage well, but includes boilerplate that earns little ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', 'Search terms: listing migratebulk') and repeats the required-flag rule already encoded in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive bulk mutation, the description covers the confirmation gates, auth/channel resolution, body composition, and output effect, with an output schema covering return values. Missing only escalation/failure context (e.g., what happens if some listing ids are invalid).

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%, but the description adds substantive meaning: it enumerates the MigrateBulkRequest body fields (ListingIds, TargetId, listFrequencyMinutes, dontListUntil, reviewBeforePublishing, createdBy, and the ignore/optimize flags) and warns against inventing the UserDevice telemetry value. That goes meaningfully beyond the terse schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Queues selected listings for migration to a target channel in bulk,' and disambiguates from a generic endpoint caller. It does not explicitly contrast with the closest sibling (hgr_post_listing_relistedbulk2), so it stops short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use when: concrete listing ids and a target channel are already selected and the user wants to migrate/copy them in bulk' gives a clear trigger, and it names the prerequisite that channelOAuthId must come from hgr_list_channels. No explicit 'when not to use' or named alternative, so not 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_listing_partnerPost Listing PartnerC
Destructive
Inspect

Dedicated HGRApi tool for POST api/Listing/Partner. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST partner operation in bulk publication and publication tracking. Use when: Use it when a client needs to run the partner operation for bulk publication and publication tracking. Input: request: AutoListRequest. Main fields: WeListForYou: bool. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the partner operation. Search terms: listing partner. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Listing/Partner request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is covered. The description adds genuinely useful process notes (payload must be sent verbatim, confirmed=true required before execution, ChannelOAuthId resolved internally via header), but it never states what gets destroyed or altered in a bulk publication, which is the key risk for this tool.

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?

Roughly half the text is boilerplate ('Dedicated HGRApi tool for POST...', 'explicit tool with a fixed endpoint; it is not a generic endpoint caller') that repeats the endpoint and consumes space before any substantive information. The one real constraint (confirmed=true) is buried near the end.

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, non-idempotent bulk-mutation tool with an output schema available, the description should say what bulk publication affects and any preconditions beyond confirmed=true. Instead it gives generic 'returns the result or applies the effect' phrasing, leaving the agent without a real picture of consequences.

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%, so the schema documents body, confirmed, and channelOAuthId fully. The description adds 'request: AutoListRequest' and cites a field (WeListForYou) that isn't even surfaced in the schema, which is mildly informative but not enough to exceed 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 names the endpoint (POST api/Listing/Partner) and frames intent as 'bulk publication and publication tracking', but 'the partner operation' is essentially a restatement of the tool name and never explains what a partner post actually does. Siblings like hgr_post_listing_autolist and hgr_post_listing_savebulkpublish are not differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' clause is circular: 'Use it when a client needs to run the partner operation.' No condition distinguishes it from the many other bulk-listing siblings, and there is no when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_listing_relistedbulk2Post Listing Relistedbulk2A
Destructive
Inspect

Dedicated HGRApi tool for POST api/Listing/RelistedBulk2. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Queues selected existing listings for relisting in bulk. ownerAgent: publication. Use when: Use when concrete listing ids are already selected and the user wants to relist them in bulk. Input: data: RelistedBulk2Request. Main fields: ListingIds: int[], listFrequencyMinutes: int, dontListUntil: DateTime?, reviewBeforePublishing: bool, createdBy: int, ignoreVero: bool, ignoreOOS: bool, optimizeTitle: bool, optimizeDescription: bool, optimizeFields: bool. Header channel: current ChannelOAuthId. UserDevice is optional HGRWeb client telemetry; AI chat and MCP must omit it and must not invent a device value. Output: Creates relist bulk jobs for the selected listing ids. Search terms: relistedbulk 2, listing relistedbulk 2. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally. Internal-only request fields are removed automatically before the HGRApi request is sent.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Listing/RelistedBulk2 request body. Internal-only request fields are removed automatically.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a destructive, non-idempotent, open-world write. The description adds real operational context beyond that: an explicit confirmation gate, ChannelOAuthId resolved internally, and the instruction that AI chat/MCP must omit UserDevice and never invent one. It stops short of explaining job behavior (async, partial failure, what happens to already-active listings).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose, usage, inputs, and confirmation requirement come first and each carry weight. The 'Search terms' sentence and repeated framing about being an explicit non-generic tool are low-value filler for an agent that already has the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive bulk-write tool with an output schema and full annotation coverage, the description supplies what the structured fields cannot: the semantic purpose, the confirmation requirement, channel resolution, and the body field inventory. Only the async job lifecycle and failure behavior are unaddressed.

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% for the three top-level parameters, so an adequate baseline is guaranteed. The description goes further by enumerating the body fields (ListingIds, listFrequencyMinutes, dontListUntil, reviewBeforePublishing, createdBy, ignoreVero/ignoreOOS/optimize*) that the schema leaves opaque, plus the note that internal-only fields are stripped. Field-level meaning is listed but not explained, so not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Queues selected existing listings for relisting in bulk.' The scope qualifier ('concrete listing ids are already selected') separates it from filter-driven relist flows. It doesn't explicitly name the single-listing sibling (hgr_relist_listing) or hgr_post_searchproduct_relist as the alternative, so differentiation is implied rather than stated.

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 'Use when' clause gives a clear triggering condition: listing ids are already selected and the user wants bulk relisting. It also states the confirmed=true prerequisite. No explicit when-not guidance or named alternative for the single-listing case, which keeps it below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_listing_saveautolistPost Listing SaveautolistA
Destructive
Inspect

Dedicated HGRApi tool for POST api/Listing/SaveAutolist. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Saves a bulk/autolist publication batch. ownerAgent: publication. Use when: Use when the user wants to queue multiple source URLs for publication or review through the autolist/bulk listing flow. Input: data: SaveAutolistRequest. Main fields: listings: string[][], listFrequencyMinutes: int, dontListUntil: DateTime?, reviewBeforePublishing: bool, createdBy: int, ignoreVero: bool, ignoreOOS: bool, optimizeTitle: bool, optimizeDescription: bool, optimizeFields: bool, publishVariations: bool, WeListForYou: bool, GeneratorId: int?. Each listings row is [sourceUrl] or [sourceUrl, optionalTitle]. sourceUrl is required; an omitted, null or empty title means no custom title is supplied. A supplied title is preserved. Header channel: current ChannelOAuthId. UserDevice is optional HGRWeb client telemetry; AI chat and MCP must omit it and must not invent a device value. Output: Creates bulk listing jobs and returns an AutolistSummaryViewModel with processed, duplicated, invalid and quota-related counts. Search terms: listing saveautolist. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally. Internal-only request fields are removed automatically before the HGRApi request is sent.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Listing/SaveAutolist request body. Internal-only request fields are removed automatically.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds context beyond annotations: requires confirmed=true before execution, channel resolved internally, internal-only fields stripped, and AI/MCP must omit UserDevice rather than invent one. Annotations already cover destructive/openWorld/non-idempotent, so these operational preconditions are the genuinely additive part.

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?

Front-loads purpose and usage well, but includes boilerplate ('Dedicated HGRApi tool for POST...', 'Search terms: listing saveautolist', 'Send the exact request payload in body') and restates an output shape that an output schema already documents.

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?

Covers payload semantics, confirmation requirement, channel resolution and telemetry omission, which is enough to invoke correctly for a destructive bulk-write tool with rich schema and output schema. Minor gaps: no quota/rate-limit detail despite mentioning quota-related counts, and no explicit distinction from the nearest bulk-publish siblings.

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?

Schema coverage is 100% (baseline 3), but the description goes well beyond it by enumerating the SaveAutolistRequest fields and, crucially, explaining that each listings row is [sourceUrl] or [sourceUrl, optionalTitle], that sourceUrl is required, and that an omitted/null/empty title means no custom title while a supplied title is preserved.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Saves a bulk/autolist publication batch' via POST api/Listing/SaveAutolist, and clarifies it is an explicit fixed-endpoint tool rather than a generic caller. It does not, however, explicitly distinguish itself from close siblings such as hgr_post_listing_autolist or hgr_post_listing_savebulkpublish.

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?

'Use when: Use when the user wants to queue multiple source URLs for publication or review through the autolist/bulk listing flow' gives a clear triggering condition. It lacks explicit when-not or named-alternative routing against the other bulk/autolist siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_listing_savebulkpublishPost Listing SavebulkpublishA
Destructive
Inspect

Dedicated HGRApi tool for POST api/Listing/SaveBulkPublish. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Saves a batch of URLs for bulk publication and returns one result per line. ownerAgent: publication. SearchTerms: save bulk publish, bulk publish, bulk publishing, mass publication, publicar en bulk. Use when: Use it when the client needs to know exactly which line was processed and which line was rejected without summarizing only by counts. Use it when selected products are source product URLs, Amazon URLs, ASIN URLs converted to source URLs, or source-page URLs. Do not use it to get existing listings or search candidates. Input: data: SaveAutolistRequest. Main fields: listings: string[][], listFrequencyMinutes: int, dontListUntil: DateTime?, reviewBeforePublishing: bool, createdBy: int, ignoreVero: bool, ignoreOOS: bool, optimizeTitle: bool, optimizeDescription: bool, optimizeFields: bool, publishVariations: bool, WeListForYou: bool. listings is string[][] where each row is [sourceUrl, optionalTitle]; sourceUrl is the supplier/source product URL to publish. Use reviewBeforePublishing for pending review, optimizeTitle/optimizeDescription/optimizeFields for optimization choices, and listFrequencyMinutes/dontListUntil for delayed publication. Do not send CatalogSubmitRequest.ProductsToList here. Header channel: current ChannelOAuthId. Internal client fields are managed by the tool and are not tool inputs. Output: Returns SaveBulkPublishLineStatus[] in the same order as listings. Values: Processed, ForbiddenWordsUrl, DuplicatedUrl, InvalidUrl, InvalidSourceUrl, ExistingListing, NoQuota, InvalidGenerator or DuplicatedProductSource. Search terms: listing savebulkpublish. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally. Internal-only request fields are removed automatically before the HGRApi request is sent.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Listing/SaveBulkPublish request body. Internal-only request fields are removed automatically.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this destructive, non-idempotent, open-world write, and the description adds real context on top: the confirmed/impactConfirmed double gate, that the ChannelOAuthId header is resolved internally, and that internal-only request fields are stripped before the call. It stops short of stating consequences of partial failure or whether published listings can be undone.

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?

Purpose is front-loaded and the Use when / Do not use blocks are scannable, but there is measurable waste: the 'Dedicated HGRApi tool for POST ...' preamble and 'explicit tool with a fixed endpoint' disclaimer add nothing, and the search-terms list is repeated twice (given inline and again as a trailing 'Search terms:' line) for no benefit.

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 destructive, gated write with an output schema, the definition covers everything an agent needs to invoke it: prerequisites (confirmed + impactConfirmed), channel provisioning (ChannelOAuthId via hgr_list_channels), the payload shape, and the expected per-line outcomes. Return values would be covered by the output schema, so the extra status enumeration is surplus rather than a missing piece.

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 gives the body only a generic one-line description with no subfields, so the description carries the real semantic load by naming the payload type (SaveAutolistRequest), the row format listings = [sourceUrl, optionalTitle], and the intent of reviewBeforePublishing, the optimize* flags, and the delay fields. It adds meaningful meaning beyond the schema, though it lists some flags (ignoreVero, WeListForYou, createdBy) without explaining them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — saves a batch of URLs for bulk publication and returns one result per line — which is a concrete outcome an agent can match to a user request. It also carves out what it is not (not a generic endpoint caller, not for retrieving existing listings or search candidates), separating it from siblings like hgr_post_listing_getbulkhistory and the search-product tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Two explicit 'Use when' conditions are given, including the discriminating one: use it when the client needs per-line processed/rejected status rather than an aggregate count, and when inputs are source product / Amazon / ASIN-converted URLs. 'Do not use it to get existing listings or search candidates' supplies an exclusion, but no alternative sibling is named for those cases, leaving the redirect implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_notificationcenter_getallPost Notificationcenter GetallC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/NotificationCenter/GetAll. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST get all operation in notification centre operations. Use when: Use it when a client needs to run the get all operation for notification centre operations. Input: rq: GetAllRequest. Main fields: Page: int. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get all operation. Search terms: notificationcenter getall. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/NotificationCenter/GetAll request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful framing — fixed endpoint, not a generic caller, exact payload in body, channel resolved internally — but the last point is muddled since channelOAuthId is also a required body/query parameter, leaving the auth path ambiguous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The endpoint is front-loaded, which is good, but the body is padded with boilerplate ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') and a 'Search terms' line that carries no operational value for an agent. Several sentences restate the same idea in template form.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and both parameters are fully described in the schema. What remains missing is modest: what the 'get all' actually returns (a notification list scoped to the channel?) and pagination behavior for the Page field.

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 body and channelOAuthId are already documented in the schema; baseline 3 applies. The description names 'rq: GetAllRequest' and 'Page: int' but adds no meaning — no pagination semantics, page size, filters, or sorting — so it does not improve on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific endpoint (POST api/NotificationCenter/GetAll) and calls it a 'get all operation in notification centre operations,' but never states what is actually being listed (notifications for a channel). It repeats the tool name rather than describing the resource, and gives no basis for distinguishing it from siblings like hgr_post_notificationcenter_markallasread beyond the raw route.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause restates the purpose circularly ('use it when a client needs to run the get all operation'), providing no real selection criterion. There are no exclusions, no mention of the other NotificationCenter siblings, and no stated prerequisites beyond the header channel note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_notificationcenter_markallasreadPost Notificationcenter MarkallasreadC
Destructive
Inspect

Dedicated HGRApi tool for POST api/NotificationCenter/MarkAllAsRead. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST mark all as read operation in notification centre operations. Use when: Use it when a client needs to run the mark all as read operation for notification centre operations. Input: No explicit input parameters required. Output: Returns the result or applies the effect of the mark all as read operation. Search terms: notificationcenter markallasread. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/NotificationCenter/MarkAllAsRead request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true; the description usefully adds that confirmed=true is required before execution and that the channel/ChannelOAuthId is resolved internally. But it never explains that this clears unread state for every notification (the destructive effect) or what the result payload looks like, so the added value is partial.

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 padded with boilerplate ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller'), redundant restatement of the operation name, and a 'Search terms' line that repeats the tool name. The useful facts (confirmed=true, internal channel resolution) are buried in the middle rather than front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and annotations cover the safety profile, so less is needed here, but the claim of 'no input parameters required' is factually wrong for a tool with three required parameters and would cause failed calls. It also fails to note the effect on already-read notifications, which matters for a destructive, non-idempotent action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage for all three required parameters, so it should carry this dimension. Instead the description states 'No explicit input parameters required', which directly conflicts with a schema requiring body, confirmed and channelOAuthId, actively misleading the agent about what it must send.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Explicitly names the verb and resource: it performs the 'mark all as read' operation in the notification centre, and states it is a fixed-endpoint tool rather than a generic caller. However, it never distinguishes itself from the closely-related siblings hgr_post_notificationcenter_markasread and hgr_post_notificationcenter_markallchannelasread, which an agent would easily confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' line merely restates the operation ('use it when a client needs to run the mark all as read operation'), giving no real situational guidance. No alternatives are named and there is no hint about when to choose the per-message markasread or per-channel variants instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_notificationcenter_markallchannelasreadPost Notificationcenter MarkallchannelasreadC
Destructive
Inspect

Dedicated HGRApi tool for POST api/NotificationCenter/MarkAllChannelAsRead. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST mark all channel as read operation in notification centre operations. Use when: Use it when a client needs to run the mark all channel as read operation for notification centre operations. Input: Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the mark all channel as read operation. Search terms: notificationcenter markallchannelasread. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/NotificationCenter/MarkAllChannelAsRead request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a mutation (readOnlyHint=false, destructiveHint=true, openWorldHint=true), so the safety profile is known. The description usefully adds that execution is gated on confirmed=true and that the ChannelOAuthId header is resolved internally, but it never explains the actual effect (all notifications across one channel vs. all channels) or whether it is reversible — notable given destructiveHint=true.

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 padded with boilerplate ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', 'Search terms: notificationcenter markallchannelasread') and repeats the same idea across Purpose/Use-when/Output lines. The genuinely useful facts (confirmation gate, channel header) are buried mid-paragraph.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and all params are documented, so return values and inputs are covered elsewhere. What remains thin is the semantic scope of the operation and its irreversibility, which matters for a destructive, non-idempotent, open-world call — the description gestures at this only via the confirmation requirement.

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 three parameters are already documented in the schema, including that channelOAuthId comes from hgr_list_channels. The description only echoes 'send the exact request payload in body' and the channel header rule, adding no syntax or format detail beyond structured fields; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence ('Dedicated HGRApi tool for POST api/NotificationCenter/MarkAllChannelAsRead') and the 'Purpose' line simply restate the tool name and underlying endpoint. It never distinguishes this from the near-identical siblings hgr_post_notificationcenter_markallasread and hgr_post_notificationcenter_markasread, which is the critical ambiguity an agent faces here.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use when: Use it when a client needs to run the mark all channel as read operation' is circular and adds no selection criteria. With three overlapping notification-center siblings, the description gives no when-not guidance, no prerequisite ordering, and no routing logic.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_notificationcenter_markasreadPost Notificationcenter MarkasreadC
Destructive
Inspect

Dedicated HGRApi tool for POST api/NotificationCenter/MarkAsRead. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST mark as read operation in notification centre operations. Use when: Use it when a client needs to run the mark as read operation for notification centre operations. Input: rq: MarkAsReadRequest. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the mark as read operation. Search terms: notificationcenter markasread. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/NotificationCenter/MarkAsRead request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true; the description doesn't explain why marking as read is destructive or what effect it has on the notification record. It does add useful context: an explicit confirmed=true gate before execution and that the ChannelOAuthId header is resolved internally, which is genuine value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Padded with meta-commentary ("This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller"), a redundant "Search terms:" line, and repeated purpose statements. The one operationally important fact (confirmed=true required) is buried mid-paragraph rather than front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, and the confirmation gate plus header resolution are covered. But for a destructive mutation with three sibling variants, the description leaves the agent unable to tell which mark-as-read tool to pick or what specifically is destroyed/changed.

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%, so body, confirmed and channelOAuthId are all documented in the schema itself. The description only names "rq: MarkAsReadRequest" and repeats the confirmed requirement, adding no field-level semantics or payload shape guidance beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the verb and resource ("POST mark as read operation in notification centre operations") and names the endpoint, but the phrasing is template boilerplate ("Provides the X operation") and never distinguishes it from the near-identical siblings hgr_post_notificationcenter_markallasread and hgr_post_notificationcenter_markallchannelasread, which is exactly the ambiguity an agent needs resolved.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use when: Use it when a client needs to run the mark as read operation" restates the name instead of giving a condition. No alternatives are named despite three mark-as-read siblings in the tool list, and no prerequisite beyond the confirmed flag is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_sales_fixedorderlinePost Sales FixedorderlineA
Destructive
Inspect

Dedicated HGRApi tool for POST api/Sales/FixedOrderLine. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Completes an exact order line that is in CompletedAutoOrderPending. ownerAgent: orders-autoordering. Domain: orders. Entity: order_line. Operation: complete_pending_autoorder. Scope: current_store. Use when: Use only for an exact order line whose current state is CompletedAutoOrderPending and the user confirms the corresponding visible Mark as Purchased action. Input: [FromBody] rq: LoadAddressesFromOrderLineRequest. Main fields: OrderLineIds: int[]. Required Header channel: current ChannelOAuthId. Output: Moves eligible CompletedAutoOrderPending lines to CompletedAutoOrder and returns refreshed order data. Search terms: sales fixedorderline. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Sales/FixedOrderLine request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true; the description adds the actual state transition, the required confirmed=true gate, and the internal channel/ChannelOAuthId resolution. It also notes that refreshed order data is returned, which is meaningful context beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and precondition are front-loaded, but the description is padded: 'Search terms: sales fixedorderline' adds nothing, and the channel/ChannelOAuthId requirement is stated twice. Several boilerplate lines ('explicit tool with a fixed endpoint; it is not a generic endpoint caller') 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?

For a destructive, non-idempotent mutation tool, the definition covers precondition, confirmation requirement, channel resolution, and the output effect ('moves eligible lines... and returns refreshed order data'). With an output schema present, return values needn't be spelled out further, so the description is close to complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so body, confirmed, and channelOAuthId are already documented. The description adds the payload type (LoadAddressesFromOrderLineRequest) and repeats the OrderLineIds:int[] main field plus the confirmed=true and channel header requirements, but offers no syntax or format detail beyond the schema. 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?

States a specific verb+resource (POST /api/Sales/FixedOrderLine) and the business function: moving lines from CompletedAutoOrderPending to CompletedAutoOrder. The state precondition helps separate it from siblings like hgr_mark_order_lines_fixed or hgr_force_process_order_lines, but it never names an alternative, so differentiation is left partly to inference.

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?

'Use only for an exact order line whose current state is CompletedAutoOrderPending and the user confirms the corresponding visible Mark as Purchased action' is an explicit when-to-use with a restriction. There is no explicit 'use X instead when Y', which keeps it from the top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_sales_forceprocessorderlinePost Sales ForceprocessorderlineC
Destructive
Inspect

Dedicated HGRApi tool for POST api/Sales/ForceProcessOrderLine. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST force process order line operation in sales/order operations. Use when: Use it when a client needs to run the force process order line operation for sales/order operations. Input: [FromBody] rq: LoadAddressesFromOrderLineRequest. Main fields: OrderLineIds: int[]. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the force process order line operation. Search terms: sales forceprocessorderline. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Sales/ForceProcessOrderLine request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds genuinely useful context (requires confirmed=true and impactConfirmed=true, references the ChannelOAuthId header), but also claims the channel is 'resolved internally' while the schema requires channelOAuthId as a caller-supplied required parameter, muddying rather than clarifying 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 tool identity is front-loaded, but the text is padded with boilerplate ('Dedicated HGRApi tool for...', 'This is an explicit tool with a fixed endpoint', 'Search terms:') and a tautological usage sentence. Several sentences restate the tool name rather than 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?

An output schema exists, so return values need no explanation, and the confirmation semantics are covered. Still, the body payload structure is only hinted at via OrderLineIds, and the internal-vs-caller-supplied channel token ambiguity is left unresolved for a high-impact destructive operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description does add that the body's main field is OrderLineIds: int[], which the untyped body schema does not convey. That value is partly offset by the 'ChannelOAuthId resolved internally' claim that conflicts with the required channelOAuthId input.

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 names a specific verb+resource (POST force process order line in sales/order operations) and states it is a fixed-endpoint tool, not a generic caller. However, it gives no differentiation from very close siblings like hgr_force_process_order_lines, hgr_post_sales_processorderline, or hgr_post_sales_fixedorderline, so an agent cannot confidently choose among them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' clause merely restates the tool name ('use it when a client needs to run the force process order line operation'), offering no situational context, prerequisites, or exclusions. The confirmation-gating requirement is the only actionable guidance and it is a schema requirement, not alternative-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_sales_generatetrackingidPost Sales GeneratetrackingidA
Destructive
Inspect

Dedicated HGRApi tool for POST api/Sales/GenerateTrackingId. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Generates an HGR/VelociPacker tracking number for exact existing order lines that have already been processed or marked as purchased. ownerAgent: orders-autoordering. Domain: orders. Entity: order_line. Operation: generate_tracking. Scope: current_store. Use when: Use it when the user explicitly asks HGR to generate tracking for an existing order. A manually purchased supplier order must first be marked as purchased in HGR; in HGRWeb the user then clicks Generate it in Orders. Input: [FromBody] rq: LoadAddressesFromOrderLineRequest. Main fields: OrderLineIds: int[]. Required Header channel: current ChannelOAuthId. Output: Queues HGR/VelociPacker tracking generation for each supplied order line and returns refreshed order data on success or the processing result when generation cannot start. Search terms: sales generatetrackingid. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Sales/GenerateTrackingId request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true, idempotentHint=false and openWorldHint=true, and the description adds real context beyond them: it queues tracking generation per order line rather than completing synchronously, returns refreshed order data or a processing result when generation cannot start, and requires confirmed=true plus an internally resolved ChannelOAuthId header. It does not contradict the destructive hint, though it does not explain in what sense the operation is destructive (e.g. downstream supplier commitment).

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 important information (endpoint, purpose, use-when, prerequisite) is front-loaded, but the text carries boilerplate — 'This is an explicit tool with a fixed endpoint', 'Search terms: sales generatetrackingid', and repeated channel-header statements — that dilutes an otherwise tight definition.

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 mutating, open-world tool the description covers purpose, prerequisite state, required confirmation, and payload shape, and an output schema exists so return values need no elaboration. What is missing is the distinction from hgr_generate_tracking_id and any note on what 'destructive' means here, which keeps it below 5.

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%, but the body is an opaque object with no properties documented; the description compensates by naming the main field OrderLineIds: int[] and the rq type LoadAddressesFromOrderLineRequest, plus the required channel header. The confirmed and channelOAuthId semantics are already in the schema, so nothing more is needed there.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the concrete endpoint (POST api/Sales/GenerateTrackingId) and states the effect: generating an HGR/VelociPacker tracking number for existing, already-processed order lines. It also explicitly denies being a generic endpoint caller. It loses a point because it never distinguishes itself from the near-identical sibling hgr_generate_tracking_id, which an agent will have to disambiguate 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' clause ties the tool to the user asking HGR to generate tracking for an existing order, and it adds the prerequisite that a manually purchased supplier order must first be marked as purchased (with the HGRWeb 'Generate it' flow as analogue). No exclusions or named alternative tools are given, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_sales_loadaddressesfromorderlinePost Sales LoadaddressesfromorderlineC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/Sales/LoadAddressesFromOrderLine. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST load addresses from order line operation in sales/order operations. Use when: Use it when a client needs to run the load addresses from order line operation for sales/order operations. Input: [FromBody] rq: LoadAddressFromOrderLineRequest. Main fields: OrderLineId: int. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the load addresses from order line operation. Search terms: sales loadaddressesfromorderline. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Sales/LoadAddressesFromOrderLine request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description is not the sole source of safety information, but what it adds is hedged boilerplate: "Returns the result or applies the effect of the load addresses from order line operation" is ambiguous about whether state changes. It also contradicts the schema by stating "Header channel / ChannelOAuthId resolved internally" while channelOAuthId is a required caller-supplied parameter. No useful behavioral context (side effects, payload constraints, failure modes) is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Sentences are padded with boilerplate that adds no selection value: "This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller" and "Search terms: sales loadaddressesfromorderline". The actionable content (body payload, OrderLineId) is buried mid-paragraph rather than front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the fixed-endpoint framing helps. Yet for a POST whose body is untyped in the schema, listing a single field and hedging on the effect leaves an agent without enough to build a correct request or know what the operation achieves.

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 nominally 100%, so the baseline is 3, and the description does contribute something by naming OrderLineId as the main body field. That contribution is limited: the body property in the schema is opaque (no type or nested properties), so an agent still cannot infer the full request payload from the description, which only lists one field.

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 names a specific verb+resource (POST LoadAddressesFromOrderLine in sales/order operations) and pins it to a fixed endpoint, so it is not a generic caller. However, "load addresses from order line" is never explained in plain terms – an agent cannot tell whether it fetches stored addresses, computes shipping addresses, or mutates an order line. It also does not distinguish itself from close siblings such as hgr_load_order_addresses, hgr_load_shipping_options or hgr_set_shipping_address.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance is circular: "Use it when a client needs to run the load addresses from order line operation for sales/order operations" restates the name rather than describing a scenario. No exclusions, prerequisites, or alternatives among the many load_*/sales siblings are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_sales_loadprogressPost Sales LoadprogressC
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/Sales/LoadProgress. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST load progress operation in sales/order operations. Use when: Use it when a client needs to run the load progress operation for sales/order operations. Input: [FromBody] rq: LoadProgressRequest. Main fields: Id: int. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the load progress operation. Search terms: sales loadprogress. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Sales/LoadProgress request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds useful auth context ('ChannelOAuthId resolved internally', 'send exact payload in body') and clarifies it is a fixed endpoint, not a generic caller. It does not disclose what the operation actually loads or any side effects, so with annotations doing the heavy lifting a 3 is right.

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 endpoint identification is front-loaded, but the text is puffed with doc-template boilerplate ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', 'Search terms: sales loadprogress') and repeats the same 'load progress operation for sales/order operations' phrasing three times.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, and auth handling is stated. However, for a POST endpoint with an opaque body the description leaves a key gap: what 'load progress' actually does and how it differs from the sibling hgr_load_order_progress.

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% for the two parameters, so the baseline is 3. The description only adds that LoadProgressRequest's main field is 'Id: int', which is thin detail about an otherwise opaque body object, and offers no syntax or constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

It names the verb+endpoint ('POST api/Sales/LoadProgress') but 'load progress operation' restates the tool name rather than explaining what it actually does with sales/order data. It also never distinguishes itself from the sibling hgr_load_order_progress, which an agent would find nearly indistinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use it when: Use it when a client needs to run the load progress operation for sales/order operations' is circular and adds no condition for selection. No when-not guidance and no mention of the similar hgr_load_order_progress or other hgr_post_sales_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_sales_manuallydispatchorderlinePost Sales ManuallydispatchorderlineA
Destructive
Inspect

Dedicated HGRApi tool for POST api/Sales/ManuallyDispatchOrderLine. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Records exact existing order lines as manually purchased in HGR. This is the HGRWeb Mark as Purchased action for normal manual-purchase states. ownerAgent: orders-autoordering. Domain: orders. Entity: order_line. Operation: mark_purchased. Scope: current_store. Use when: Use only after the user confirms that they already placed the real supplier order manually and wants to record that purchase in HGR before generating HGR/VelociPacker tracking. Input: [FromBody] rq: LoadAddressesFromOrderLineRequest. Main fields: OrderLineIds: int[]. Required Header channel: current ChannelOAuthId. Output: Changes eligible order lines to the manually purchased state and returns refreshed order data. Search terms: sales manuallydispatchorderline. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Sales/ManuallyDispatchOrderLine request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already disclose destructive=true, readOnly=false, and idempotent=false. The description adds useful context beyond that: it changes eligible order lines to the manually purchased state, returns refreshed order data, requires confirmation, and resolves the channel header internally. It does not detail side effects or reversibility beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat bloated with meta framing, functional documentation labels, and search terms. The purpose is not fully front-loaded, and some sentences, such as 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller,' add little beyond the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Considering the mutation annotations, full schema coverage, and existing output schema, the description is largely complete: it covers the action, confirmation requirement, body request type, main field, and output behavior. It could be improved by distinguishing the tool from similar siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning by naming OrderLineIds as the main body field and clarifying that channelOAuthId is resolved internally and confirmed must be true. It does not explain body field formats or constraints beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: it records exact existing order lines as manually purchased in HGR, and identifies the HGRWeb Mark as Purchased action. It does not, however, distinguish this tool from near-identical siblings such as hgr_manually_dispatch_order_lines or hgr_mark_order_lines_as_purchased.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear condition: use only after the user confirms the real supplier order was placed manually, and requires confirmed=true before execution. It omits explicit when-not guidance and does not name alternative sibling tools for overlapping scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_sales_markasdispatchedPost Sales MarkasdispatchedA
Destructive
Inspect

Dedicated HGRApi tool for POST api/Sales/MarkAsDispatched. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Acknowledges in HGR that an order-dispatch warning was handled manually for one exact order line. ownerAgent: orders-autoordering. Domain: orders. Entity: order_line. Operation: acknowledge_manual_dispatch. Scope: current_store. Use when: Use only when the user explicitly wants to clear the HGR warning after manually handling dispatch in the marketplace. Input: [FromBody] rq: AddAutoOrderReferenceRequest. Main field: OrderLineId: int. Required Header channel: current ChannelOAuthId. Output: Marks the dispatch warning as acknowledged in HGR and returns whether the order line was updated. Search terms: sales markasdispatched. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Sales/MarkAsDispatched request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (which already mark it destructive and non-idempotent), the description discloses that confirmed=true is required before execution and that the tool returns whether the order line was updated. It does not elaborate on side effects or reversibility beyond the stated acknowledgment purpose, but adds useful safety context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose and usage, but includes metadata labels (ownerAgent, Domain, Entity, Operation, Scope) and a search-terms line that add length without helping an agent decide or invoke. Structurally clear, but not every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description is largely complete: it covers purpose, usage condition, confirmation requirement, body type/main field, channel header, and return behavior. The main remaining gap is that the body schema itself does not enumerate fields beyond the main one, but the description points to the key field needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage the baseline is 3, but the description adds meaning by naming the body type ([FromBody] AddAutoOrderReferenceRequest) and its main field OrderLineId: int, which the schema does not. It also clarifies that channelOAuthId is the required header channel value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it 'acknowledges in HGR that an order-dispatch warning was handled manually for one exact order line' via POST api/Sales/MarkAsDispatched. It clearly distinguishes itself from a generic endpoint caller, but does not explicitly name or contrast with close siblings such as hgr_post_sales_manuallydispatchorderline.

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 'Use when' clause is explicit: 'Use only when the user explicitly wants to clear the HGR warning after manually handling dispatch in the marketplace.' It also specifies the confirmed=true precondition. It stops short of naming when-not-to-use cases or alternatives, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_sales_processorderlinePost Sales ProcessorderlineA
Destructive
Inspect

Dedicated HGRApi tool for POST api/Sales/ProcessOrderLine. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Starts automatic supplier purchase processing for exact existing order lines using the current saved auto-ordering settings. ownerAgent: orders-autoordering. Use when: Use it when the user explicitly wants to process or retry an existing order after correcting a payment card or another auto-ordering setting. Input: [FromBody] rq: LoadAddressesFromOrderLineRequest. Main fields: OrderLineIds: int[]. Required Header channel: current ChannelOAuthId. Output: Attempts normal processing for each supplied order line and returns refreshed order data on success or the processing error result. Search terms: sales processorderline. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Sales/ProcessOrderLine request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, idempotent=false and openWorld=true, so the safety profile is covered. The description adds context the annotations do not: a confirmed=true gate before execution, that the channel header is resolved internally, and that the call both performs the processing attempt and returns refreshed order data or an error. No conflicting claim is made.

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?

Purpose and usage are front-loaded, which is good. The entry is padded with boilerplate ('explicit tool with a fixed endpoint; it is not a generic endpoint caller') and a low-value 'Search terms: sales processorderline' line, and the output behaviour is described even though an output schema exists.

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 destructive write endpoint, the description covers the confirmation gate, auth header handling, the main payload field and the success/error outcome. With an output schema present, returning to return-value detail is redundant but not harmful. Sibling differentiation is the one material gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline would be 3. The description earns more by surfacing the request type (LoadAddressesFromOrderLineRequest) and the key payload field OrderLineIds: int[], neither of which appears in the schema, and by explaining the confirmed and channelOAuthId requirements in operational terms.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: 'Starts automatic supplier purchase processing for exact existing order lines using the current saved auto-ordering settings.' That is far more than a restatement of the tool name. It does not, however, distinguish this from close siblings such as hgr_force_process_order_lines, hgr_process_order_lines or hgr_post_sales_forceprocessorderline, which an agent would need in order to choose correctly.

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?

An explicit 'Use when' clause is present: process or retry an existing order after correcting a payment card or another auto-ordering setting. That gives a concrete trigger. It stops short of naming alternatives or exclusions, so an agent comparing it with the force-process and manual-dispatch siblings is still left to infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_sales_stoporderlinePost Sales StoporderlineC
Destructive
Inspect

Dedicated HGRApi tool for POST api/Sales/StopOrderLine. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST stop order line operation in sales/order operations. Use when: Use it when a client needs to run the stop order line operation for sales/order operations. Input: [FromBody] rq: LoadAddressesFromOrderLineRequest. Main fields: OrderLineIds: int[]. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the stop order line operation. Search terms: sales stoporderline. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/Sales/StopOrderLine request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, but the description never explains the consequences — what stopping a line does, whether it can be reversed, or what state the line ends in. 'Returns the result or applies the effect of the stop order line operation' is content-free, and the confirmed gate it mentions is already documented in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Filled with self-referential filler ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', 'Search terms: sales stoporderline') that pushes the actually useful payload hint into the middle. The real information could be stated in two sentences instead of a generated block.

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?

An output schema exists, so return values need no explanation, and parameters are fully described in the schema. What's missing is the one thing only the description can supply: what a stop order line operation means for the seller's listing/order and what happens after the call. For a destructive, non-idempotent write that gap matters.

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%, so baseline is 3. The description does add something the schema lacks — that the body is a LoadAddressesFromOrderLineRequest with OrderLineIds: int[] — but given the schema's body is an untyped object, this is a partial and slightly suspicious hint (the request type name doesn't match 'StopOrderLine') rather than a reliable parameter map.

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 does name a specific verb and resource (POST api/Sales/StopOrderLine in sales/order operations), so the basic purpose is recoverable. But it never says what 'stop order line' actually does to the order, and it offers no differentiation from sibling hgr_stop_order_lines or the other sales line tools (hgr_post_sales_forceprocessorderline, hgr_post_sales_markasdispatched). Mostly boilerplate wrapped around the endpoint path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The guidance is circular: 'Use it when a client needs to run the stop order line operation.' That restates the name rather than stating conditions, prerequisites, or when to prefer hgr_stop_order_lines or another sales line tool. Only the 'Requires confirmed=true' line gives any actionable condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_defaultsettingsmultiplePost Searchproduct DefaultsettingsmultipleC
Destructive
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/DefaultSettingsMultiple. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST default settings multiple operation in existing published product/listing management. Use when: Use it when a client needs to run the default settings multiple operation for existing published product/listing management. Input: [FromBody] rq: RemoveMultipleListingRequest. Main fields: Ids: int[]. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the default settings multiple operation. Search terms: searchproduct defaultsettingsmultiple. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/DefaultSettingsMultiple request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is partly covered. The description adds the confirmation gate ('Requires confirmed=true before execution'), the internal ChannelOAuthId resolution, and that the payload must be sent verbatim — genuine behavioral context beyond annotations. It still never says what gets destroyed or how many listings can be affected, which is a notable gap for a destructive multi-item operation.

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?

A large share of the text is boilerplate ('Dedicated HGRApi tool for...', 'This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller', 'Search terms: ...') and the Purpose/Use-when sentences repeat each other. The genuinely useful facts (confirmed gate, request type, channel resolution) are buried in the middle rather than front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema and full annotations exist, so return values and safety hints need not be re-explained. However, for a destructive, non-idempotent batch operation on existing listings, the agent still cannot tell what 'default settings multiple' does to the listings or what the Ids collection scopes — the single most important thing to know before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description modestly enriches it by naming the body type (RemoveMultipleListingRequest) and calling out the main field Ids: int[] plus the header channel, but it does not clarify the expected payload shape or limits beyond what the schema-typed body already conveys.

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 restates the endpoint name ('Provides the POST default settings multiple operation in existing published product/listing management') without explaining what the operation actually does to the listings. The only concrete hints are the request type 'RemoveMultipleListingRequest' and the 'Ids: int[]' field, which suggest removal/en-masse behavior but are never spelled out. It distinguishes itself from siblings only in the negative ('not a generic endpoint caller').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause is circular: 'Use it when a client needs to run the default settings multiple operation.' No condition distinguishes it from siblings like hgr_post_searchproduct_removelisting, hgr_remove_listing, or hgr_post_searchproduct_savemultipleproductchanges. No prerequisites or exclusions are stated beyond the confirmed=true gate (which is schema-level, not guidance).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_getlistingsimagesPost Searchproduct GetlistingsimagesA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/getListingsImages. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Returns the first image of active listings for concrete publication ids. ownerAgent: listings. Domain: listings. Entity: exact_listing. Operation: get_exact. Scope: current_store. Use when: Use it only when concrete listingIds are already known and thumbnails are needed for those exact listings. Input: Header channel: current ChannelOAuthId and body int[] with concrete listingIds. Does not accept free search or store scans. Output: Returns a map from published product id to image URLs. Search terms: searchproduct getlistingsimages. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/getListingsImages request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly/idempotent/non-destructive, so the description focuses on what they cannot: it declares the endpoint fixed rather than a generic caller, that ChannelOAuthId is resolved internally from the header channel, and the shape of the result (map from published product id to image URLs).

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 purpose and constraints are front-loaded and useful, but the opening sentence restates the tool name and endpoint, and trailing boilerplate such as "Search terms: searchproduct getlistingsimages" and "Send the exact request payload in body" add little. It is longer than it needs to be for two parameters.

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?

With an output schema present and full schema coverage, the description covers everything else an agent needs: prerequisite id knowledge, auth channel resolution, scope, and exclusions. No material gap remains 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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: body is an int[] of concrete listingIds (the schema only calls it an opaque request body), and channelOAuthId must come from hgr_list_channels for the selected visible store.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: returns the first image of active listings for concrete publication ids, scoped to the current store. The entity/operation tags (exact_listing / get_exact) further pin it apart from broad listing-search tools in the sibling set.

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?

"Use it only when concrete listingIds are already known and thumbnails are needed" plus "Does not accept free search or store scans" gives an explicit when and when-not. It stops short of naming the sibling to use instead (e.g. hgr_post_searchproduct_getpendinglistingsimages2) for the pending-listing case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_getpendinglistingsimages2Post Searchproduct Getpendinglistingsimages2B
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/getPendingListingsImages2. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST get pending listings images2 operation in existing published product/listing management. Use when: Use it when a client needs to run the get pending listings images2 operation for existing published product/listing management. Input: [FromBody] listings: GetPendingListingsImages2Request[]. Main fields: Id: int, SourceId: int. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the get pending listings images2 operation. Search terms: getpendinglistingsimages 2, searchproduct getpendinglistingsimages 2. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/getPendingListingsImages2 request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false. The description adds useful context that the endpoint is fixed, the exact payload must be sent in the body, and the ChannelOAuthId header is resolved internally, but it does not describe authorization requirements, rate limits, or meaningful output behavior beyond 'returns the result or applies the effect'.

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 labeled and front-loads the endpoint context, but it repeats the same operation name several times, includes boilerplate about being an explicit tool, and ends with search terms that do not help an agent invoke it. It is usable but not tightly written.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The presence of an output schema and rich annotations reduces what the description must cover, and it does supply endpoint, payload, and header requirements. Still, it leaves the body object's full shape unclear and does not distinguish this tool from nearby listing-image or pending-listing tools, which matters given the large sibling set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is already 3. The description adds value beyond the schema by identifying the body as an array of GetPendingListingsImages2Request and calling out main fields Id and SourceId, plus noting that channelOAuthId comes from hgr_list_channels for the selected visible store.

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 names the POST endpoint and the 'get pending listings images2' operation, and clarifies that this is not a generic endpoint caller. However, it does not explain what 'get pending listings images2' actually returns or how it differs from close siblings such as hgr_post_searchproduct_getlistingsimages or hgr_get_pending_listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' sentence merely restates the operation name: use it when a client needs to run the get pending listings images2 operation. There is no guidance on when to choose this over similar listing-image tools, no exclusions, and no prerequisites beyond the body/header requirement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_listnowPost Searchproduct ListnowA
Destructive
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/ListNow. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Retries a failed pending publication or submits a pending product now. Domain: listings. Entity: pending_listing. Operation: retry_or_publish. Scope: current_store. State: pending. RequiredInputs: confirmed. ownerAgent: publication. SupportingAgents: listings, support. AllowedIntents: retry_pending_publication, publish_pending_listing. ReadOnly: false. RequiresConfirmation: true. RequiresChannel: true. Use when: The user asks to retry or resubmit an existing pending product after fixing a marketplace error, or explicitly asks to publish a pending product now. Use this action instead of telling the user to click Retry in HGRWeb. SearchTerms: retry pending listing, retry publishing, publish pending listing now, resubmit pending product, retry failed publication, retry ebay publication. NegativeUseCases: Do not retry automatically merely because the user asks what the error means; Do not use for relisting an active or terminated product. Input: [FromBody] rq: Request.ListNowRequest. Id is the first variation ID, not its parent ListingId. Resolve the attached product or GetPending listingId through Listing/GetListings with ListingIds and Projection=Identifiers in the selected channel, then use variations[0].id, as HGRWeb Retry does. Header channel: current ChannelOAuthId. Output: BaseResponse.Success reports whether the retry or scheduling request was accepted, not whether marketplace publication has completed. Search terms: searchproduct listnow. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/ListNow request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description still adds non-obvious behavior: RequiresConfirmation=true, RequiresChannel=true, a specific prerequisite resolution path (Listing/GetListings with Projection=Identifiers, then variations[0].id), and the key caveat that Success means the request was accepted, not that marketplace publication completed. It partially restates structured metadata ('ReadOnly: false'), which earns no credit.

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 operative guidance is front-loaded and the negative cases are clearly separated, but the definition is bloated with scaffolding ('Dedicated HGRApi tool for POST api/...', 'it is not a generic endpoint caller', a duplicate 'Search terms: searchproduct listnow', and metadata lines that restate annotations). Several sentences do not earn their 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 destructive, confirmation-gated mutation, the description covers prerequisites, channel resolution, confirmation, output semantics and exclusions. The remaining gap is the body payload: it is given as a bare request type (Request.ListNowRequest) with no field documentation, so the agent must infer required body contents.

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 schema explains confirmed and channelOAuthId, so baseline 3 applies. The description goes beyond it by disambiguating the body: 'Id is the first variation ID, not its parent ListingId,' plus the resolution procedure to obtain it. It stops short of enumerating body fields, which are undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and object: 'Retries a failed pending publication or submits a pending product now.' The functional header (Domain: listings, Entity: pending_listing, Operation: retry_or_publish) pins the scope, and the explicit contrast with relisting ('Do not use for relisting an active or terminated product') separates it from siblings like hgr_post_searchproduct_relist and hgr_relist_listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Contains an explicit 'Use when:' clause and an explicit 'NegativeUseCases:' clause, including the subtle exclusion 'Do not retry automatically merely because the user asks what the error means.' It even routes the agent away from manual workarounds ('instead of telling the user to click Retry in HGRWeb').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_optimizePost Searchproduct OptimizeB
Destructive
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/Optimize. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST optimize operation in existing published product/listing management. Use when: Use it when a client needs to run the optimize operation for existing published product/listing management. Input: [FromBody] data: OptimizeRequest. Main fields: ListingId: int?, ProductSourceId: int?, CurrentTitle: string, OptimizeTitle: bool, OptimizeDescription: bool, OptimizeFields: bool. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the optimize operation. Search terms: searchproduct optimize. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/Optimize request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is partly covered. The description adds the important requirement 'Requires confirmed=true before execution' and notes ChannelOAuthId resolution, but it does not say what exactly gets overwritten or whether optimization is reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is structured with Purpose/Use when/Input/Output labels and is front-loaded, but it wastes space on boilerplate ('Dedicated HGRApi tool... not a generic endpoint caller') and repeats the same idea in the Purpose and Use when sections. The 'Search terms' line adds little for an agent.

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 mutation, the description covers confirmation, authentication channel, and body fields, and an output schema exists so return details need not be restated. However, it omits what the optimization changes, whether it is AI-driven, and what side effects occur on published listings, leaving meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema leaves 'body' as an opaque object with no nested properties, so the description's enumeration of ListingId, ProductSourceId, CurrentTitle, OptimizeTitle, OptimizeDescription, and OptimizeFields is valuable information not otherwise available. The confirmed and channelOAuthId parameters are also contextualized, though the descriptions remain brief.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource (POST optimize operation in existing published product/listing management) and enumerates the body fields that define the optimization (ListingId, CurrentTitle, OptimizeTitle, etc.). It is clearer than a generic endpoint wrapper, though it does not explain what 'optimize' actually does to the listing beyond field names.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' sentence is essentially circular: 'Use it when a client needs to run the optimize operation.' It gives no exclusions and does not distinguish this tool from nearby siblings such as hgr_post_channellisting_optimizespecificfields or hgr_update_ai_publisher_optimization.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_pausetoreviewPost Searchproduct PausetoreviewA
Destructive
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/PauseToReview. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Moves a scheduled pending product to manual review so it is not published at its scheduled time. ReadOnly: false. RequiresConfirmation: true. RequiresChannel: true. Use when: The user asks to pause, hold or stop a scheduled pending product so it is reviewed before publication. SearchTerms: pause pending listing, move pending listing to review, hold scheduled publication, stop scheduled listing. NegativeUseCases: Do not use for active or terminated listings. Input: [FromBody] rq: Request.ListNowRequest. Id is the first variation ID, not its parent ListingId. Resolve the attached product or GetPending listingId through Listing/GetListings with ListingIds and Projection=Identifiers in the selected channel, then use variations[0].id, as HGRWeb Pause does. Header channel: current ChannelOAuthId. Output: BaseResponse.Success is true when the product moved to review. It is false when the variation belongs to another channel, the product is not scheduled for its first listing, or its scheduled time is less than 3 minutes away. Search terms: searchproduct pausetoreview. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/PauseToReview request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive, non-idempotent, non-read-only behavior. The description adds substantial context beyond that: it requires confirmed=true before execution, requires a channel header, and explains the exact failure conditions (wrong channel, not first scheduled listing, or less than 3 minutes away). It also states what success means, which is valuable for a destructive mutation.

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 content is front-loaded and information-dense, but it is burdened by repetition: 'SearchTerms' and 'Search terms' are duplicated, and the channel header requirement is stated twice. The opening disclaimer ('This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller') is useful but verbose. It could be trimmed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a destructive mutation requiring confirmation, a channel header, and a non-obvious variation ID resolution step, the description is complete. An output schema exists, yet the description still helpfully summarizes success and failure conditions. Nothing an agent needs in order to invoke it correctly appears to be missing.

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?

Schema coverage is 100%, so the baseline would be 3, but the description adds critical semantics not present in the schema: the body is a ListNowRequest, the Id is the first variation ID rather than its parent ListingId, and it explains how to resolve that ID via Listing/GetListings with Projection=Identifiers. It also clarifies channelOAuthId is the current ChannelOAuthId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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+resource: moving a scheduled pending product to manual review so it is not published at its scheduled time. It clearly distinguishes from active/terminated listings in the negative use cases. However, it does not mention the close sibling hgr_pause_pending_to_review, so an agent cannot easily tell which of the two pause variants to choose from purpose alone.

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 explicit when-to-use guidance ('pause, hold or stop a scheduled pending product') and a negative use case ('Do not use for active or terminated listings'). It also gives a prerequisite resolution procedure via Listing/GetListings. It stops short of naming an alternative tool for the very similar pause operation, leaving a sibling-selection gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_relistPost Searchproduct RelistC
Destructive
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/Relist. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST relist operation in existing published product/listing management. Use when: Use it when a client needs to run the relist operation for existing published product/listing management. Input: [FromBody] rq: RelistRequest. Main fields: Id: int. Header channel: current ChannelOAuthId. Output: Returns the result or applies the effect of the relist operation. Search terms: searchproduct relist. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/Relist request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the useful requirement that confirmed=true must be set before execution and that the header channel is resolved internally. However, for a destructive, non-idempotent operation, it does not explain what relisting actually changes, whether it creates a new listing, affects fees, or has other side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the endpoint and confirmation requirement, but it contains significant boilerplate ('Dedicated HGRApi tool,' 'explicit tool with a fixed endpoint,' 'functional documentation,' 'Search terms') that does not help an agent invoke the tool correctly.

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 the endpoint, required confirmation, and channel header context, and an output schema exists so return values need not be described. Still, it leaves important gaps about the relist effect and how this tool differs from sibling relist operations.

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 some information about the body containing a RelistRequest with 'Main fields: Id: int,' but this is minimal and leaves most of the request body structure unexplained.

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 names a specific endpoint (POST api/SearchProduct/Relist) and says it is for 'existing published product/listing management,' but the actual purpose is still largely circular: 'relist operation' restates the tool name without explaining what relisting does. It does not differentiate this tool from siblings such as hgr_relist_listing or hgr_post_listing_relistedbulk2.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage guidance is 'Use it when a client needs to run the relist operation,' which is tautological. It gives no when-not-to-use criteria and names no alternative tools for relisting, despite several relist-related siblings existing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_removelistingPost Searchproduct RemovelistingA
Destructive
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/RemoveListing. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Removes one listing from HGR. HGRWeb uses it to delete pending listings in review or error so they are never published. ReadOnly: false. RequiresConfirmation: true. RequiresChannel: true. Use when: The user explicitly asks to remove or delete a pending listing so it is never published. SearchTerms: remove pending listing, delete pending listing, remove listing from HGR. Input: [FromBody] rq: Request.ListNowRequest. Id is a variation ID of the listing to remove, not its parent ListingId. Resolve the attached product or GetPending listingId through Listing/GetListings with ListingIds and Projection=Identifiers in the selected channel, then use variations[0].id, as HGRWeb Remove does. The whole listing that owns that variation is removed. Header channel: current ChannelOAuthId, used to resolve the variation; the endpoint itself does not check it. Output: BaseResponse.Success is true when the listing was marked removed and false when no listing in the authenticated user's stores owns that variation ID. Search terms: searchproduct removelisting. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/RemoveListing request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, it discloses that the operation deletes a pending listing, requires confirmed=true and impactConfirmed=true, and that the endpoint does not itself check the channel header. It also explains that success is true when the listing is marked removed and false when the variation is not owned by the authenticated user's stores.

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 contains useful operational detail, but it is bloated with boilerplate such as fixed-endpoint disclaimers and repeated search terms. The essential use case appears later than ideal, and some sentences repeat schema or annotation information.

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 destructive, channel-scoped removal operation, the description is complete enough to call correctly: it covers intent, confirmation requirements, variation resolution, channel header behavior, and output success conditions. The presence of an output schema does not leave a meaningful 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?

Although schema coverage is 100%, the description adds critical meaning: the body Id is a variation ID, not a parent ListingId; it explains how to resolve the variation via Listing/GetListings with Projection=Identifiers; and it clarifies the channelOAuthId is used to resolve the variation but is not checked by the endpoint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: removes one pending listing from HGR so it is never published. It also clarifies that the variation ID is being removed, not the parent listing. However, it does not explicitly distinguish this from closely related siblings such as hgr_remove_listing or hgr_terminate_listing.

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 clearly says to use this when the user explicitly asks to remove or delete a pending listing so it is never published, and lists matching search terms. It does not provide when-not-to-use guidance or name alternative siblings for non-pending or termination workflows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_savemultipleproductchangesPost Searchproduct SavemultipleproductchangesA
Destructive
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/SaveMultipleProductChanges. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST save multiple product changes operation in existing published product/listing management. Use when: Use it when a client needs to run the save multiple product changes operation for existing published product/listing management. Input: [FromBody] changes: SaveMultipleProductChangesRequest. Main fields: ListingIds: int[], DataByListing: Dictionary<int, SaveMultipleProductChangesRequestD>, Markup: SaveProductChangeNumber, IncreaseMarkup: SaveProductChangeNumber, Price: SaveProductChangeDecimal, Quantity: SaveProductChangeNumber, Profit: SaveProductChangeNumber, MonitorPrice: SaveProductChangeBoolean, MonitorStock: SaveProductChangeBoolean, MonitorPriceDecrease: SaveProductChangeBoolean, PriceDecreasePercentage: SaveProductChangeNumber, IgnoreRules: SaveProductChangeBoolean, MinQuantity: SaveProductChangeNumber, PrimeOnly: SaveProductChangeBoolean, ShippingPolicy: SaveProductChangeLong, ReturnPolicy: SaveProductChangeLong, PaymentPolicy: SaveProductChangeLong, DispatchTimeDays: SaveProductChangeNumber. Header channel: current ChannelOAuthId. VAT is optional and only supported for eBay API: omit to leave unchanged, use {value: integer} from 0 to 100 to set, or {value: null} to remove the override and send zero to eBay. VAT applies to every variation of the affected eBay listing. Output: Returns the result or applies the effect of the save multiple product changes operation. Side effect: when a new channel stock quantity is applied to a listing variation, its previous channel stock quantity is recorded in the stock history (author: user), so it appears in the stock changes history. VAT settings are saved only for provider-accepted changes. Search terms: searchproduct savemultipleproductchanges. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/SaveMultipleProductChanges request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructive/non-idempotent/open-world, and the description adds genuinely new behavior: the prior channel stock quantity is written to stock history under the acting user, VAT changes are only persisted for provider-accepted changes, and the channel header is resolved internally. The VAT override semantics (omit = unchanged, {value:null} = remove) are unusual and valuable to surface.

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 purpose and prerequisites are front-loaded, but the text is padded with boilerplate ('Dedicated HGRApi tool for POST...', 'Search terms:', 'Output: Returns the result or applies the effect') and a very long unformatted field enumeration. Much of it earns its place, but several sentences are 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 destructive bulk-mutation tool it covers the important gaps an agent needs: confirmation requirement, channel resolution, body composition, stock-history side effect, and VAT edge cases. Output schema exists, so return-value explanation is not needed, and the annotation set covers the safety profile.

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%, so the baseline is 3, but the description enumerates the body fields (ListingIds, DataByListing, Price, Quantity, MonitorPrice, VAT, etc.) that the schema only describes as a generic request body. It also explains the eBay-only VAT value encoding, which the schema does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — POST save multiple product changes for existing published listings — and explicitly says it is a fixed-endpoint tool, not a generic caller. It does not distinguish itself from nearby siblings such as hgr_update_listing or hgr_post_searchproduct_pausetoreview, so an agent still has to infer the boundary.

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?

'Use when: Use it when a client needs to run the save multiple product changes operation for existing published product/listing management' is largely circular, restating the purpose. It does add two real constraints: the listings must already be published, and confirmed=true is required after explicit user confirmation. No alternatives or exclusions are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_searchproduct_terminatelisting2Post Searchproduct Terminatelisting2A
Destructive
Inspect

Dedicated HGRApi tool for POST api/SearchProduct/TerminateListing2. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Provides the POST terminate listing2 operation in existing published product/listing management. Use when: Use it when a client needs to run the terminate listing2 operation for existing published product/listing management. Input: [FromBody] item: TerminateItemRequest. Main fields: Id: int. Header channel: current ChannelOAuthId. Output: Ends the listing in the store. Marks it terminated in HGR and returns success=true only when the store confirms the end or reports that the item was already ended. When the store refuses the end, returns success=false and the listing stays active in HGR. Search terms: terminatelisting 2, searchproduct terminatelisting 2. Send the exact request payload in body. Requires confirmed=true and impactConfirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST /api/SearchProduct/TerminateListing2 request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even though the annotations already mark this as destructive, non-idempotent, and open-world, the description adds useful outcome semantics: success=true only when the store confirms the end or reports the item was already ended, and success=false with the listing left active when the store refuses. It also notes that the channel/OAuth header is resolved internally. It does not mention retry behavior or rate limits, but the post-condition detail is genuinely helpful.

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?

It is front-loaded with the concrete endpoint and the crucial outcome behavior, but several sentences are filler: 'it is not a generic endpoint caller', the restated 'Use when' phrase, 'Send the exact request payload in body', and the trailing search-terms line. It is longer than it needs to be without being unstructured.

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?

Yes, given that an output schema exists, the return contract does not need to be spelled out, and the description still explains the success/failure semantics and the confirmation gate. Together with a destructive annotation, the agent has enough to call it safely, though a pointer to hgr_get_terminated_listings or a sibling comparison would complete it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, which already sets a baseline of 3, and the description goes beyond it by naming the body type (TerminateItemRequest) and its main field (Id: int), plus explaining that ChannelOAuthId is a header channel value. Since the untyped 'body' property has no schema-level structure, this added detail matters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: POST api/SearchProduct/TerminateListing2, which ends a listing in the store and marks it terminated in HGR. That is far more than a restatement of the name. It does not, however, distinguish this from near-neighbors such as hgr_terminate_listing, hgr_remove_listing, or hgr_post_searchproduct_removelisting, which an agent could easily confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Use when' clause just restates the purpose ('when a client needs to run the terminate listing2 operation'), adding no real selection criteria. Nothing tells the agent when to pick hgr_terminate_listing or hgr_remove_listing instead, and no preconditions beyond the confirmation flags are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_smartlister_filters_checknewPost Smartlister Filters ChecknewA
Read-onlyIdempotent
Inspect

Dedicated HGRApi tool for POST ai publisher filters checknew. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Checks whether a proposed AI Publisher order returns enough current product candidates. ownerAgent: ai-publisher. Use when: Use to check candidate availability without saving an order or publishing products. Input: NewFiltersRequest. Filter.Criteria is the optional free-text product search prompt, not a literal title substring. Supplier, price, profit, Prime and tag filters apply. Header channel: current ChannelOAuthId. Output: Returns GOOD, INSUFFICIENT or BAD based on up to 50 search results. Search terms: ai publisher filters checknew. Send the exact request payload in body. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST ai publisher filters checknew request body.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive behavior, and the description adds meaningful context: results are GOOD/INSUFFICIENT/BAD derived from up to 50 search results, and the channel header is resolved internally. It stops short of detailing rate limits 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Useful content is front-loaded, but there is redundancy: the opening 'Dedicated HGRApi tool for POST ai publisher filters checknew' restates the name, and the trailing 'Search terms: ai publisher filters checknew' adds no 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?

Covers input shape, the meaning of the key filter field, header/channel handling, and output categories, which is sufficient given an output schema exists. Missing only edge-case behavior such as what happens on empty results.

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?

Despite 100% schema coverage, the description adds real semantics the schema lacks: Filter.Criteria is a free-text product prompt 'not a literal title substring,' and supplier/price/profit/Prime/tag filters all apply. It clarifies that channelOAuthId is supplied but resolved internally.

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 concrete verb and outcome: 'Checks whether a proposed AI Publisher order returns enough current product candidates.' It also distinguishes itself from the sibling hgr_post_smartlister_filters_new by framing this as a check 'without saving an order or publishing products.'

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 'Use when' clause gives clear context for invoking it (checking candidate availability) and implicitly contrasts with the saving/publishing flows, though it does not name a specific alternative sibling explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_post_smartlister_filters_newPost Smartlister Filters NewA
Destructive
Inspect

Dedicated HGRApi tool for POST ai publisher filters new. This is an explicit tool with a fixed endpoint; it is not a generic endpoint caller. HGRApi functional documentation: Purpose: Creates a scheduled AI Publisher publication order for the selected store, including search conditions copied from the catalog. ownerAgent: ai-publisher. Use when: Use to create an order with product conditions, quantity, schedule and optimization preferences. Input: NewFiltersRequest.Filter: supplier Sources, OnlyPrime, optional Criteria (the free-text search prompt, up to 4000 characters; not a literal title substring), PriceMin/PriceMax, ProfitMin/ProfitMax and optional Tags (array of separate integer IDs, not bit flags). Tag IDs: 1 Valentine's Day, 2 Mother's Day, 3 Father's Day, 4 Back to school, 5 Halloween, 6 Black Friday, 7 Cyber Monday, 8 Christmas, 9 New Year's Eve, 10 Prime Day, 11 Trending, 12 Home and garden, 13 Electronics, 14 Toys and games, 15 Health and beauty, 16 Sports, 17 Pet supplies. Header channel: current ChannelOAuthId; the selected store determines ChannelOauthId. Output: Returns the identifier of the created order. Search terms: ai publisher filters new. Send the exact request payload in body. Requires confirmed=true before execution. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesHGRApi POST ai publisher filters new request body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds genuine context on top: the confirmed=true confirmation gate, that ChannelOAuthId is resolved internally from the header, that the body must be the exact payload, and the constraint that Criteria is a free-text prompt rather than a literal title substring. It stops short of describing side effects of a failed or duplicate creation.

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?

Purpose is front-loaded and the tag enumeration earns its space, but there is boilerplate: "Dedicated HGRApi tool ... it is not a generic endpoint caller", the redundant "Search terms: ai publisher filters new", and ChannelOAuthId being explained twice. Roughly a quarter of the text could be removed without losing agent-relevant 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?

With an output schema present, the description needn't explain return values, and it correctly stays focused on confirmation, channel resolution and body contents. The remaining gap is that quantity, schedule and optimization-preference body fields are named in prose but never mapped to actual payload keys, leaving the agent to guess the shape for those parts of the request.

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?

Schema coverage is 100%, so the baseline would be 3, but the description goes well beyond it. The body property is untyped in the schema ("HGRApi POST ai publisher filters new request body"), and the description compensates by enumerating the filter fields, their semantics, and the full tag-ID mapping — plus the crucial clarification that Tags is an array of integer IDs, not bit flags.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: "Creates a scheduled AI Publisher publication order for the selected store, including search conditions copied from the catalog." An agent can tell this is an order-creation tool rather than a read. It does not explicitly differentiate itself from the very similar sibling hgr_post_smartlister_filters_checknew, which is a real ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use when: Use to create an order with product conditions, quantity, schedule and optimization preferences" gives a usage context, and the confirmed=true prerequisite is stated. However, no exclusion or alternative routing is offered — nothing says when to use checknew or get_ai_publisher_filters instead, which is the most likely selection mistake an agent could make here.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_process_order_linesProcess Order LinesC
Destructive
Inspect

Starts normal processing for orders resolved from visible order Reference. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so safety is carried by structured data. The description adds only an internal channel-resolution note and restates the confirmed requirement from the schema; it says nothing about irreversibility, side effects on order state, or failure behavior for a destructive, non-idempotent mutation.

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?

Three short sentences, zero filler, with the action and the mandatory precondition front-loaded. It could be tightened only slightly, e.g. by folding the channel note into a single clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. For a destructive, non-idempotent order mutation, though, the description omits what state change results and how it differs from the force/manual siblings, leaving a real gap in call-time decision-making.

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 three parameters are documented in the schema and the baseline is 3. The description's phrase 'orders resolved from visible order Reference' adds mild context for the optional reference parameter but no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb ('Starts') and a resource ('normal processing for orders'), and 'normal' faintly contrasts with the sibling hgr_force_process_order_lines, but the phrase 'starts normal processing' is vague about what processing actually entails. The sibling differentiation is implied rather than stated, so it lands at minimum-viable rather than clear.

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 confirmed=true prerequisite gives a usage condition, and 'resolved from visible order Reference' implies the preconditions. However, it never says when to choose this over hgr_force_process_order_lines, hgr_manually_dispatch_order_lines, or hgr_stop_order_lines — all closely related siblings — leaving the routing decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_refresh_business_policiesRefresh Business PoliciesA
Destructive
Inspect

Refreshes marketplace business policies for one visible store. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the confirmation gate, which is meaningful beyond the annotations. But annotations declare destructiveHint=true and idempotentHint=false, and the description never says what a refresh overwrites (e.g., locally customized policies) or whether the operation is repeatable, which is exactly the context a destructive tool needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with no filler; the precondition follows the purpose statement. Slightly clipped phrasing ('Requires HGRApi Header channel') costs a little clarity but not length.

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?

With an output schema, full schema coverage, and annotations carrying the safety profile, the description only needs to state purpose, scope, and the confirmation gate — all present. The remaining gap is the overwrite semantics, which is a transparency concern rather than a hard blocker to invoking 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?

Schema coverage is 100%, so both parameters are already documented, including that channelOAuthId comes from hgr_list_channels. The description's note that the ChannelOAuthId is 'resolved internally' adds a small hint but sits awkwardly against a schema that marks it required with additionalProperties false.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Refreshes marketplace business policies') and scopes it to 'one visible store'. It does not name the nearest sibling, hgr_load_business_policies, so the read-vs-refresh distinction must be inferred from the verb alone.

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 confirmed=true precondition and the one-store scope, which implies the correct usage context. However, it never contrasts this with hgr_load_business_policies or says when a refresh is warranted versus simply loading existing policies.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_relist_listingRelist ListingA
Destructive
Inspect

Relists one terminated listing by visible Product ID. Requires confirmed=true and impactConfirmed=true after warning about consequences. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
productIdNoVisible marketplace Product Id / primary id. Prefer this for active or terminated listings.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.
pendingListingIdNoVisible pending listing id, only for pending listings where HGRWeb shows this id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=false, but the description adds non-obvious behavioral detail: the tool refuses to act without two boolean confirmations following a consequence warning, and the channel/ChannelOAuthId is resolved internally from headers rather than passed explicitly. That is meaningful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the action and key identifier front-loaded and no filler. The second sentence is compressed to the point of being slightly cryptic ("HGRApi Header channel / ChannelOAuthId resolved internally"), which costs a little 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 destructive, open-world mutation, the description covers the confirmation gating and internal channel resolution, and an output schema plus full schema coverage handle the rest. Minor gaps remain around what a successful relist returns or whether the relisted product becomes active immediately, but overall it is sufficient 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 description coverage is 100%, so all five parameters are already documented. The description only reiterates that productId is required and that the two confirmation flags gate the call; it adds no format or interpretation value over the schema, which is precisely the baseline-3 situation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Relists one terminated listing"), plus the lookup key (visible Product ID) and the scope limitation to a single terminated listing. It does not, however, distinguish itself from the sibling hgr_post_searchproduct_relist, which appears to perform a similar action, so an agent must infer which one applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys the precondition workflow (confirm, warn about consequences, then set confirmed and impactConfirmed) which implies when to call it. But it never names an alternative tool or states when NOT to use this one, and the overlapping relist sibling goes unaddressed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_remove_autoordering_configurationRemove Autoordering ConfigurationA
Destructive
Inspect

Removes an auto-ordering configuration by autoOrderingAccountRef returned by hgr_get_autoordering_configuration for one visible store/channel. Requires HGRApi Header channel / ChannelOAuthId resolved internally, confirmed=true and impactConfirmed=true after warning about consequences.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.
autoOrderingAccountRefYesOpaque auto-ordering account reference returned by hgr_get_autoordering_configuration.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and idempotentHint=false, so the bar is lower, but the description still adds real behavior: two-stage confirmation gating, a required consequence warning, and internal channel/header resolution. It does not state whether removal is reversible or what happens to dependent order rules, which keeps it from a 5.

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?

Two sentences, front-loaded with the action and scoping key, with prerequisites following. Density is high but nearly every clause carries operational meaning; the header/channel phrasing is the one portion that could be tightened.

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 destructive, non-idempotent mutation with an output schema, the description covers the prerequisites, the confirmation protocol, and the ref provenance an agent needs to invoke it correctly. Missing only the post-removal state (reversibility, side effects on dependent items).

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 already defines each field, so baseline is 3; the description still adds value by linking autoOrderingAccountRef to the specific producing tool and by framing confirmed/impactConfirmed as a warning-then-confirm sequence. The note that ChannelOAuthId is 'resolved internally' sits slightly at odds with the required channelOAuthId parameter, adding mild ambiguity rather than 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?

States a specific verb and resource ('Removes an auto-ordering configuration') plus the exact scoping key (autoOrderingAccountRef) and scope limit ('for one visible store/channel'). This clearly separates it from the sibling hgr_save_autoordering_configuration and from the read-only hgr_get_autoordering_configuration.

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?

Gives concrete preconditions: obtain the ref from hgr_get_autoordering_configuration and pass confirmed=true plus impactConfirmed=true only after warning the user about consequences. It stops short of naming when a user should disable rather than remove a configuration, so it falls just under full alternative-routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_remove_listingRemove ListingA
Destructive
Inspect

Removes or retires one listing by visible Product ID, or a pending listing by the visible pending listing id. Requires confirmed=true and impactConfirmed=true after warning about consequences. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
productIdNoVisible marketplace Product Id / primary id. Prefer this for active or terminated listings.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.
pendingListingIdNoVisible pending listing id, only for pending listings where HGRWeb shows this id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the operation as destructive, non-idempotent, and open-world. The description adds important behavioral context beyond that: confirmed and impactConfirmed must both be true after warning the user, and channel context is required. The final sentence about the HGRApi header is somewhat vague but still adds auth-related context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the action and ID selection, then states the confirmation gates. It is appropriately short, though the final sentence about the HGRApi header is a bit awkward and less clear than the rest.

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 destructive mutation with annotations covering safety and an output schema covering return values, this is mostly complete. An agent knows the action, the identifier choice, and the confirmation prerequisites, though the relationship to similar terminate/remove siblings remains 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?

Schema description coverage is 100%, so parameter meanings are already fully documented. The description restates the visible Product ID versus pending listing id choice and confirmation requirements, but it adds little semantic detail beyond the schema; 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 states the specific action: removing or retiring a single listing, with distinct ID paths for active/terminated versus pending listings. It is more specific than the title alone, but it does not explicitly distinguish this tool from similar siblings such as hgr_terminate_listing or hgr_post_searchproduct_removelisting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies when to use the tool and which identifier to supply for active versus pending listings, which is useful. However, it gives no explicit guidance on when to prefer this tool over related siblings like hgr_terminate_listing or hgr_post_searchproduct_removelisting.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_reply_support_ticketReply Support TicketA
Destructive
Inspect

Replies to a support ticket with text only. File attachments are blocked by MCP policy. Requires confirmed=true.

NameRequiredDescriptionDefault
messageYesMessage body.
ticketIdYesVisible support ticket id/reference.
confirmedYesMust be true after the user explicitly requested or confirmed the exact support message.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a destructive, non-idempotent, open-world write. The description adds meaningful policy context beyond them: the reply must be text-only and attachments are blocked by MCP policy. It does not explain what the destructive effect looks like to the ticket recipient, but the extra constraint is useful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and followed by the two relevant constraints. No filler or redundant fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and rich annotations, the description covers the essential policy constraints an agent needs before calling. It could clarify that the reply becomes visible to the ticket requester, but nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all three parameters, including the confirmation semantics. The description only restates the confirmed=true requirement and says the message is text-only, adding little beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Replies to a support ticket.' This clearly distinguishes a reply action from create/get/list support-ticket siblings by verb, but it does not explicitly name an alternative or clarify boundaries with hgr_create_support_ticket or hgr_post_helpcentre_contact.

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 prerequisite ('Requires confirmed=true') and a constraint (text only, no attachments), which implies when to use it. It does not say when to prefer hgr_create_support_ticket or hgr_post_helpcentre_contact, nor when not to reply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_request_noapi_codeRequest Noapi CodeB
Destructive
Inspect

Requests a No-API Server verification code for a visible store. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, readOnlyHint=false and idempotentHint=false, so the description adds the auth note that the channel context is resolved internally. It does not explain why the call is destructive, whether a code is dispatched to an external party, whether it expires, or what side effects/rate limits apply. The phrase 'ChannelOAuthId resolved internally' is also slightly at odds with channelOAuthId being an explicit required parameter, creating ambiguity rather than 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?

Three short sentences, purpose front-loaded, followed by the confirmation prerequisite and auth note. No filler, though the final sentence about the HGRApi header is dense and slightly 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?

An output schema exists, so return values need not be explained, and the two-parameter schema is fully documented. However, for a destructive, open-world mutation, the description omits the surrounding workflow (that this precedes hgr_send_noapi_code) and the real-world consequence of triggering a verification code.

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 clearly documented (confirmed as user-confirmed intent, channelOAuthId as returned by hgr_list_channels), so the baseline is 3. The description only adds the 'visible store' qualifier for channelOAuthId and restates the confirmed=true requirement already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Requests a No-API Server verification code for a visible store.' That distinguishes it from generic code tools, but it does not differentiate from closely related siblings like hgr_get_dashboard_requestcode or hgr_send_noapi_code, leaving the agent to guess which 'request code' path applies.

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?

Provides one prerequisite ('Requires confirmed=true') and implies the visible-store selection context, but gives no when/when-not guidance against the several sibling code tools (hgr_get_dashboard_requestcode, hgr_send_noapi_code, hgr_send_noapi_answer) or what to do after the code is issued. Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_save_ai_agent_configurationSave Ai Agent ConfigurationA
Destructive
Inspect

Saves AI Agent configuration. Requires confirmed=true and impactConfirmed=true; activation requires acceptedAiAgentTerms=true and disabling requires disableWarningConfirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI SaveAgentChannelConfigurationRequest body, for example Enabled=true/false.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.
acceptedAiAgentTermsNoRequired as true when enabling AI Agent.
disableWarningConfirmedNoRequired as true when disabling AI Agent after warning that it will stop learning and may need to start over if reactivated.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare destructiveHint=true and non-idempotent behavior. The description adds valuable safety context beyond annotations by naming the confirmation flags required before saving, activation, and disabling, including the activation terms and disable warning confirmation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core action first followed by the confirmation requirements. The phrase 'Requires HGRApi Header channel / ChannelOAuthId resolved internally' is slightly terse but does not waste 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 destructive mutation with an output schema and fully described parameters, the description is nearly complete. It covers the main safety gates and activation/disable conditions, though it could clarify the exact effect of the save operation more explicitly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is already 100%, so the baseline is 3. The description adds conditional semantics for confirmed, impactConfirmed, acceptedAiAgentTerms, and disableWarningConfirmed, explaining when each is required beyond what the schema alone conveys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Saves AI Agent configuration.' This clearly distinguishes it from the sibling read operation hgr_get_ai_agent_configuration, though it does not explicitly name that sibling.

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 conditional requirements for activation and disabling, but it does not explicitly say when to use this tool versus alternatives. The usage is implied by the verb 'Saves' and the confirmation gates rather than being stated as a clear when-to-use rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_save_autoordering_configurationSave Autoordering ConfigurationA
Destructive
Inspect

Saves auto-ordering configuration with the exact WAPI request body for one visible store/channel. Requires HGRApi Header channel / ChannelOAuthId resolved internally, confirmed=true and impactConfirmed=true for supplier credential/configuration changes. Secret fields are redacted in the response.

NameRequiredDescriptionDefault
bodyYesWAPI SaveAutoOrderingRequest body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, non-idempotent, non-readonly. The description adds genuinely non-derivable detail: channel/ChannelOAuthId is resolved internally from headers, dual confirmation flags are gated on specific change categories, and secret fields are redacted in the response. Missing: whether overwriting replaces or merges the existing configuration, which matters for a destructive save.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences covering action, scope, prerequisites, and response handling, with the most important constraint (destructive dual confirmation) placed early. No filler or restatement of the title.

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 destructive, open-world mutation with an output schema present, the description covers scope, confirmation gating, and response redaction adequately. The main remaining gap is replace-vs-merge semantics of 'body' on an existing configuration, which an agent must know before repeating a call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that channel/ChannelOAuthId is resolved internally (so the agent needn't supply a header), and clarifying that impactConfirmed is required specifically for supplier credential/configuration changes – a nuance the schema's generic wording does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource ('Saves auto-ordering configuration') and scopes it to 'one visible store/channel'. It's distinguishable from the sibling read tool hgr_get_autoordering_configuration and from hgr_remove_autoordering_configuration, though the description doesn't explicitly name those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States prerequisites (confirmed=true and impactConfirmed=true for supplier credential/configuration changes) which implies the confirmation workflow, but never says when to use this versus hgr_save_channel_setting or hgr_save_source_setting, nor when auto-ordering save is inappropriate. Usage is implied rather than routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_save_channel_settingSave Channel SettingA
Destructive
Inspect

Saves one channel setting using WAPI SaveOne. Requires confirmed=true and impactConfirmed=true because channel settings can affect many listings. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI ChannelConfiguration SaveOneRequest body: Key, Value.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true; the description adds real value by explaining WHY the confirmation gates exist (settings affect many listings) and that channel auth is resolved internally. It doesn't describe the effect on existing listings or rollback, but it goes meaningfully beyond the safety hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action, then the gating requirement and rationale. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists and parameters are fully documented, so the description only needed to carry the confirmation contract and impact rationale, which it does. The internal-resolution remark about ChannelOAuthId muddies rather than completes the picture.

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%, so each parameter is already documented. The description reinforces the two confirmation booleans, but its claim that ChannelOAuthId is 'resolved internally' conflicts with channelOAuthId being a required parameter documented as coming from hgr_list_channels, which could mislead an agent assembling the call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Saves one channel setting using WAPI SaveOne'), which is clearly distinguishable from read siblings like hgr_get_channellisting_getsettings and from hgr_save_source_setting. It does not explicitly name the sibling it differs from, but the singular-scope wording 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear precondition for calling: both confirmed and impactConfirmed must be true because channel settings can affect many listings. It stops short of naming alternatives (e.g., reading first via hgr_get_channel_configuration) or stating when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_save_source_settingSave Source SettingA
Destructive
Inspect

Saves one exact setting exposed by HGRWeb Supplier configuration. No supported setting enables, disables, suspends or re-enables a supplier. Requires confirmed=true and impactConfirmed=true because source settings can affect many listings. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYes
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and non-idempotent, and the description adds value on top: it explains why the confirmation gates exist ("source settings can affect many listings") and discloses internal resolution of the HGRApi Header channel / ChannelOAuthId. It does not describe failure behavior or what exactly is overwritten on save, so it stops short of 5.

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?

Four short sentences ordered from purpose to scope to safety gate to auth, with no filler and the key negative constraint placed early. The final sentence about internally resolved HGRApi Header channel partially duplicates the channelOAuthId parameter and reads slightly ambiguously.

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 destructive mutation with an output schema and mostly documented parameters, the description covers the essentials: single-setting scope, blast-radius rationale, mandatory confirmation gates, and the fact that channel context is resolved internally. Only error/partial-failure behavior is unaddressed, which is a minor gap given the output schema exists.

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 75% and the schema itself richly documents Key, Value serialization and SourceId, so the description does not need to repeat them. The description only reinforces that exactly one setting is saved and gives a rationale for the confirmed/impactConfirmed flags, which the schema parameters already state; net added meaning is minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (saves) and resource (one exact setting in HGRWeb Supplier configuration), and adds a negative scope clause ruling out supplier enable/disable/suspend/re-enable, which distinguishes it from status-changing siblings. It does not explicitly contrast with the closest sibling hgr_save_channel_setting, so sibling differentiation is only partial.

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 clear this is for a single setting at a time and states that confirmed=true and impactConfirmed=true are prerequisites tied to user confirmation of high-impact consequences. It never explicitly routes the agent between this tool and alternatives (e.g. channel-level vs source-level settings), leaving that to be inferred from the resource name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_search_ordersSearch OrdersB
Read-onlyIdempotent
Inspect

Searches orders/order lines by visible order Reference and optional visible store. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
referenceNoVisible marketplace/order reference to search for.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, open-world and non-destructive, so safety context is covered. The description adds only the auth/channel-resolution note, and that note is ambiguous ('ChannelOAuthId resolved internally') given channelOAuthId is a required caller-supplied parameter — it doesn't clarify matching behavior, result limits, or what the search searches against beyond 'visible'.

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?

Two short sentences with the search scope front-loaded. The second sentence is terse to the point of obscurity, but nothing is padded or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema defining return values and annotations covering safety, the description only needs to settle when and how to search. It leaves open whether reference is a partial or exact match, what happens when reference is omitted, and how the internal channel resolution interacts with the required channelOAuthId argument.

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 documented including the hgr_list_channels provenance for channelOAuthId, so the baseline is 3. The description's word 'visible' reinforces that references are marketplace-facing rather than internal IDs, but adds little beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Searches orders/order lines') plus the lookup key ('visible order Reference'). It does not explicitly contrast with data-retrieval siblings such as hgr_get_sales or hgr_load_order_progress, but the reference-based lookup makes the intent reasonably distinct.

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 phrasing 'by visible order Reference and optional visible store' implies the retrieval use case, but there is no explicit when-to-use guidance and no alternative tool named (e.g. when to prefer a sales listing over a reference search). Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_send_noapi_answerSend Noapi AnswerB
Destructive
Inspect

Sends a No-API Server security answer. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
answerYesSecurity answer provided by the user.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag this as destructive, non-idempotent, and open-world, so the safety bar is partly covered. The description adds valuable auth context ('HGRApi Header channel / ChannelOAuthId resolved internally') and the confirmation requirement, but doesn't say what the answer submission affects or what happens on failure.

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?

Two short sentences with no filler, and the confirmation requirement is stated early. Slightly terse for a destructive operation but well front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, and parameters are fully covered by the schema. But for a destructive mutation with an internal-auth flow, the description omits what the action changes and any failure/precondition behavior beyond confirmed=true.

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 three parameters are already documented in the schema, including the confirmed and channelOAuthId semantics. The description's note that ChannelOAuthId is resolved internally adds only marginal context beyond the schema, so 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?

States a specific verb and resource ('Sends a No-API Server security answer'), so the operation is identifiable. However, it does not distinguish this from the closely named siblings hgr_send_noapi_code, hgr_request_noapi_code, or hgr_get_noapi_solution_state, leaving the agent to infer the difference.

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 prerequisite 'Requires confirmed=true' is given, which is useful. But there is no guidance on when to use this versus the sibling code-request/send tools or the solution-state tool, so usage context is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_send_noapi_codeSend Noapi CodeB
Destructive
Inspect

Sends a No-API Server verification code. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
codeYesVerification code received by the user.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the description gets a lower baseline. It adds the confirmed=true guard and mentions channel/ChannelOAuthId resolution, but the latter is worded vaguely and does not explain side effects, failure behavior, or why the operation is destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is short and front-loads the core action in the first sentence. The third sentence about the header/channel is cryptic and could be clearer, but the description still avoids unnecessary bulk.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema and annotations are present, reducing what the description must carry. Still, for a destructive, open-world operation, the description is sparse: it does not explain the outcome of sending the code, error cases, or how this step fits with the related request/answer 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?

Schema description coverage is 100%, so all three parameters are already documented in the input schema. The description only reiterates confirmed=true and makes a confusing channel-resolution reference; it does not add meaningful semantics beyond what the schema provides, so 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?

States a specific verb ('Sends') and resource ('No-API Server verification code'), making the action clear. It does not explicitly differentiate itself from close siblings such as hgr_request_noapi_code or hgr_send_noapi_answer, so an agent must infer the exact role in the verification flow.

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 an important prerequisite ('Requires confirmed=true'), which is a usage condition. However, it gives no explicit guidance on when to use this tool instead of hgr_request_noapi_code or hgr_send_noapi_answer, so selection between these related tools remains implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_set_manual_tracking_idSet Manual Tracking IDB
Destructive
Inspect

Sets the manual tracking/reference state for one exact order line using WAPI ManualTrackingIdSet. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is covered structurally. The description adds that user confirmation is mandatory and that the channel context is inherited from the header rather than passed as a parameter. It does not say what existing tracking/reference value is overwritten or whether the change is reversible – notable gaps for a destructive setter.

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?

Three short sentences front-load what the tool does, then stack the prerequisites. No filler, though the WAPI endpoint name is jargon that adds little for an agent that cannot call the WAPI directly.

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 annotations and an output schema present, the description covers scope, the confirmation gate, and channel resolution. It still leaves behavioral effects of a destructive mutation unexplained – what value gets replaced and what happens on invalid references – which an agent needs before invoking a non-idempotent, destructive setter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains confirmed, reference, and channelOAuthId. The description only reinforces the confirmed gate and clarifies that channelOAuthId is resolved from the HGRApi Header channel internally, which is mildly useful but does not exceed the schema's own detail. 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?

States a specific verb and resource – sets the manual tracking/reference state on exactly one order line – and names the underlying WAPI endpoint (ManualTrackingIdSet). The 'one exact order line' scoping plus 'manual' distinguishes it reasonably well from the tracking-generation siblings such as hgr_generate_tracking_id and hgr_post_sales_generatetrackingid, though it does not name them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Requires confirmed=true' is a useful pre-invocation gate, and the note about ChannelOAuthId being resolved internally tells the agent the channel comes from the HGRApi header. However, there is no explicit guidance on when to choose this over hgr_generate_tracking_id or the order-line state tools (mark_as_purchased, stop_order_lines); the agent must infer it from the word 'manual'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_set_shipping_addressSet Shipping AddressA
Destructive
Inspect

Sets/corrects the shipping address for an order resolved from the visible order Reference. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI shipping address payload. Include shippingAddress only; the MCP resolves the order line from the visible order Reference.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

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 and idempotentHint=false, so the safety profile is known; the description usefully adds the confirmation gate and that the order line is derived from the visible Reference. It does not say what is destroyed or replaced (whether the marketplace-side address is overwritten irreversibly or whether the prior address is retained), which is the key open question for a destructiveHint=true tool, and it claims channelOAuthId is 'resolved internally' even though the schema marks it required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with the action and the confirmation gate front-loaded; nothing is padded. The closing clause 'Requires HGRApi Header channel / ChannelOAuthId resolved internally' is compressed to the point of ambiguity given the slash construction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full parameter documentation, the description covers action, targeting, and the confirmation prerequisite adequately for an agent to call it. The remaining gap is outcome disclosure for a destructive write (what the prior address becomes) and the internal-resolution claim that conflicts with the required channelOAuthId parameter.

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 baseline is 3; the schema already explains body, confirmed, reference, and channelOAuthId including the hgr_list_channels source. The description's 'body: include shippingAddress only' framing echoes rather than extends 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?

States a specific verb+resource pair ('sets/corrects the shipping address for an order') and explains how the order is located ('resolved from the visible order Reference'), which an agent could not infer from the name alone. It does not differentiate from related siblings such as hgr_load_order_addresses or hgr_load_shipping_options, so a caller must guess whether those are prerequisites or alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Requires confirmed=true' is an explicit invocation gate tied to the schema's confirmed parameter, which is real guidance. However, there is no when-not guidance and no named alternative, so an agent cannot tell from the description whether it should first read existing addresses via hgr_load_order_addresses before correcting one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_stop_order_linesStop Order LinesA
Destructive
Inspect

Stops orders resolved from visible order Reference. Requires confirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
referenceNoVisible marketplace/order reference.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.

Output Schema

NameRequiredDescription

No output parameters

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, idempotentHint=false, and openWorldHint=true, so the safety profile is carried structurally. The description usefully adds the explicit-confirmation gate, but does not explain what stopping actually does to the order line or whether it is reversible.

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?

Three short sentences with the core action and precondition front-loaded and no filler. The final sentence about the HGRApi header channel is terse to the point of being cryptic.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be described, and annotations cover safety and idempotency. What remains thin is the effect of the stop operation itself and the contradictory framing of channelOAuthId as both required and internally resolved.

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 three parameters are already documented; the description only restates 'confirmed=true' and references the visible order reference. The phrase 'ChannelOAuthId resolved internally' is confusing given channelOAuthId is a required parameter, adding ambiguity rather than clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Stops') and resource ('orders resolved from visible order Reference'), which is enough to separate it from process/force-process siblings. It does not explicitly name the closest alternative (hgr_post_sales_stoporderline, hgr_process_order_lines), so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a precondition ('Requires confirmed=true') but no usage context such as when to stop versus process/force-process an order line, or what state the order line must be in. Guidance is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_terminate_listingTerminate ListingA
Destructive
Inspect

Terminates one active listing by visible Product ID. Requires confirmed=true and impactConfirmed=true after warning about consequences. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
productIdNoVisible marketplace Product Id / primary id. Prefer this for active or terminated listings.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.
pendingListingIdNoVisible pending listing id, only for pending listings where HGRWeb shows this id.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds genuinely useful context beyond them: the two-stage confirmation gating ('after warning about consequences') and internal channel resolution. It stops short of stating irreversibility or what happens to related listings after termination.

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?

Three short sentences, front-loaded with the action and identifier, with the confirmation requirement immediately after. The final sentence about the HGRApi header is terse to the point of obscurity and could be dropped or clarified.

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 destructive mutation with an output schema and full parameter documentation, the description covers the essentials: what is terminated, which ID identifies it, and the confirmation gates. The remaining gap is disambiguation from sibling terminate tools and the channelOAuthId 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?

Schema description coverage is 100%, so all five parameters are already documented, making 3 the baseline. The description partly undersells the schema by saying the channel is 'resolved internally' while the schema marks channelOAuthId required, which could cause an agent to omit a mandatory parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Terminates one active listing') with the identifier ('visible Product ID'), so the action is unambiguous. It does not distinguish itself from the near-duplicate sibling hgr_post_searchproduct_terminatelisting2 or from hgr_remove_listing, so an agent must inspect both to choose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the required confirmation flow and the 'active listing' scope (the pendingListingId parameter hints at the pending case). However, there is no explicit when-not guidance and no mention of the sibling terminate/remove tools, which is a real selection risk in a 100+ tool namespace.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_update_ai_publisher_optimizationUpdate Ai Publisher OptimizationA
Destructive
Inspect

Updates AI Publisher optimization columns. Requires confirmed=true and impactConfirmed=true. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI optimization body: OptimizeTitles, OptimizeDescriptions, OptimizeFields.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare this as destructive, non-idempotent, and open-world, so the description need not repeat that profile. The description adds value by documenting the two confirmation gates, but it does not explain what is changed, whether changes are reversible, or what high-impact consequences specifically require confirmation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the action and confirmation requirements. The final sentence about HGRApi Header channel / ChannelOAuthId is awkward but does not make the overall description verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 100% schema coverage, output schema, and destructive/open-world annotations, the description is largely complete for correct invocation. It could be stronger by clarifying the specific effect of the update or distinguishing it from sibling optimization tools, but the essential prerequisites are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema already documents all four parameters, including the confirmation booleans and channelOAuthId. The description merely repeats the two confirmation requirements and adds a somewhat ambiguous note about HGRApi Header channel / ChannelOAuthId being resolved internally, which does not add reliable meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: updating AI Publisher optimization columns. It is clear enough for an agent to distinguish from read-only AI Publisher tools, but it does not explicitly differentiate this mutation tool from other optimization-related siblings such as hgr_post_searchproduct_optimize.

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 important procedural guidance by requiring confirmed=true and impactConfirmed=true before invocation. However, it does not explicitly say when to choose this tool over related AI Publisher or optimization tools, nor does it name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_update_listingUpdate ListingA
Destructive
Inspect

Changes editable fields of one exact listing variation using HGRApi SaveProductChanges. Call only after the listing is exact and the user explicitly confirmed the action. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
notesNoNew listing notes.
priceNoNew channel price.
titleNoNew listing title.
markupNoNew percentage markup.
quantityNoNew channel stock quantity.
confirmedYesMust be true after the user explicitly requested or confirmed the exact change.
primeOnlyNoWhether this listing should use Prime-only source offers when applicable.
productIdNoVisible marketplace Product Id / primary id. Prefer this when the user provides a Product Id.
sourceUrlNoNew source product URL.
ignoreRulesNoWhether this listing ignores pricing rules.
markupFixedNoNew fixed markup.
minQuantityNoNew minimum quantity setting.
monitorPriceNoWhether HGR should monitor source price for this listing.
monitorStockNoWhether HGR should monitor source stock for this listing.
returnPolicyNoNew marketplace return business policy id.
paymentPolicyNoNew marketplace payment business policy id.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
shippingPolicyNoNew marketplace shipping business policy id.
maxDeliveryDaysNoNew maximum delivery days setting.
dispatchTimeDaysNoNew dispatch handling time in days.
variationProductIdNoVisible variation Product Id / primary id when the listing has multiple variations.
monitorPriceDecreaseNoWhether HGR should monitor source price decreases for this listing.
priceDecreasePercentageNoPrice decrease percentage setting.

Output Schema

NameRequiredDescription

No output parameters

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, idempotentHint=false and openWorldHint=true; the description adds the confirmation requirement and notes the channel header is resolved internally, which is beyond the structured data. It still omits the most consequential mutation detail: whether omitted optional fields are left untouched or cleared, and what a partial failure looks like.

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?

Three short sentences with the purpose front-loaded, the safety gate second, and infrastructure notes last. No filler, though the trailing header/auth sentence could be tightened given channelOAuthId is already documented in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and annotations carry the safety profile, so those burdens are lifted. But for a 23-parameter destructive mutation with no idempotency, the description never explains partial-update semantics, identifier precedence (productId vs variationProductId), or which fields are actually editable — the gaps an agent is most likely to hit.

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% with all 23 parameters individually described, so the description needn't restate them. It adds a small amount of routing context — that this targets one exact variation and that channel identity comes from the HGRApi header — though the phrase 'ChannelOAuthId resolved internally' sits awkwardly against channelOAuthId being a required input, which slightly muddies rather than clarifies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

A specific verb plus resource ('Changes editable fields of one exact listing variation') and the underlying API call (SaveProductChanges). 'One exact listing variation' implicitly separates it from bulk siblings like hgr_post_searchproduct_savemultipleproductchanges, but no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a real precondition ('Call only after the listing is exact and the user explicitly confirmed the action'), which is useful gating guidance. However, it names no alternatives — nothing tells the agent whether to use this versus hgr_post_searchproduct_savemultipleproductchanges for bulk edits, hgr_update_pricing_rule for rule-level changes, or hgr_post_listingcreate_editpending for pending listings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_update_noapi_serversUpdate Noapi ServersA
Destructive
Inspect

Updates No-API Server credentials/configuration with the exact WAPI credentials array for one visible store/channel. Requires HGRApi Header channel / ChannelOAuthId resolved internally, confirmed=true and impactConfirmed=true. Never returns passwords.

NameRequiredDescriptionDefault
confirmedYesMust be true after the user explicitly requested or confirmed the exact credential/configuration change.
credentialsYesExact WAPI ManagedServerCredentials[] array. Password values are accepted as input but never returned.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete credential/configuration consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, idempotent=false, openWorld=true, so the safety profile is covered. The description adds real value by disclosing the confirmation gating (confirmed/impactConfirmed must be true) and the 'Never returns passwords' guarantee, though it doesn't describe reversibility or side effects on existing config.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two front-loaded sentences with zero filler; the required gating flags and password non-disclosure are stated directly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema, rich annotations, and full schema coverage, the description supplies the missing behavioral context (confirmation requirements, password handling). Slightly incomplete on what exactly changes in the store's configuration, but overall sufficient 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 coverage is 100%, so the schema already documents all four parameters, including the confirmed/impactConfirmed semantics and that channelOAuthId comes from hgr_list_channels. The description reinforces but adds little beyond the schema; 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?

States a specific verb (Updates) and resource (No-API Server credentials/configuration) scoped to one visible store/channel using the exact WAPI credentials array. This clearly distinguishes it from read-only siblings like hgr_get_noapi_servers and hgr_get_dashboard_getnoapiservers.

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?

Gives concrete preconditions: channelOAuthId must come from hgr_list_channels, and both confirmed and impactConfirmed must be true. It doesn't explicitly contrast with alternatives like the add/save credentials tools, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_update_price_warrior_settingsUpdate Price Warrior SettingsA
Destructive
Inspect

Updates Price Warrior settings for one visible store. Requires confirmed=true and impactConfirmed=true because repricing can affect many listings. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI PriceWarrior UpdateSettingsRequest body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and openWorldHint=true; the description adds the substantive reason ('repricing can affect many listings') plus the two-step human confirmation gate, which is exactly the kind of behavioral context annotations cannot convey. It does not describe what happens to existing settings on partial updates, which keeps it out of 5 territory.

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?

Three short sentences, front-loaded with what it does, followed by the preconditions and the auth note. Minimal waste; only the trailing auth sentence is somewhat terse/awkward, but it carries real information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and the destructive-repricing consequence plus mandatory confirmations are covered. The main remaining gap is that the contents of the request body and the semantics of a partial vs full settings update are left entirely to external WAPI knowledge.

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%, so the baseline is 3; the description earns an extra point by explaining the rationale for the two boolean flags and by clarifying that the channel/ChannelOAuthId can be resolved internally rather than being user-supplied. The opaque 'body' parameter (PriceWarrior UpdateSettingsRequest) remains unexplained in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Updates Price Warrior settings') and scopes it to 'one visible store', which cleanly separates it from the read-side sibling hgr_get_price_warrior and from the different-resource hgr_update_pricing_rule. It stops short of naming a sibling explicitly, so it is clear but not maximally differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The confirmation preconditions (confirmed=true, impactConfirmed=true) imply this is a deliberate, high-impact action rather than a casual call, and 'one visible store' hints that a channel must be selected first. However, it never says when to prefer this over hgr_update_pricing_rule or hgr_get_price_warrior, and no explicit exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_update_pricing_ruleUpdate Pricing RuleA
Destructive
Inspect

Updates a pricing rule for one visible store. Requires confirmed=true and impactConfirmed=true because pricing rules can affect many listings. Requires HGRApi Header channel / ChannelOAuthId resolved internally.

NameRequiredDescriptionDefault
bodyYesWAPI PricingRulesUpdateRequest body: RuleId and supported rule fields.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The description earns credit by explaining the blast radius ("pricing rules can affect many listings") and the user-confirmation gate, which is the context an agent needs before a destructive write, though it says nothing about rollback or reversibility.

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?

Three short sentences, front-loaded with the operation and scope, then the gating requirements. No filler; only the trailing "Requires HGRApi Header channel" clause is cryptic enough to cost a 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?

Output schema exists and full annotation coverage is present, so the description only needs to carry intent and guardrails, which it largely does. The gaps are the unresolved channelOAuthId sourcing and no pointer to hgr_get_pricing_rules as the source of the RuleId referenced in the body.

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%, so baseline is 3; the description adds the reason the two confirmation booleans exist (high-impact changes across many listings). However, "ChannelOAuthId resolved internally" sits awkwardly against a schema that marks channelOAuthId as a required caller-supplied parameter, creating ambiguity about who supplies 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?

States a concrete verb and resource ("Updates a pricing rule") plus scope ("for one visible store"), which cleanly separates it from hgr_add_pricing_rule, hgr_delete_pricing_rule and hgr_get_pricing_rules. It never names those siblings explicitly, so an agent must infer the distinction from the verb alone.

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?

Gives usable preconditions: both confirmed and impactConfirmed must be true before the call, and the operation is scoped to a single visible store. It stops short of naming when to prefer a sibling (e.g. add vs. update) or that the rule id should come from hgr_get_pricing_rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_update_templateUpdate TemplateA
Destructive
Inspect

Updates a listing template for one visible store/channel. Requires HGRApi Header channel / ChannelOAuthId resolved internally, confirmed=true and impactConfirmed=true because templates can affect publishing flows.

NameRequiredDescriptionDefault
bodyYesWAPI Templates UpdateRequest body.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.
channelOAuthIdYesChannelOAuthId returned by hgr_list_channels for the selected visible store.
impactConfirmedYesMust be true after the user explicitly confirmed the concrete high-impact consequences.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is covered; the description adds real value by explaining *why* — templates can affect publishing flows — and by tying that to the double-confirmation gate. It stops short of saying whether the update is reversible or what a partial failure looks like.

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?

Two sentences, mutation and scope front-loaded, with the confirmation gate second. Slight deduction for the cryptic fragment 'Requires HGRApi Header channel / ChannelOAuthId resolved internally', which mixes two concepts and reads ambiguously.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full schema, an output schema, and rich annotations already in place, the description supplies the missing operational context: the store scoping, the confirmation contract, and the publishing-flow risk. Only the shape of the 'body' payload is left unexplained, which the schema punts on as 'WAPI Templates UpdateRequest body.'

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds rationale the schema lacks: channelOAuthId is resolved internally for a single visible store, and the two booleans exist because template edits propagate into publishing flows. It does not describe what the opaque 'body' UpdateRequest accepts, which is the one remaining ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Updates a listing template') plus a scope constraint ('for one visible store/channel'), which separates it from the read-only siblings hgr_list_templates and the different mutation hgr_make_default_template. It never names those siblings explicitly, so an agent must infer the boundary from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives prerequisite conditions (confirmed=true, impactConfirmed=true, channel resolved internally) which implies when the tool is callable, but it never says when to prefer this over hgr_make_default_template or how to obtain the template identity. Usage is implied rather than instructed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgr_update_virtual_assistantUpdate Virtual AssistantA
Destructive
Inspect

Updates or deactivates a Virtual Assistant / VA profile. Requires confirmed=true.

NameRequiredDescriptionDefault
bodyYesWAPI UpdateRequest body: Id, Active and other supported fields.
confirmedYesMust be true after the user explicitly requested or confirmed the exact action.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is largely structured. The description adds the deactivation possibility and confirmation requirement, but does not explain what deactivation changes or whether updates are reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences and front-loads the action and prerequisite. There is no boilerplate or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich structured context (full schema coverage, annotations, and an output schema), the description is adequate for invocation: it names the action, deactivation capability, and confirmation requirement. It could be stronger on alternatives and destructive effects, but those are partly covered by the schema and 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?

Schema description coverage is 100%, and the schema documents `body` (Id, Active, other supported fields) and `confirmed`. The description only repeats the confirmed=true requirement and adds no field or format semantics beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource pair: updates or deactivates a Virtual Assistant / VA profile. It does not explicitly differentiate from siblings such as hgr_add_virtual_assistant or hgr_get_virtual_assistants, so it is clear but stops short of strong sibling routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies use when updating or deactivating a VA and states the confirmed=true prerequisite, but gives no explicit when-not-to-use guidance or named alternative. The confirmation requirement is useful but is also present in the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 170 tool updates
    • First observedhgr_add_pricing_rule
    • First observedhgr_add_virtual_assistant
    • First observedhgr_change_ai_publisher_status
    • First observedhgr_create_ai_publisher_agent
    • First observedhgr_create_support_ticket
    • First observedhgr_delete_pricing_rule
    • First observedhgr_force_process_order_lines
    • First observedhgr_force_refresh_listings
    • First observedhgr_generate_limited_products_csv
    • First observedhgr_generate_tracking_id
    • First observedhgr_get_active_listings
    • First observedhgr_get_affiliate_dashboard
    • First observedhgr_get_affiliate_dashboard_monthly
    • First observedhgr_get_affiliate_withdrawals
    • First observedhgr_get_ai_agent_configuration
    • First observedhgr_get_ai_agent_dashboard
    • First observedhgr_get_ai_gettasks
    • First observedhgr_get_ai_publisher_filters
    • First observedhgr_get_ai_publisher_history
    • First observedhgr_get_analytics_beingwatched
    • First observedhgr_get_analytics_getwatchers
    • First observedhgr_get_analytics_productsnotbeingwatched
    • First observedhgr_get_authenticated_user
    • First observedhgr_get_autoorder_fees
    • First observedhgr_get_autoordering_configuration
    • First observedhgr_get_catalog_getproductsource
    • First observedhgr_get_catalog_newgetlistingstatus
    • First observedhgr_get_channel_configuration
    • First observedhgr_get_channellisting_getcategoryinfo
    • First observedhgr_get_channellisting_getcustomcategories
    • First observedhgr_get_channellisting_getsettings
    • First observedhgr_get_channellisting_isbrandinverolist
    • First observedhgr_get_computed_source_configuration
    • First observedhgr_get_dashboard_getaffiliatestatistics_period_from_to
    • First observedhgr_get_dashboard_getlistingservices
    • First observedhgr_get_dashboard_getlistingsummary
    • First observedhgr_get_dashboard_getnoapiservers
    • First observedhgr_get_dashboard_getoptimizedcount
    • First observedhgr_get_dashboard_getpendingstatistics
    • First observedhgr_get_dashboard_getupcomingwebinar
    • First observedhgr_get_dashboard_requestcode
    • First observedhgr_get_dashboard_taskpendingautoorder2
    • First observedhgr_get_dispatch_get
    • First observedhgr_get_helpcentre_getticket_id
    • First observedhgr_get_listing_didlist
    • First observedhgr_get_listing_listingscountperchannel
    • First observedhgr_get_listing_price_history
    • First observedhgr_get_listing_stock_history
    • First observedhgr_get_listings
    • First observedhgr_get_noapi_servers
    • First observedhgr_get_noapi_solution_state
    • First observedhgr_get_pending_listings
    • First observedhgr_get_price_warrior
    • First observedhgr_get_pricing_rules
    • First observedhgr_get_products_subscriptions_get
    • First observedhgr_get_sales
    • First observedhgr_get_sales_getorderimage_orderid_cache
    • First observedhgr_get_searchproduct_getmissinglistings
    • First observedhgr_get_searchproduct_getpendingnoapipreviousvalues
    • First observedhgr_get_searchproduct_pricechanges
    • First observedhgr_get_searchproduct_stockchanges
    • First observedhgr_get_source_configuration
    • First observedhgr_get_sources
    • First observedhgr_get_sources_get
    • First observedhgr_get_sources_getpublic
    • First observedhgr_get_sources_goout
    • First observedhgr_get_subscription_summary
    • First observedhgr_get_support_ticket
    • First observedhgr_get_terminated_listings
    • First observedhgr_get_user_gettokenbalance
    • First observedhgr_get_user_gettokenhistory
    • First observedhgr_get_virtual_assistants
    • First observedhgr_get_winning_get_id
    • First observedhgr_get_winning_list
    • First observedhgr_list_channels
    • First observedhgr_list_pending_now
    • First observedhgr_list_support_tickets
    • First observedhgr_list_templates
    • First observedhgr_load_business_policies
    • First observedhgr_load_order_addresses
    • First observedhgr_load_order_progress
    • First observedhgr_load_shipping_options
    • First observedhgr_make_default_template
    • First observedhgr_manually_dispatch_order_lines
    • First observedhgr_mark_order_lines_as_purchased
    • First observedhgr_mark_order_lines_fixed
    • First observedhgr_pause_pending_to_review
    • First observedhgr_post_ai_createtask
    • First observedhgr_post_ai_getimageinfo
    • First observedhgr_post_ai_gettaskresult
    • First observedhgr_post_ai_publishnow
    • First observedhgr_post_analytics_addwork
    • First observedhgr_post_catalog_getproducts
    • First observedhgr_post_catalog_submitcatalog
    • First observedhgr_post_channellisting_clearonevariation
    • First observedhgr_post_channellisting_clearvariations
    • First observedhgr_post_channellisting_getcategoriesbytext
    • First observedhgr_post_channellisting_getcategoryspecifics
    • First observedhgr_post_channellisting_getsuggestedcategories
    • First observedhgr_post_channellisting_getsuggestedtitles
    • First observedhgr_post_channellisting_list
    • First observedhgr_post_channellisting_monitorexistinglisting
    • First observedhgr_post_channellisting_monitorexistinglisting2
    • First observedhgr_post_channellisting_optimizeimage
    • First observedhgr_post_channellisting_optimizespecificfields
    • First observedhgr_post_dispatch_getshipmentdetails
    • First observedhgr_post_dispatch_updateshipmentdetails
    • First observedhgr_post_helpcentre_contact
    • First observedhgr_post_listing_autolist
    • First observedhgr_post_listing_getbulkhistory
    • First observedhgr_post_listing_getscrapingconfig
    • First observedhgr_post_listing_migratebulk
    • First observedhgr_post_listing_partner
    • First observedhgr_post_listing_relistedbulk2
    • First observedhgr_post_listing_saveautolist
    • First observedhgr_post_listing_savebulkpublish
    • First observedhgr_post_listingcreate_editpending
    • First observedhgr_post_listingcreate_getdata
    • First observedhgr_post_listingcreate_getdatabypsids
    • First observedhgr_post_listingcreate_submit
    • First observedhgr_post_notificationcenter_getall
    • First observedhgr_post_notificationcenter_markallasread
    • First observedhgr_post_notificationcenter_markallchannelasread
    • First observedhgr_post_notificationcenter_markasread
    • First observedhgr_post_sales_fixedorderline
    • First observedhgr_post_sales_forceprocessorderline
    • First observedhgr_post_sales_generatetrackingid
    • First observedhgr_post_sales_loadaddressesfromorderline
    • First observedhgr_post_sales_loadprogress
    • First observedhgr_post_sales_manuallydispatchorderline
    • First observedhgr_post_sales_markasdispatched
    • First observedhgr_post_sales_processorderline
    • First observedhgr_post_sales_stoporderline
    • First observedhgr_post_searchproduct_defaultsettingsmultiple
    • First observedhgr_post_searchproduct_getlistingsimages
    • First observedhgr_post_searchproduct_getpendinglistingsimages2
    • First observedhgr_post_searchproduct_listnow
    • First observedhgr_post_searchproduct_optimize
    • First observedhgr_post_searchproduct_pausetoreview
    • First observedhgr_post_searchproduct_relist
    • First observedhgr_post_searchproduct_removelisting
    • First observedhgr_post_searchproduct_savemultipleproductchanges
    • First observedhgr_post_searchproduct_terminatelisting2
    • First observedhgr_post_smartlister_filters_checknew
    • First observedhgr_post_smartlister_filters_new
    • First observedhgr_process_order_lines
    • First observedhgr_refresh_business_policies
    • First observedhgr_relist_listing
    • First observedhgr_remove_autoordering_configuration
    • First observedhgr_remove_listing
    • First observedhgr_reply_support_ticket
    • First observedhgr_request_noapi_code
    • First observedhgr_save_ai_agent_configuration
    • First observedhgr_save_autoordering_configuration
    • First observedhgr_save_channel_setting
    • First observedhgr_save_source_setting
    • First observedhgr_search_orders
    • First observedhgr_send_noapi_answer
    • First observedhgr_send_noapi_code
    • First observedhgr_set_manual_tracking_id
    • First observedhgr_set_shipping_address
    • First observedhgr_stop_order_lines
    • First observedhgr_terminate_listing
    • First observedhgr_update_ai_publisher_optimization
    • First observedhgr_update_listing
    • First observedhgr_update_noapi_servers
    • First observedhgr_update_price_warrior_settings
    • First observedhgr_update_pricing_rule
    • First observedhgr_update_template
    • First observedhgr_update_virtual_assistant

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    18 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources