Skip to main content
Glama

A2A Grocery — the agentic hub for retail grocery procurement

Server Details

A2A + MCP hub for retail grocery procurement — 20 markets on the SCHEMA algo record. Trade only.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
greencore-solutions/a2a-grocery
GitHub Stars
0
Server Listing
a2a-grocery

TDQS

A3.5/5.0

Scored across 19 tools

Disambiguation5/5

Each tool targets a distinct resource or action: item validation/search/retrieval, compliance gate and related market requirements, counterparty discovery, price/availability/documents, order intent, handoff, and audit. Although several tools relate to compliance, their boundaries are clearly described and unlikely to be confused.

Naming Consistency4/5

Almost all tools use consistent snake_case with a verb_noun pattern (get_, find_, resolve_, search_, verify_, create_, compare_, gate_, log_). The main deviation is a2a_handoff, which is a noun phrase with a protocol acronym rather than a verb_noun pattern.

Tool Count4/5

19 tools is slightly above the typical 3-15 range, but the domain is broad: grocery procurement, compliance, item data, buyer/supplier discovery, order intent, and audit. Each tool appears to earn its place, though the surface is heavier than average.

Completeness4/5

The set covers a full procurement/compliance workflow: actor and jurisdiction resolution, GTIN verification, item search and retrieval, gate decisions, market/label/notification requirements, enforcement, price, availability, documents, buyer/supplier discovery, order intent, handoff, and audit. Minor gaps remain around order lifecycle operations such as order status, cancellation, or updating an existing intent.

Available Tools

19 tools
a2a_handoffA2A HandoffCInspect

Hand the buyer to the right agent over Agent-to-Agent (A2A): with an allow decision the order intent goes to the counterparty's agent (envelope + card URL); with a deny, the market agent of the ship-to — a referral, never a sale to a consumer.

ParametersJSON Schema
NameRequiredDescriptionDefault
intent_idNo
decision_idNo
counterparty_card_urlNo

Output Schema

ParametersJSON 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 this is a non-read-only, non-destructive, non-idempotent, closed-world operation. The description adds real behavioral context beyond that: the allow branch forwards an order-intent envelope plus card URL to the counterparty's agent, the deny branch routes only as a referral ('never a sale to a consumer'). It still omits permission/auth requirements and any retry or failure semantics.

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

Conciseness3/5

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

It is a single front-loaded sentence with no filler, which is good structurally. The heavy clause stacking and domain jargon ('market agent of the ship-to', 'envelope + card URL') reduce readability enough that density becomes a cost rather than an asset.

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 safety profile. What remains missing is guidance on parameter selection and preconditions for a write-style handoff tool with zero required, zero-described parameters — the agent cannot be confident what to pass or when the call is valid.

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

Parameters3/5

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

Schema description coverage is 0% across three nullable, non-required parameters, so the description must compensate. It does partially map them implicitly — 'order intent' to intent_id, the allow/deny 'decision' to decision_id, and 'card URL' to counterparty_card_url — but never states which are required, how they pair, or what happens when one is omitted.

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 gives a recognizable verb+resource pairing ('Hand the buyer to the right agent over Agent-to-Agent'), so the core action is graspable. However, phrases like 'the market agent of the ship-to' and the nested allow/deny routing make the actual purpose murky, and it never distinguishes itself from siblings such as gate_transaction or create_order_intent.

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

Usage Guidelines2/5

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

The description explains what happens internally for an allow versus a deny decision, but that is tool behavior keyed to decision_id, not guidance on when to invoke this tool versus alternatives. No prerequisites, no trigger conditions, and no named sibling to prefer for a different case are given.

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

compare_itemsCompare ItemsB
Read-onlyIdempotent
Inspect

Compare items, variants and pack sizes side by side (two to eight GTINs or catalogue ids).

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinsYes
marketNo
decision_idNo

Output Schema

ParametersJSON 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=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds one genuine behavioral constraint — the two-to-eight item bound — but says nothing about what is returned or the effect of market/decision_id. Annotations lower the bar, so a 3 is appropriate.

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

Conciseness4/5

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

One tight sentence, front-loaded with the verb and scope, with the cardinality constraint in parentheses where it belongs. Nothing is wasted, though it is arguably too brief given the undocumented parameters.

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. Still, for a three-parameter tool with zero schema description coverage, the undefined market and decision_id parameters leave the definition only minimally adequate.

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

Parameters3/5

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

Schema coverage is 0%, so the description must carry parameter meaning. It usefully clarifies that gtins accepts either GTINs or catalogue ids and constrains the count to two to eight, which the bare string-array schema does not convey. However, the market and decision_id parameters receive no explanation at all, leaving a real gap.

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

