Skip to main content
Glama

Conduit Agentic Commerce

Submit feedback

order_feedback

Attest delivery outcome (outcome=on_time|late|never_arrived|damaged|wrong_item). Requires owning agent_id. Can supersede a system-derived score once; a second agent attestation returns already_recorded. Poor outcomes next→order_dispute. Omit quality/carrier_rating if unknown.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesNoFree-text delivery/quality notes
outcomeYesObserved fulfillment outcome. Sets status (on_time/late→DELIVERED, damaged/wrong_item→DISPUTED, never_arrived→FAILED) and reputation.
qualityNoProduct quality 1-5 — omit if unknown (do not invent)
agent_idYesOwning agent id (required for authorization)
order_idYesOrder id to attest
search_idNoOptional search_id for analytics correlation
session_tokenNoSession token from agent_authenticate — required whenever agent_id is passed
carrier_ratingNoCarrier rating 1-5 — omit if unknown; used in reputation when provided

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNo
hintNo
nextNo
errorNo
detailNo
statusNo
outcomeNo
updatedNo
order_idNo
supersededNo
already_recordedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / next / properties / args / additionalProperties / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "boolean"
      +  }
      +]
    • removedOutput schema / properties / next / properties / args / additionalProperties / type
      Removed value: -"string"
  2. Changed2 schema fields changed
    • removedOutput schema / properties / orderId
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / order_id
      Added value: +{
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / session_token
      Added value: +{
      +  "description": "Session token from agent_authenticate — required whenever agent_id is passed",
      +  "type": "string"
      +}
  4. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only state mutability and non-idempotence, but the description goes far beyond: it discloses who can invoke it (owning agent_id), the non-idempotent behavior (second attestation returns already_recorded), the side effect of superseding a system-derived score, and the escalation to order_dispute. This richly informs an agent of consequences before calling.

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, with the primary action and enum front-loaded, followed by authorization, idempotency constraints, side effects, and parameter omission guidance. Every clause adds information, and no filler words are present.

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 a complex state-changing tool with 8 parameters and an output schema, the description covers authorization, one-time override, duplicate-result behavior, downstream dispute triggering, and field-omission guidance. The output schema covers return values, so nothing essential is missing for an agent to invoke this correctly.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description reinforces 'omit quality/carrier_rating if unknown' and repeats the outcome enum, but adds no new parameter-level meaning beyond what the schema already documents. It does not explain formats or edge cases for notes, search_id, or session_token beyond the schema's own descriptions.

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

Purpose5/5

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

The description opens with a specific verb and resource ('Attest delivery outcome') and enumerates the exact outcome enum values, making it unmistakably distinct from sibling tools like order_dispute and order_update_status. It also states the scope (single attestation per order) and links to the dispute flow, giving an agent a clear picture of what this tool does.

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

Usage Guidelines4/5

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

The description provides clear contextual guidance: it requires owning agent_id, explains the one-time supersede behavior and the already_recorded second-attempt result, and routes poor outcomes to order_dispute as the next step. It does not explicitly list when not to use alternatives, but the 'next→order_dispute' pointer gives enough routing direction to select the correct tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources