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.

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 declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds meaningful context beyond that: live merchants by default, demo merchants only when include_sandbox=true, ranked results with total/has_more/next_offset, and the fetch_limit behavior on new searches versus paging. It also highlights auth-related guidance around agent_id. 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 compact but dense, with the core purpose front-loaded in the first sentence and operational details following in logical order. Every sentence adds useful information: defaults, pagination, sandbox usage, agent_id requirement, and downstream propagation. No filler or repetition of schema mechanics.

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 rich input schema, output schema, and annotations, the description covers the critical workflow-level details an agent needs: paging without re-fanout, fetch_limit behavior, sandbox merchants, agent_id/session_token expectations, and carrying search_id into related tools. With 12 parameters, zero required, and full schema coverage, this description sufficiently ties everything together for correct invocation.

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

Parameters5/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds substantial semantics beyond individual parameter docs. It explains the pagination contract (follow next.args with search_id+offset+limit), clarifies that fetch_limit only applies to new searches and is ignored when paging, and specifies the sandbox inclusion semantics. These are exactly the cross-parameter relationships an agent needs.

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 action and resource: 'Multi-provider discovery' returning 'a ranked page' of offers from live REAL merchants. It clearly distinguishes this search/discovery tool from siblings like supply_details or supply_options by positioning it as the entry point and routing search_id to downstream tools. The intent is unambiguous.

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

Usage Guidelines4/5

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

Provides strong operational guidance: default limits, pagination via next.args, include_sandbox only for testing Conduit flows, always passing agent_id, and how to carry search_id through supply_details/order_execute/order_feedback. It does not explicitly contrast with sibling discovery/search tools such as supply_availability or supply_options, nor state when not to use this tool, so it misses explicit exclusions.

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