Purpose4/5

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

States a specific verb (compare) and resource (items, variants, pack sizes) with the mode of comparison (side by side). It is clear what the tool does, though it does not explicitly differentiate itself from siblings like get_item or get_price that also retrieve item data.

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

Usage Guidelines3/5

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

The description implies the usage context (side-by-side comparison of two to eight items) which suggests when an agent would reach for it over a single-item lookup. However, it names no alternatives and gives no explicit when-not-to-use guidance or prerequisites.

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

create_order_intentCreate Order IntentBInspect

Open an order between two agents: an order intent for a cleared item after the gate; the intent carries reason_code + rule_set_version and settles by x402 on a2a-x402.ai.

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinYes
marketNo
ship_toNo
quantityYes
decision_idYes

Output Schema

ParametersJSON 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 readOnly=false, destructive=false, idempotent=false, so the write-safety profile is covered. The description usefully adds that the intent 'settles by x402', disclosing a financial settlement side effect not visible in the annotations, but it does not clarify reversibility, auth requirements, or failure behavior.

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

Conciseness4/5

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

A single dense sentence that front-loads the core action ('Open an order between two agents'), though the trailing clause about x402 settlement and the stray field names make it read as slightly run-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, but for a five-parameter creation tool with 0% schema coverage the description leaves the required inputs (gtin, quantity, decision_id) entirely unexplained and cites fields that are not parameters.

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

Parameters2/5

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

Schema description coverage is 0% and none of the five parameters (gtin, market, ship_to, quantity, decision_id) are explained in the description. Worse, it references 'reason_code + rule_set_version', which do not map to any actual parameter, so it adds no usable meaning for the real inputs.

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

Purpose4/5

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

The description opens with a clear verb+resource ('Open an order between two agents') and differentiates itself from siblings by tying the intent to 'a cleared item after the gate', which positions it downstream of gate_transaction. It is somewhat jargon-laden ('order intent', 'a2a-x402.ai') but an agent can tell it creates a new order rather than reading or verifying one.

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: the phrase 'after the gate' signals a precondition relative to gate_transaction, and 'for a cleared item' implies the item must already be cleared. No alternatives are named and no explicit when-not-to-use is given.

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

find_verified_buyerFind Verified BuyerA
Read-onlyIdempotent
Inspect

Retail buyer desks for this market: banner records (banner, parent group, channel discounter · e-commerce · local · in-store · traditional, local format, cited POS count or NULL, buyer desk by department) with their claim status — verified first, then claimed, then listed. Filters: channel, department. Takes the decision_id of an allow decision.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
marketYes
channelNo
departmentNo
decision_idYes

Output Schema

ParametersJSON 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?

Annotations already declare readOnlyHint, idempotentHint, non-destructive, closed-world. Beyond those, the description discloses meaningful behavior: results are ordered verified → claimed → listed, and POS count may be NULL. That adds value the annotations don't cover.

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 the prerequisite lands last, which is reasonable. However, the long parenthetical enumerating return fields is largely redundant given an output schema exists, and its mid-sentence interpuncts read awkwardly for an agent parsing quickly.

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

Completeness3/5

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

Annotations cover the safety profile and an output schema covers returns, so the description's main remaining duties are param meaning and prerequisites. It delivers the decision_id gating context but misses limit/query semantics, leaving the six-parameter surface only partially explained.

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

Parameters3/5

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

Schema coverage is 0%, so the description must carry parameter meaning. It covers market ('for this market'), decision_id, and the channel/department filters, but says nothing about limit or query — two of six params remain undocumented anywhere.

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

Purpose4/5

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

States a specific resource — retail buyer desks for a market — and enumerates the banner-record fields it returns (banner, parent group, channel, format, POS count, buyer desk). This distinguishes it from the supplier-side sibling, but the dense parenthetical makes the core verb ('find') less immediately legible.

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 a real prerequisite — it takes the decision_id of an allow decision, implying a prior gating step — and names the available filters (channel, department). It does not, however, contrast with alternatives like find_verified_supplier or state when not to use it.

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

find_verified_supplierFind Verified SupplierA
Read-onlyIdempotent
Inspect

Verified makers, brand owners, private-label owners, distributors and importers for this item or category in a market: maker records with their claim status — verified first, then claimed, then listed. Takes the decision_id of an allow decision.

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinNo
laneNo
limitNo
queryNo
marketYes
decision_idYes

Output Schema

ParametersJSON 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 and closed-world, so the safety profile is covered. The description adds real behavioral value on top: the result ordering rule ('verified first, then claimed, then listed') and the dependency on a prior allow decision, neither of which the annotations express.

