Skip to main content
Glama

Conduit Agentic Commerce

Search supply

supply_search
Read-onlyIdempotent

Multi-provider discovery (live REAL merchants by default). Returns a ranked page (default limit=30, max 100) with total/has_more/next_offset. Follow next.args (search_id+offset+limit) to page without re-fanout. Optional fetch_limit (max 300) deepens the upstream pull on new searches. Pass include_sandbox=true only to append DEMO/SANDBOX test merchants at the bottom (test_offer=true). Always pass agent_id for mandate-aware badges. Carry search_id through supply_details / order_execute / order_feedback. Offer descriptions are clean text cut to 350 chars; supply_details returns the full text.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size of ranked offers to return (default 30, max 100)
queryNoProduct search query, e.g. USB-C charger 65W. Required for a new search; omit when paging with search_id + offset
budgetNoMax total budget — number means USD; or { amount, currency }
offsetNo0-based offset into the ranked set for this search_id (default 0). For page 2+, pass search_id from the prior response and follow next.args
countryNoISO country for ships-to, e.g. US
agent_idNoAgent id for mandate-aware badges (always pass when available)
quantityNoDesired quantity (default 1)
search_idNoResume paging into a prior ranked set (with offset>0, or offset 0 without query). New searches with query mint a fresh search_id
fetch_limitNoOptional override for per-merchant upstream pull (default max(20, limit*2), max 300). Ignored when paging via search_id+offset
payable_withNoFilter to rails the agent can pay with, e.g. ["x402"]
session_tokenNoSession token from agent_authenticate — required whenever agent_id is passed
include_sandboxNoInclude DEMO/SANDBOX merchants (listed last, test_offer=true). Default false — live REAL merchants only. Use only when testing Conduit checkout flows.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hintNo
nextNo
errorNo
limitNo
totalNo
detailNo
offersNo
offsetNo
countryNo
partialNo
degradedNo
has_moreNo
withheldNo
search_idNo
next_offsetNo
recommendedNo
badge_countsNo
country_defaultNo
include_sandboxNo
sandbox_includedNo

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. Changed15 schema fields changed
    • changedInput schema / properties / include_sandbox / description
      Previous value: -"Include DEMO/SANDBOX merchants (listed last, testOffer=true). Default false — live REAL merchants only. Use only when testing Conduit checkout flows."New value: +"Include DEMO/SANDBOX merchants (listed last, test_offer=true). Default false — live REAL merchants only. Use only when testing Conduit checkout flows."
    • removedOutput schema / properties / badgeCounts
      Removed value: -{}
    • addedOutput schema / properties / badge_counts
      Added value: +{}
    • removedOutput schema / properties / countryDefault
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "boolean"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / country_default
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "boolean"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / hasMore
      Removed value: -{
      -  "type": "boolean"
      -}
    • addedOutput schema / properties / has_more
      Added value: +{
      +  "type": "boolean"
      +}
    • removedOutput schema / properties / includeSandbox
      Removed value: -{
      -  "type": "boolean"
      -}
    • addedOutput schema / properties / include_sandbox
      Added value: +{
      +  "type": "boolean"
      +}
    • removedOutput schema / properties / nextOffset
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "number"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / next_offset
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / sandboxIncluded
      Removed value: -{
      -  "type": "number"
      -}
    • addedOutput schema / properties / sandbox_included
      Added value: +{
      +  "type": "number"
      +}
    • removedOutput schema / properties / searchId
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / search_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.8/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds substantial behavior beyond them: default/max page sizes, response fields (total/has_more/next_offset), the fetch_limit upstream-deepening behavior, sandbox merchants being appended at the bottom with test_offer=true, and the 350-char description truncation. This is rich operational context 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?

Core purpose and the paging contract are front-loaded, and almost every sentence carries operational content. The dense parenthetical stacking (e.g. 'next.args (search_id+offset+limit)') slightly hurts scannability but wastes little.

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 12-parameter, high-complexity discovery tool with an output schema, the description covers the essential behaviors an agent needs: paging, sandbox behavior, auth via agent_id, and downstream search_id propagation. Nothing critical to correct invocation 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 the baseline is 3, but the description adds cross-parameter interaction meaning the schema does not: how search_id+offset+limit page together, that fetch_limit is ignored when paging, and the agent_id/search_id carry-through contract. It stops short of explaining budget or payable_with semantics.

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+resource ('Multi-provider discovery') and immediately scopes it ('live REAL merchants by default'), so the agent knows this is the fan-out search entry point. It also explicitly contrasts with sibling supply_details ('supply_details returns the full text'), disambiguating the two.

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 when/when-not guidance is present: 'Follow next.args ... to page without re-fanout', 'Pass include_sandbox=true only to append DEMO/SANDBOX test merchants', 'Always pass agent_id', and 'Carry search_id through supply_details / order_execute / order_feedback'. It names the alternative tool and the condition that selects it.

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