Skip to main content
Glama

Conduit Agentic Commerce

List product options

supply_options
Read-onlyIdempotent

Lists the selectable options (size, color, pack) for an offer whose has_options=true, with one variant per combination. Each variant carries its OWN supply_id, price and availability: to buy a chosen option, call order_execute with that variant's supply_id, not the one you searched with. Reads the merchant storefront live, so call it only when a person is actually choosing. Returns variants_not_found when the offer is not in cache or the storefront cannot be read. A single-variant product returns options:[] variants:[].

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
agent_idNoAgent id, for permission and analytics
supply_idYesOffer supply id whose product options to list (has_options=true on the offer)
session_tokenNoSession token from agent_authenticate — required whenever agent_id is passed

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hintNo
nextNo
errorNo
detailNo
optionsNo
variantsNo

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. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds meaningful behavioral detail beyond annotations: it reads the merchant storefront live, returns variants_not_found when the offer is not in cache or the storefront cannot be read, and clarifies that a single-variant product returns empty arrays. It also warns about the distinction between offer supply_id and variant supply_id, which is a critical behavioral nuance.

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 efficiently written: it front-loads the core purpose, then explains the critical variant-supply_id nuance, followed by usage and error conditions, all in a compact, scannable block. Every sentence contributes meaningful information with no filler.

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 tool's moderate complexity, the output schema exists (though not shown), and the annotations cover safety/idempotency, the description covers all essential aspects: purpose, when to call, the variant supply_id caveat, error behavior, and edge case of single-variant products. No obvious gaps that would impede correct usage.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for all three parameters. The description adds extra semantic value by explaining the meaning of supply_id in context (the offer's supply id, not the variant's) and that each variant carries its own supply_id. This clarifies how the parameter relates to the tool's behavior, going beyond the schema's bare 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?

The description states a specific verb ('Lists'), the resource ('selectable options'), and the precise scope: offers with has_options=true. It distinguishes itself from siblings by describing the variant-per-combination structure and the condition on has_options, making it clear this is the option-listing tool, not supply_availability or supply_details.

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 explicit guidance on when to call ('only when a person is actually choosing') and what to do after ('call order_execute with that variant's supply_id'), but does not explicitly name alternative tools or conditions when not to use this one beyond the has_options condition. The storefront-live-read caveat adds context but not a direct contrast to siblings.

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