Agents need to know what a tool does to the world before 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 dense sentences that front-load the returned entity types and then the ordering rule, with no filler. Slightly compressed phrasing ('claim status — verified first, then claimed, then listed') asks the reader to parse a lot in one breath, but nothing is wasted.

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 explanation is not owed. The prerequisite and ordering are covered, but with 0% parameter description coverage the description leaves lane and limit unexplained, which is a real gap for a six-parameter lookup tool.

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

Parameters3/5

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

Schema description coverage is 0% across six parameters, so the description must carry the load. It does explain decision_id and implies the item/category alternates (gtin/query) and market, but leaves lane and limit entirely undescribed and gives no market format or query-matching 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?

Names a specific resource (verified makers/brand owners/distributors/importers) and what it returns (maker records with claim status), so the agent knows it retrieves supplier-side entities rather than buyers. It never states the verb explicitly ('find') nor distinguishes itself from the sibling find_verified_buyer beyond the supplier/buyer noun, 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 clause 'Takes the decision_id of an allow decision' is a genuine prerequisite that tells the agent this tool is only callable downstream of an allow decision. However, no alternative tools are named (e.g., when to prefer search_cleared_items or find_verified_buyer) and no when-not condition is given.

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

gate_transactionGate TransactionA
Read-onlyIdempotent
Inspect

Allow or deny, with the reason and the rule. Takes an item (GTIN or catalogue id; optional), the ship-to market, the actor class and, when no record exists yet, the product type, ingredients and claims. Returns one of twelve reason codes (ALLOW · REQUIRE_NOTIFICATION · REQUIRE_RESPONSIBLE_PERSON · DENY_NOT_PERMITTED_HERE · DENY_INGREDIENT_BANNED · DENY_INGREDIENT_LIMIT · DENY_CLAIM · DENY_MARKET · DENY_ACTOR_CLASS · DENY_UNLICENSED_AGENT · DENY_NO_GTIN · DENY_NOT_VERIFIED), the rule-set version, the source page and a decision_id for the downstream tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
claimsNo
channelNo
productNo
ship_toYes
credentialNo
actor_classYes
ingredientsNo
product_typeNo

Output Schema

ParametersJSON 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 readOnlyHint, idempotentHint and destructiveHint=false, but the description adds genuine context beyond them: the full set of twelve decision codes, the rule-set version and source page for traceability, and the decision_id intended for downstream tools. It does not explain the credential parameter's auth role or whether the decision is cached/versioned per call.

Agents need to know what a tool does to the world before 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 purpose and the return contract, with no filler. The twelve-code enumeration is long but is the tool's actual return vocabulary, so it earns its space rather than being padding.

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

Completeness4/5

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

Given that an output schema exists and annotations cover the safety profile, the description is nearly complete: it names the inputs, the conditional inputs, and the decision_id chaining to downstream tools. The remaining gaps are the undocumented channel and credential parameters and the absence of any guidance on valid actor_class or market values.

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

Parameters3/5

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

With 0% schema description coverage the description must carry all meaning, and it explains six of eight parameters: product (GTIN or catalogue id, optional), ship_to market, actor_class, and the conditional product_type/ingredients/claims trio. It leaves channel and credential completely unexplained, and gives no hint about the expected values or format for actor_class and ship_to.

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

Purpose4/5

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

The opening 'Allow or deny, with the reason and the rule' states a specific decision action on a transaction, and the enumeration of twelve reason codes makes the tool's scope unmistakable. It is clearly distinguishable from narrower lookups like get_market_status or get_notification_requirements, though it never explicitly names those siblings as 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?

There is real conditional guidance — the item identifier is optional and product_type, ingredients and claims are needed 'when no record exists yet' — which tells the agent how to shape a call. However, there is no statement of when to use this gate versus composing the individual lookup tools, and no prerequisites for the credential parameter.

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

get_availabilityGet AvailabilityB
Read-onlyIdempotent
Inspect

In stock, and where: the availability block of an item (banners on the shelf of record, product URLs read live at load, POS counts where the banner record carries a cited one) once gate_transaction has answered allow (decision_id).

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinYes
marketNo
decision_idYes

Output Schema

ParametersJSON 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 readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered. The description adds that product URLs are read live at load and POS counts are included only if the banner record carries a cited one, which is useful context. However, it doesn't clarify authentication or rate limits beyond the decision_id requirement.

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

Conciseness3/5

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

The description is a single sentence but it's overly long and parenthetical-heavy, which hurts readability. Information is front-loaded with 'In stock, and where', but the rest is cluttered with jargon.

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

Completeness3/5

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

Given that an output schema exists, the description needn't explain return values. However, it should still clarify parameters and behavioral aspects. The gate_transaction dependency is covered, but parameter semantics are lacking, and the overall domain context is opaque.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but doesn't. It implies a gtin and decision_id are needed, but doesn't explain market parameter, its format, or its impact. No meaning is added beyond what's in the schema names.

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

Purpose3/5

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

The description attempts to convey the purpose but the phrasing is convoluted and non-standard. It includes domain-specific terms (banners on the shelf of record, product URLs read live at load) that are jargon-heavy and don't clearly distinguish it from siblings like get_price or get_item. A reader can infer it returns availability data, but the delivery is muddled.

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

Usage Guidelines4/5

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

The description explicitly states the prerequisite: 'once gate_transaction has answered allow (decision_id)'. This clearly tells the agent when to use the tool (after gate_transaction) and what's needed. However, it doesn't specify alternative tools 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.

get_enforcement_watchGet Enforcement WatchB
Read-onlyIdempotent
Inspect

Recalls, withdrawals and food-safety alerts, dated: enforcement events by market, category, brand or since a date, each with its source page.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
sinceNo
marketNo

Output Schema

ParametersJSON 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 a safe, idempotent, non-destructive, closed-world read, so the safety profile is covered. The description adds that each event carries its source page, which is useful return context, but says nothing about result volume, date defaults, or what happens when no filters are supplied.

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

Conciseness4/5

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

A single dense sentence front-loads the resource type before the filtering options. It is appropriately sized, with only minor awkwardness in the 'dated:' construction.

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 cover the safety profile. Still, with three all-optional parameters, the description never says what happens when called with no arguments, which is a meaningful gap for an agent deciding whether to filter.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden. It maps reasonably well: 'market' matches the market param, 'since a date' matches since, and 'category or brand' implicitly routes through the free-text query param. However, it never states that query is free-text or what it accepts, leaving the mapping partly ambiguous.

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

Purpose4/5

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

States a specific resource (recalls, withdrawals and food-safety alerts) with the retrieval scope, so an agent immediately knows this returns enforcement events. It is clearly distinct from the other siblings like get_item, get_price, or verify_gtin, though it never names an alternative 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 phrase 'by market, category, brand or since a date' hints at how to narrow results, but there is no statement of when to use this tool versus alternatives and no prerequisites or exclusions. Usage must be inferred entirely.

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

get_itemGet ItemB
Read-onlyIdempotent
Inspect

One item by GTIN (EAN in European copy), fully resolved: temperature, department → super category → category, attribute lanes, pack, brand and maker, market, claim status, market status, availability; after the gate also ingredients, allergens, claims, origin, certificates, variants and offers.

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinYes
marketNo
decision_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotency, and non-destructive behavior, so the description's real contribution is disclosing a gating dependency ('after the gate also ingredients, allergens, claims...'), i.e. that the response is tiered by access level. That is genuine behavioral context beyond the structured hints, though it never says what the gate is or how to satisfy 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?

Front-loaded with the key identifier and resource, then a semicolon-separated inventory of resolved fields. It is dense but single-purpose with no filler, though the field enumeration runs long.

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 most of the description's field list is arguably redundant, while the two genuinely ambiguous inputs (market as a filter, decision_id) and the unexplained 'gate' dependency are left open. Adequate but with clear gaps for a 3-parameter lookup with tiered responses.

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

Parameters3/5

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

Schema coverage is 0%, so the description must carry parameter meaning. It clarifies the gtin format ('EAN in European copy') and gestures at decision_id via the gating reference, but the market parameter is only listed as a returned field, not explained as an input filter, and decision_id is never defined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 resource and lookup key ('One item by GTIN'), and the enumeration of resolved fields signals this is the comprehensive item record rather than a slice like get_price or get_availability. The retrieval verb is only implicit, and it never names a sibling explicitly, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and none of the plausible alternatives (verify_gtin, search_cleared_items, get_price, get_availability) are mentioned. The phrase 'after the gate' faintly implies a sequencing dependency on gate_transaction, but the agent must infer it.

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

get_label_and_claimsGet Label And ClaimsB
Read-onlyIdempotent
Inspect

What the label must say, and which claims are allowed: the labelling requirements of the market (food information, allergens, origin, nutrition) and the claims rules of record (nutrition and health claims, organic, free-from), each with its source page. Optional claims are checked against the rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
claimsNo
marketYes
product_typeNo

Output Schema

ParametersJSON 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 indicate this is a safe, read-only, idempotent, non-destructive operation. The description adds that results include source pages and that optional claims are checked against the rules, which is useful context about output structure and validation behavior. However, it doesn't specify error handling, rate limits, or the granularity of the checks.

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

Conciseness4/5

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

Single sentence that front-loads the core purpose and packs in the scope. No fluff, though slightly dense. It could be structured better with a clear 'use when' clause, but it's efficient.

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

Completeness3/5

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

Given three parameters, one required, zero schema descriptions, and no output schema details, the description is incomplete. It doesn't cover parameter specifics or return structure, though it does mention source pages. For a tool with such sparse schema metadata, more guidance is needed to ensure correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only hints that 'market' is required (via 'of the market') and that 'claims' are optional and checked against rules. It does not explain what 'product_type' does, what format 'market' expects (e.g., ISO code), or what 'claims' should contain. This leaves significant gaps for an agent to fill.

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

Purpose4/5

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

States a specific resource retrieval: labelling requirements and claims rules by market. The verb 'get' is implicit through 'what the label must say', and the dual scope (label requirements + claims rules) is clear. It doesn't explicitly differentiate from siblings like get_notification_requirements or get_product_documents, but the domain is distinct enough to be inferable.

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

Usage Guidelines2/5

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

The description mentions that optional claims are checked against the rules, which implies a conditional behavior, but there is no explicit guidance on when to use this tool versus alternatives like get_notification_requirements. No prerequisites (e.g., market must be known) 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.

get_market_statusGet Market StatusB
Read-onlyIdempotent
Inspect

Is this product type a food here, and under which regime? Product type by market: food, special class (novel food, food supplement, infant formula, fortified, organic-certified, alcohol excise) or not permitted — with the rule-set version and the regulator's page.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYes
product_typeYes

Output Schema

ParametersJSON 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 readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds a real behavioral detail — that the answer is tied to a rule-set version and the regulator's page — but says nothing about freshness, caching, or auth, so it only modestly exceeds 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.

Conciseness4/5

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

Two sentences with the question leading, followed by the outcome taxonomy. Dense but every clause carries information; only the 'Product type by market' fragment is slightly redundant with the preceding 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?

An output schema exists, so return values need not be explained, and the annotations cover the safety profile. What remains missing is the input contract for two mandatory, undocumented, enum-less parameters — a real gap for a lookup tool, but not a crippling one.

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

Parameters2/5

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

Schema description coverage is 0% and neither parameter has an enum, yet the description does not state the expected format for 'market' (ISO code? name?) or what values 'product_type' accepts. The enumeration of food/special-class/not-permitted reads as outcomes rather than accepted inputs, leaving both required parameters semantically ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 resource (a market's classification of a product type) and enumerates the exact outcome classes it returns: food, special class (with subcategories), or not permitted. That is far more concrete than the name alone, though it never states the action as a verb and relies on a rhetorical question to frame the purpose.

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

Usage Guidelines2/5

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

No when-to-use condition is given, and no sibling is named or contrasted. With near neighbors like resolve_jurisdiction, get_notification_requirements and gate_transaction in the same family, the agent gets no help deciding whether this lookup is the right one or whether it precedes or follows those tools.

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

get_notification_requirementsGet Notification RequirementsA
Read-onlyIdempotent
Inspect

What must be filed before sale in a market: the food business registration or import notification scheme, the food business operator of record, and, for a product type in a special class, the extra step (novel-food authorisation, organic certification, supplement notification) — each with its source page.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYes
product_typeNo

Output Schema

ParametersJSON 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, non-destructive and openWorldHint=false, so the safety profile is covered. The description adds that results are cited back to source pages and that special-class product types trigger extra steps, which is useful output context, but it says nothing about unsupported markets or error behavior given the closed-world annotation.

Agents need to know what a tool does to the world before 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 dense sentence, front-loaded with the core payload and no filler. The em-dash parentheticals are slightly heavy but every clause adds content rather than restating the 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?

With an output schema present, return values need not be enumerated, yet the description summarizes them accurately; annotations cover the safety profile. The main gap is which markets are in scope, relevant given openWorldHint=false, but overall it is sufficient for correct invocation.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry the load. It meaningfully explains 'market' as the sale jurisdiction and clarifies that 'product_type' is optional and only changes the answer for products in a special class (novel food, organic, supplements), which is real semantic value beyond the bare schema.

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

Purpose4/5

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

The description states a specific verb+resource (get notification requirements) and unpacks exactly what the response contains: registration/import notification scheme, food business operator of record, and special-class extra steps. This is clearly distinguishable from siblings like get_label_and_claims or get_market_status, though 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?

Usage is implied by the framing ('what must be filed before sale in a market'), which tells the agent this is a pre-market-entry compliance lookup. However, there is no explicit when-to-use, when-not-to-use, or reference to an alternative tool for adjacent questions (e.g., enforcement or market status).

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

get_priceGet PriceA
Read-onlyIdempotent
Inspect

The price for this buyer: the price basis (list · contract · promotion window) from the maker's offers on the record, once gate_transaction has answered allow (decision_id). Plain $ on human surfaces. Tiers buy services, never rank.

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinYes
marketNo
decision_idYes

Output Schema

ParametersJSON 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?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuine behavioral context beyond them: the result is gated on a prior gate_transaction allow and is derived from the maker's offers on the record. It does not disclose caching, staleness, or failure behavior if no decision exists, so not 5.

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 the gate precondition are front-loaded, which is good, but the trailing fragments 'Plain $ on human surfaces' and 'Tiers buy services, never rank' are cryptic domain asides whose value is unclear at first read. Roughly half the text earns its place.

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

Completeness3/5

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

With an output schema present, returns need not be described, and the critical gate/decision_id dependency is documented. However, two of three parameters are undocumented and no fallback is given for the case where gate_transaction did not return allow, leaving gaps for an agent to call it correctly.

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

Parameters2/5

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

Schema coverage is 0% across three parameters, so the description carries the full burden. It explains decision_id (produced by gate_transaction) but leaves gtin and market completely undefined, and even decision_id's format is left implicit. It compensates for only one of three parameters.

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

Purpose4/5

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

The description names the resource (the price for this buyer) and its basis (list · contract · promotion window from the maker's offers), which distinguishes it from sibling getters like get_availability. The verb is only implied, and slogans like 'Tiers buy services, never rank' muddle rather than sharpen the statement, 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?

It gives an explicit precondition: the tool must be called once gate_transaction has answered allow, with the resulting decision_id. That is a concrete sequencing rule an agent needs. It offers no when-not guidance or sibling alternatives (e.g., where to get a price without a gate decision), so it is not a full 5.

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

get_product_documentsGet Product DocumentsB
Read-onlyIdempotent
Inspect

Certificates and paper: the documents on an item record (organic certificate, PDO/PGI, halal, kosher, specification, allergen statement, origin declaration, lot where it applies), each a URL with its read date and source class; decision_id required.

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinYes
marketNo
decision_idYes

Output Schema

ParametersJSON 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, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds a prerequisite (decision_id required) and the result shape (URL plus read date and source class), but since an output schema exists those return details are largely redundant and no auth/rate-limit/permission context is added.

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

Conciseness4/5

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

A single dense sentence that front-loads the resource and its contents ahead of the required-parameter note. Every clause carries information, though the parenthesis of document types is long enough to slightly dilute the 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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a 3-parameter tool with 0% schema description coverage, leaving market unexplained and not naming gtin explicitly means the definition is only marginally complete.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters, so the description must carry the burden. It notes that decision_id is required (already visible in the schema's required list) and vaguely implies gtin via 'on an item record', but the market parameter is never mentioned or explained, leaving a real gap.

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

Purpose4/5

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

The description names a specific resource (documents on an item record) and enumerates the document classes it returns (organic certificate, PDO/PGI, halal, kosher, specification, allergen statement), which is far more informative than the bare title. It does not explicitly contrast itself with the close sibling get_label_and_claims, so an agent must 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?

Usage is only implied: the 'each a URL with its read date and source class' phrasing tells the agent what to expect, and 'decision_id required' signals a prerequisite. There is no statement of when to call this versus get_label_and_claims, get_item, or get_market_status, and no exclusions.

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

log_auditLog AuditBInspect

Write a line to the audit record for a gate decision, an order intent or a handoff (returns the line id).

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
noteNo
reference_idYes

Output Schema

ParametersJSON 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 indicate a non-readonly, non-idempotent write, and the description's 'Write a line' is consistent with that. It adds the useful detail that the line id is returned, but it does not disclose side effects, append-only behavior, or whether duplicates are created on repeated calls. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single sentence that front-loads the core behavior, includes the relevant record types, and mentions the return value. Every element earns its place with no filler or repetition of the tool name.

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

Completeness3/5

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

For a simple three-parameter tool with an output schema, the description conveys the core purpose and return value. However, it leaves the required fields under-specified and provides no guidance about valid values for 'kind' or what 'reference_id' should reference, so the agent is not fully equipped to invoke it correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only partially does. It implies that 'kind' relates to gate decisions, order intents, or handoffs, yet it never maps those to the parameter, and it gives no meaning or format for 'reference_id' or the optional 'note'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 ('Write') and resource ('audit record'), and clarifies the scope by naming the three record types: gate decision, order intent, and handoff. It is clear enough, but it does not explicitly differentiate itself from the sibling action tools such as create_order_intent or gate_transaction.

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

Usage Guidelines3/5

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

The description implies when to use the tool by listing the three event types it logs, but it never states explicit conditions, exclusions, or alternatives. An agent must infer that this is for audit logging rather than for performing the underlying gate/order/handoff actions.

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

resolve_actorResolve ActorA
Read-onlyIdempotent
Inspect

Who is asking? Maker, brand owner, private label, distributor, importer, broker or retail buyer (trade only); auditor (read-only); agent (inherits the class of the credential it presents — none returns DENY_UNLICENSED_AGENT). The consumer is never the counterparty. Returns communication_class: trade_information or public.

ParametersJSON Schema
NameRequiredDescriptionDefault
credentialNo
actor_classYes

Output Schema

ParametersJSON 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?

Annotations already establish readOnly/openWorld=false/idempotent/non-destructive, but the description adds real behavioral context beyond them: the DENY_UNLICENSED_AGENT failure path when no credential class is present, the inheritance rule for agents, and the communication_class outcome. That failure-mode disclosure is genuinely useful for 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?

Dense but compact, using parentheticals to pack scoping rules into a few sentences with little waste. The 'Who is asking?' opener is a touch informal but front-loads the intent efficiently.

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

Completeness4/5

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

With an output schema present the return values need not be explained, yet the description still names communication_class and its two values. Combined with the failure path, enumerated actor classes, and trade/consumer scoping, it covers most of what an agent needs for a 2-parameter identity tool.

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

Parameters3/5

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

Schema coverage is 0%, so the description must carry parameter meaning, and it partially does: the enumerated actor classes effectively document the actor_class values, and 'the class of the credential it presents' hints at the credential parameter's role. It still gives no format or syntax guidance for credential, so it only partly compensates for the coverage gap.

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

Purpose4/5

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

The opening 'Who is asking?' plus the full enumeration of actor classes (maker, brand owner, private label, distributor, importer, broker, retail buyer, auditor, agent) makes it clear this resolves the requester's identity class. It is specific about the resource, though it never names or contrasts a sibling such as resolve_jurisdiction, so it earns a 4 rather than a 5.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use guidance or alternatives; it never says 'call this before gate_transaction' or similar. Fragments like '(trade only)', 'auditor (read-only)', and 'The consumer is never the counterparty' are scoping facts, not routing instructions, so usage is only weakly implied.

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

resolve_jurisdictionResolve JurisdictionA
Read-onlyIdempotent
Inspect

Where is this going? Resolve a ship-to (e.g. 'DE', 'US-CA', 'UK', 'FR', 'EU-NL', 'JP') to one of the 20 markets and its rule set (14 rule sets; the seven EU markets share one food-law set with national riders). UK is the label; machine fields carry the ISO code GB.

ParametersJSON Schema
NameRequiredDescriptionDefault
ship_toYes

Output Schema

ParametersJSON 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/no-destructive, so the safety profile is covered. The description adds genuine domain behavior beyond that: 20 markets collapse to 14 rule sets, the seven EU markets share one food-law set with national riders, and UK is a label while machine fields carry ISO GB. The only gap is what happens for an unmapped input.

Agents need to know what a tool does to the world before 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-loads the intent question, then compresses scope, rule-set counts and the UK/GB edge case into one tight block. The parenthetical is information-dense but slightly crammed; no sentence is wasted.

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, return values need not be explained, and the description covers input formats, scope and the label/ISO distinction. Only the failure behavior for unknown destinations is unaddressed, which is a minor gap for a single-param read tool.

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

Parameters4/5

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

Schema coverage is 0%, so the description must carry the single parameter. It does so well with six examples ('DE', 'US-CA', 'UK', 'FR', 'EU-NL', 'JP') that reveal accepted formats (bare country, subdivision, region-prefixed) and the UK-vs-GB mapping quirk. It still doesn't specify how invalid or ambiguous values are handled.

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?

Specific verb ('Resolve') plus precise resource ('a ship-to ... to one of the 20 markets and its rule set'), with concrete input examples. An agent can immediately distinguish this from siblings like get_market_status or resolve_actor without opening any schema.

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

Usage Guidelines3/5

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

The opening 'Where is this going?' implies the intent (routing a destination to its rule set) and the examples show valid inputs, but there is no explicit when-to-use/when-not-to-use guidance and no sibling is named as an alternative. 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.

search_cleared_itemsSearch Cleared ItemsA
Read-onlyIdempotent
Inspect

Find items cleared for this market: validated SKU records in a market (query by product name, brand, maker or category; filters: temperature ambient · chilled · frozen · fresh, attribute lane organic · free-from · plant-based · artisan · origin · premium, department). Only validated rows are served; each item carries its claim status, market status and source class.

ParametersJSON Schema
NameRequiredDescriptionDefault
laneNo
limitNo
queryNo
marketYes
departmentNo
decision_idNo
temperatureNo
product_typeNo

Output Schema

ParametersJSON 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 cover safety (readOnly, idempotent, non-destructive), so the bar is lower, and the description adds a real constraint beyond them: 'Only validated rows are served,' plus that each item carries claim status, market status and source class. It stops short of 5 because pagination/limit behavior and the meaning of a 'validated' row are left implicit.

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

Conciseness4/5

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

Two sentences, front-loaded with the core verb and resource, and the filter enumeration is contained in a single parenthetical. The mid-dot filter list is dense but every element carries a distinct value, and there is no filler.

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

Completeness3/5

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

With an output schema present, return values need not be explained, and annotations carry the safety profile. But for an 8-parameter search tool with zero schema documentation, three parameters (limit, decision_id, product_type) remain undefined anywhere, leaving real gaps.

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

Parameters3/5

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

Schema description coverage is 0% across 8 params, so the description must compensate. It clarifies query (product name, brand, maker, category), lane, temperature and department, and implies market, but leaves limit, decision_id and product_type entirely undocumented — a substantial portion of the surface.

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

Purpose4/5

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

States a specific verb and resource: finds validated, market-cleared SKU records, and scopes the resource ('cleared for this market') in a way that separates it from generic lookups like get_item. It does not explicitly name a sibling to steer away from, so it stops just short of a 5.

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

Usage Guidelines3/5

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

It conveys the searchable fields and available filters (temperature, lane, department), implying this is the search/browse entry point, but never says when to use this versus get_item, compare_items, or get_market_status, 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.

verify_gtinVerify GtinA
Read-onlyIdempotent
Inspect

Is this GTIN real, and whose is it? Check-digit validation, the GS1 prefix, and the validated record(s) that carry it on this hub with their brand, maker and claim status.

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinYes

Output Schema

ParametersJSON 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, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds that it performs check-digit validation and returns validated records with brand, maker, and claim status, which is useful behavioral context. However, it does not disclose rate limits, error conditions, or how the validation handles invalid GTINs, leaving some gaps.

Agents need to know what a tool does to the world before 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 a single, front-loaded sentence that asks the core question and lists the three functions. It is efficient with no wasted words, though the compound structure could be slightly clearer for parsing.

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

Completeness4/5

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

Given the tool's complexity (validation and record lookup), the description covers the essential actions and output elements (brand, maker, claim status). With an output schema present, the description needn't detail return values. It is nearly complete, missing only explicit usage guidelines and parameter constraints.

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

Parameters3/5

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

Schema description coverage is 0%, but there is only one parameter, gtin, whose meaning is self-evident from the name and the description's mention of GTIN validation. With no additional parameter details needed, the baseline 3 is appropriate, though the description doesn't specify format requirements (e.g., GTIN-14) or whether it accepts different lengths.

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

Purpose4/5

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

The description clearly states a specific purpose: check-digit validation, GS1 prefix verification, and retrieving validated records carrying the GTIN. It distinguishes itself from siblings like get_item or get_label_and_claims by focusing on validation and ownership. However, it could more explicitly differentiate from similar verification tools in the list.

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 context is implied by the purpose: when you need to validate a GTIN or find its associated records. There is no explicit statement of when to use this over alternatives like get_item or get_label_and_claims, nor any prerequisites or exclusions. The description leaves usage 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 19 tool updates
    • First observeda2a_handoff
    • First observedcompare_items
    • First observedcreate_order_intent
    • First observedfind_verified_buyer
    • First observedfind_verified_supplier
    • First observedgate_transaction
    • First observedget_availability
    • First observedget_enforcement_watch
    • First observedget_item
    • First observedget_label_and_claims
    • First observedget_market_status
    • First observedget_notification_requirements
    • First observedget_price
    • First observedget_product_documents
    • First observedlog_audit
    • First observedresolve_actor
    • First observedresolve_jurisdiction
    • First observedsearch_cleared_items
    • First observedverify_gtin

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that automates B2B deal matching: publish supply/demand, AI-driven cruise matching, and agent-based negotiation, with real-time notifications and reputation tracking.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables informal market traders and buyers to share live inventory and demand, find compatible matches for surplus or time-sensitive stock, and draft offers or purchase requests for human approval, with payment and pickup handled offline.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to discover products, verify signed catalog feeds, negotiate within published policies, and place mandate-bound orders with signed receipts via MCP, A2A, or REST.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.