VIA Network: Agentic Commerce
Server Details
Agentic commerce network: discover sellers and products, negotiate, and pay USDC on Base via x402.
- Status
- Healthy
- Uptime
- 99.9% over 61 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 33 tools
Several tools have overlapping boundaries: find_seller, list_sellers, seller_mcp_url, and get_seller_products all relate to discovering sellers/catalogues, while negotiation tools (accept_offer, counter_quote, negotiate, request_quote, get_quote) form a dense cluster that could cause misselection. The very detailed descriptions help clarify intended use, but multiple tools still feel adjacent rather than crisply distinct.
Almost all tools use a consistent snake_case verb_noun pattern (find_seller, buy_product, claim_pass, update_taste_card). Minor deviations exist: seller_mcp_url is noun-only and negotiate is verb-only, but these are readable and not chaotic.
33 tools is well above the reasonable range for a single MCP server, even for a two-sided agentic commerce platform. Some functions could be consolidated (e.g. seller lookup tools, taste-card readers, and parts of the negotiation lifecycle), making the surface feel bloated and hard to navigate.
Buyer-side lifecycle is decently covered (discover, get_product, get_shipping_quote, buy, confirm, download), and seller onboarding exists via register_store. However, there is no seller product create/update/delete, no order history or fulfilment management, and no buyer brief management beyond submit_intent/read, leaving notable gaps for full commerce operations.
Available Tools
33 toolsaccept_offerInspect
Ask a buyer's Buying Agent to accept a negotiated offer, forwarded to their buyer MCP. The agent auto-accepts only within the buyer's delegation caps, otherwise it queues the offer for the buyer's approval.
| Name | Required | Description | Default |
|---|---|---|---|
| brief_id | No | The brief you made the paid offer against (required by the buyer agent). | |
| category | No | Product category, checked against the buyer's lists. | |
| offer_id | Yes | Your reference id for the offer being accepted. | |
| amount_usd | No | Total order amount in USD, for the caps check. | |
| offer_token | No | The offer_token the door returned when you paid for this offer. Required unless you send payer_signature. | |
| buyer_mcp_url | Yes | The buyer's mcp_url from a find_buyers result. | |
| payer_signature | No | Instead of offer_token: an EIP-191 signature by the paying wallet, as for negotiate. | |
| payment_tx_hash | No | The payment tx of your paid door offer (required by the buyer agent). |
ask_sales_agentAInspect
Ask a seller's Sales Agent a question, from anywhere on the network, without leaving this connector. It answers in the seller's voice using their locked-in memories (events, promotions, policies, stock). Pass the seller_mcp_url from a discovery result and an optional contact so the seller can reach back.
| Name | Required | Description | Default |
|---|---|---|---|
| contact | No | Optional reach-back identifier (email, handle, or the buyer agent MCP url). | |
| question | Yes | Free-form buyer question. | |
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a find_seller / get_seller_products result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it answers in the seller's voice using locked-in memories. No annotations provided, so description carries burden. Lacks mention of side effects, authentication needs, or whether read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences with no redundancy. Front-loaded with the key action and then adds detail. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, parameter usage, and behavioral traits. Lacks mention of response format or potential limitations, but given no output schema and 3 simple params, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds context beyond schema: seller_mcp_url from discovery result, contact as reach-back identifier. Schema descriptions already cover each parameter, but the description clarifies their origin and purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly describes the action (ask a question), the resource (seller's Sales Agent), and the context (anywhere on network, without leaving connector). Distinct from sibling tools like find_seller or buy_product.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies to pass seller_mcp_url from a discovery result and optional contact. Implies use after discovering a seller. Does not explicitly state when not to use or mention alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_productInspect
Buy a listing from anywhere on the network, settled in USDC on Base, without leaving this connector. Pass the seller_mcp_url and product_id from the listing (mcp_ref). For physical products include the full delivery block; for event passes include the attendee block; the call rejects with the missing fields listed if any are blank. Free passes are not bought here: use claim_pass. Returns the total, an order_ref and a pay_url. SIMPLEST, for VIA and network-member listings alike: if you hold a standard x402 wallet (MoonPay PayBox: call use_service with url = pay_url; or any exact-scheme x402 client), request pay_url and pay its 402; the order settles and is fulfilled in that one call, gas sponsored. Otherwise: VIA-native orders settle at the /api/x402/purchase endpoint returned (EIP-2612 permit as { order_ref, x_payment }, or a raw USDC transfer as { order_ref, payment_tx_hash }); member orders take a raw USDC transfer then confirm_purchase. Call get_shipping_quote first and pass buyer_country to include shipping. CARD: when the reply carries card_checkout_url the store takes card payments; if you act for a human with no USDC wallet, give them that link to pay by card themselves. Never ask for or handle card details. Physical network-member listings: pass delivery; the first call returns shipping options, call again with shipping_rate_handle set to the one you chose.
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | ||
| attendee | No | Required for event passes. | |
| delivery | No | Required for physical products. Omit for digital / service. | |
| product_id | Yes | The listing id from discovery (mcp_ref.product_id). | |
| buyer_email | No | Network-member orders: email for the order confirmation and file delivery. Required for physical member products. | |
| buyer_wallet | Yes | The buyer wallet that will settle in USDC on Base. | |
| buyer_country | No | ISO 3166-1 alpha-2 destination country. Required when the seller ships; folds the shipping quote into the total. | |
| selected_size | No | Variant size, for network-member products that have a size axis (e.g. S, M, L). Ignored by VIA-native listings. | |
| buyer_agent_id | No | ERC-8004 agent id of the Buying Agent acting on the buyer's behalf. | |
| selected_color | No | Variant colour, for network-member products that have a colour axis. Ignored by VIA-native listings. | |
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a find_seller / get_seller_products result. | |
| shipping_rate_handle | No | Network-member physical products only: the shipping option handle from a previous buy_product call. Omit on the first call to get the options. |
claim_network_passInspect
Claim the free VIA x Singapore Blockchain Week Network Pass for the calling Mind's owner. From a name and email it emails the owner a confirmation link; when they open it, their full VIA activation is created: a VIA Personal Shopper with its own wallet and on-chain (ERC-8004) identity, a Singapore Blockchain Week membership card for their Apple or Google Wallet, and their own referral invite link (sent in the welcome email). Nothing is created until the owner confirms the email. No payment and no wallet signature, so a Mind can complete this even though it cannot sign a purchase. Pass your own Mind id as mind_id: each Mind may claim exactly ONE Network Pass per event, and a repeat returns the one it already made. Returns pending_verification and the public leaderboard; once the owner has confirmed, a repeat call returns the Pass install link and their personal invite link.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The person's name, printed on their Pass and shown on the leaderboard. | |
| Yes | The person's email. Their agent, wallet, identity and Pass are created (or reused) for this address, and the welcome email is sent here on a first claim. | ||
| mind_id | Yes | The calling Mind's own unique id on the Minds platform. The one-pass-per-Mind cap is keyed on this; pass your real id. | |
| event_slug | No | Event to claim for. Defaults to singapore-blockchain-week. |
claim_passAInspect
Claim a FREE entry pass to an event on the VIA network, directly from discovery. FREE guest-list tiers only (price 0, the kind find_seller / get_seller_products surface at $0). No payment, no wallet, no x402: provide the attendee name and email, and VIA records the place, emails a confirmation, and notifies the organiser. One pass per email / per account. Paid products are NOT claimable here: connect to the seller's per-seller MCP and use buy_product (USDC via x402). Pass the product_id from a find_seller result (mcp_ref.product_id) or get_seller_products.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the person attending, for the guest list. | |
| Yes | Email to confirm the place to and for the organiser to admit by. | ||
| product_id | Yes | UUID of the free pass tier, from a find_seller / get_seller_products result. | |
| buyer_wallet | No | Optional Base wallet, if the claimer has a VIA buyer identity. | |
| buyer_agent_id | No | Optional ERC-8004 agent id of the agent claiming on the buyer's behalf. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully discloses behavior: no payment, no wallet, emails confirmation, notifies organizer, one pass per email/account. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single well-structured paragraph with front-loaded main action. Every sentence adds value—no fluff, no repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking output schema, description explains what happens (records place, emails, notifies organizer) and constraints (one per email/account, free only). Parameters are fully documented. Complete for a 5-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions. Description adds context: source of product_id from find_seller/get_seller_products, and explains optional nature of buyer_wallet and buyer_agent_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Claim a FREE entry pass' with specific verb and resource. Distinguishes from sibling tools like 'buy_product' by explicitly stating that this tool is for free passes only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (free tiers with price 0) and when not to use (paid products), providing a direct alternative: 'use buy_product (USDC via x402)'. No ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_purchaseInspect
Settle a network-MEMBER (e.g. RRG) purchase after you have sent the USDC that buy_product asked for. This is the member two-step: buy_product returns a pay-to address and amount, you transfer USDC on Base, then call this with the tx hash to mint, pay out, and get your download. For physical products include the shipping block and buyer_email. VIA-native purchases do NOT use this: they settle at the /api/x402/purchase endpoint that buy_product returns.
| Name | Required | Description | Default |
|---|---|---|---|
| tx_hash | Yes | The USDC transfer transaction hash on Base. | |
| order_id | No | The orderId buy_product returned for this member order. Required for physical member products: the order ships to the address recorded on it. | |
| shipping | No | Required for physical member products. | |
| product_id | Yes | The member listing/token id (mcp_ref.token_id). | |
| buyer_email | No | For order confirmation and file delivery. Required for physical products. | |
| buyer_wallet | Yes | The wallet that sent the USDC. | |
| selected_size | No | The size you chose at buy_product (must match). | |
| buyer_agent_id | No | Your ERC-8004 agent id, for an on-chain trust signal. | |
| selected_color | No | The colour you chose at buy_product (must match). | |
| seller_mcp_url | Yes | The member seller_mcp_url you called buy_product on. |
counter_quoteAInspect
Counter an existing quote, forwarded to the owning seller. Pass the quote_ref and a target price, revised selections, or both. Appends a round to the negotiation; stays non-binding until the seller approves.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Free-form message to the seller. | |
| quote_ref | Yes | ||
| selections | No | Revised configuration, if you are changing what you want. | |
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a discovery result. | |
| counter_total_usdc | No | Your proposed price for the configuration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It discloses that the action forwards to the seller, appends a round, and remains non-binding. It does not cover authentication or rate limits, but the core behavioral traits are well communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: first sentence states purpose and direction, second lists key parameters, third explains behavior. Front-loaded with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, nested objects, and no output schema, the description covers purpose, usage, and behavioral outcome. It could mention prerequisites (e.g., existing quote) and return format, but overall is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (80%). The description adds usage context beyond the schema: 'Pass the quote_ref and a target price, revised selections, or both.' However, 'note' and 'seller_mcp_url' are not described in the description, leaving some gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Counter an existing quote, forwarded to the owning seller.' It specifies the action (counter), resource (quote), and direction (to seller). This distinguishes it from siblings like accept_offer or request_quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explains when to use: 'Pass the quote_ref and a target price, revised selections, or both.' It also clarifies outcome: 'Appends a round to the negotiation; stays non-binding until the seller approves.' However, it lacks explicit exclusions or comparisons to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_buyersAInspect
Discover live DEMAND: buyers who are actively looking for what you sell. Search by what you have ('raw selvedge denim', 'first pressing acid jazz vinyl', 'cold brew coffee') and get back buyers whose open briefs match. Each brief comes back as a TEASER: category, product type, one attribute, a door_url, and four facets where the buyer stated them , size, location, timing, and any brands they named. Use the facets to rule a brief in or out cheaply: do you stock that size, can you ship there, can you make that date. That is deliberately not enough to pitch well. The full brief (hard requirements, preferences, budget) is the paid tier: GET the door_url and pay the x402 micro-fee to unlock it, then POST your offer to the same door. Ranking already reads the full brief, so a teaser that matches is a real match. Omit query to browse recent open demand.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max buyers to return (default 10). | |
| query | No | What you have to offer, e.g. 'raw selvedge denim' or 'acid jazz vinyl'. Omit to browse recent demand. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool returns teasers (not full briefs), explains what teasers contain, and describes the paid unlock process. It also states that ranking already reads the full brief, so a teaser match is real. It does not mention any destructive actions, so it seems read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and information-dense, but could be more concise. It is front-loaded with the main purpose, but several sentences are detailed. Every sentence contributes, but overall it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (matching buyers, teasers, paid tier), the description covers the main workflow well. No output schema exists, so the explanation of the return format (teaser fields, door_url, facets) is helpful. It does not mention any error conditions, which would be useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters with coverage 100%. The description adds meaning by explaining what to pass as query (e.g., 'raw selvedge denim') and that omitting query browses recent demand. This provides context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool discovers buyers actively looking for what you sell. It specifies the action 'discover' and the resource 'buyers with open briefs'. It distinguishes itself from siblings like find_seller and list_sellers by focusing on demand matching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (when you have something to sell, search by product) and when to omit query to browse. It provides context on how to use the teaser information and mentions the paid tier. However, it does not explicitly state when not to use or name direct alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_sellerInspect
Search the VIA network (VIA app + RRG + integrated platforms) for PRODUCTS and the sellers that offer them. Matches the published product catalogue (titles, descriptions, authors, categories) AND seller profiles, so 'books', an author, a title, or a category surfaces the actual product even when the seller's name does not contain the word. WHEN INTENT IS DEFINED: returns results, ONE relevance-ranked list blending every source. Each result carries a working page_url (the direct product page you give the user), plus seller, list_price for VIA stores (the store's own price and currency: show this to people, with its usdc as the wallet price), price_usdc, image_url (or null when the listing has no picture), and mcp_ref to transact. If more than one matches, PRESENT THEM side by side with prices and the key differences; do not silently pick one. WHEN INTENT IS LOOSE OR THERE IS NO MATCH: the response is status: 'need_more_info' with suggested_dimensions. DO NOT reply 'nothing is available'. Ask the user ONE clarifying question to sharpen intent (budget, brand/author, category, use), or retry this tool with a broader term, a synonym, the category, or the brand/author name. Only after a genuinely broadened retry also returns nothing should you say you could not find a match, and even then frame it as 'not found yet', not 'does not exist'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max product results to return (default 10). | |
| query | Yes | What the user wants. Searches product catalogues AND seller profiles, e.g. 'raw denim jeans', 'Arnaud Frade', 'sourdough', or 'custom embroidered polo'. |
get_buyer_briefsAInspect
See a buyer's OPEN demand as free teasers, forwarded to their buyer MCP. Each teaser carries a paid door_url: the FULL brief and the ability to offer are paid at that x402 door, not here. Use a teaser to decide if your stock fits, then go to the door.
| Name | Required | Description | Default |
|---|---|---|---|
| buyer_mcp_url | Yes | A buyer's mcp_url from a find_buyers result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that teasers are free and carry a paid door_url for full access, and that the tool does not provide full briefs or offer capability. With no annotations, this transparency adds significant value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences each serve a distinct purpose: defining the tool, explaining the paid component, and providing usage guidance. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple tool with one parameter and no output schema, the description covers input (implied), output (teasers with door_url), and the business process. It is fully complete for an agent to understand and use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is fully described in the schema as 'A buyer's mcp_url from a find_buyers result.' Schema coverage is 100%, so the description does not need to add extra detail; the schema already handles parameter semantics adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a buyer's open demand as free teasers. The verb 'see' and resource 'buyer's OPEN demand as free teasers' are specific, and the tool is easily distinguishable from siblings like find_buyers or get_buyer_preferences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that the tool is for initial screening: 'Use a teaser to decide if your stock fits, then go to the door.' It implies when to use and what to do after, though it lacks explicit exclusion or mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_buyer_preferencesAInspect
Read a buyer's public buying preferences, forwarded to their buyer MCP. Pass the buyer_mcp_url from a find_buyers result. Delegation caps and private notes are never exposed.
| Name | Required | Description | Default |
|---|---|---|---|
| buyer_mcp_url | Yes | A buyer's mcp_url from a find_buyers result (…/buyers/{handle}/mcp). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that delegation caps and private notes are never exposed, and implies a read operation (no mutation). This adds important behavioral context beyond just stating it's a read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and essential usage. Every sentence adds value: first explains what it does, second gives usage and a caveat. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is complete enough. It covers purpose, usage, and a key behavioral limitation. A minor gap is not describing the response structure, but without output schema, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter. The description reinforces the schema's instruction ('Pass the buyer_mcp_url from a find_buyers result') but does not add new meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Read a buyer's public buying preferences', specifying the verb (read) and the resource (buyer preferences). It distinguishes from siblings like get_buyer_briefs by focusing on preferences and mentioning forwarding to the buyer MCP.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context: 'Pass the buyer_mcp_url from a find_buyers result', guiding when to use it. It does not explicitly exclude alternatives, but the instruction is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_download_challengeAInspect
Begin retrieving a digital deliverable you bought, forwarded to the owning seller. Returns a message to SIGN with the paying wallet plus a challenge token; then call get_download_links.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The purchased digital product id. | |
| buyer_wallet | Yes | The wallet that settled the purchase. | |
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a discovery result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool returns a message to sign and a challenge token, and that it forwards to the seller. However, it does not mention side effects, permissions, or error conditions, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the purpose, the second states the return value and next step. No redundant words, very efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 parameters, no output schema, and no annotations, the description covers the return value and the next call. It lacks details on the signing process and prerequisites, but is sufficient for a step in a sequence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema—it simply names the parameters (e.g., seller_mcp_url from discovery) without elaborating on their semantics or relationship.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Begin retrieving a digital deliverable you bought'—a specific verb+resource pair—and distinguishes itself from the sibling 'get_download_links' by framing it as the first step. It also mentions forwarding to the owning seller, adding scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells when to use this tool (when retrieving a purchased digital deliverable) and explicitly directs to call 'get_download_links' next. It does not list when not to use it, but the sequential context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_download_linksAInspect
Retrieve time-limited download links for a digital product you bought and settled, forwarded to the owning seller. Call get_download_challenge first, sign the message with the paying wallet, then call this with the challenge and signature.
| Name | Required | Description | Default |
|---|---|---|---|
| challenge | Yes | The challenge token from get_download_challenge. | |
| signature | Yes | Signature of the challenge message, signed by buyer_wallet. | |
| product_id | Yes | The purchased digital product id. | |
| buyer_wallet | Yes | The wallet that settled the purchase. | |
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a discovery result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that links are time-limited and that a signature is required, but does not disclose potential side effects (e.g., no destructive action implied), error behaviors, or idempotency. This is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, conveying the purpose and prerequisite steps without any extraneous information. Every sentence earns its place—no fluff, efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 required parameters and a multi-step workflow, the description explains the prerequisite but omits details about return values (e.g., format of download links) and potential error conditions. The lack of output schema increases the need for description completeness, which is partially met.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the workflow: signing the challenge with the paying wallet before calling the tool. This contextual relationship between parameters (challenge, signature, buyer_wallet) goes beyond individual schema descriptions, justifying a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool retrieves time-limited download links for a specific digital product (bought and settled), with a clear action and resource. It distinguishes from siblings by referencing the prerequisite get_download_challenge tool, providing context for its specific role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear step-by-step usage instructions: first call get_download_challenge, sign the message, then call this tool with the challenge and signature. It does not explicitly exclude other scenarios, but the prerequisite is clearly stated, guiding appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_findsAInspect
Products the VIA network suggests for your owner, based on their Taste Card: title, seller, price in USDC, image URL, link and why it matched. Show your owner the images and links. Pass the action_token from VIA's message.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| action_token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the output shape and the provenance of the required token, and 'suggests' implies a read-only operation, but it says nothing about pagination, the limit cap, or what happens on an invalid/expired token.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with no filler; the return fields and the action directive are packed efficiently. Slightly dense but every clause is doing work.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, enumerating the returned fields is exactly the right compensation, and the token instruction covers the only required param. The unaddressed limit parameter is the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for 2 params. The description usefully explains where action_token comes from, but the limit parameter (1-20) is never mentioned, so an agent has no guidance on its meaning or default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific retrieval: products the VIA network suggests for the owner based on their Taste Card, and even enumerates the returned fields. An agent can distinguish this from get_my_taste_card (which returns the card itself) without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Adds real usage direction — show the owner the images and links, and pass the action_token from VIA's message — which tells the agent how to act on results and where the required credential originates. It stops short of naming alternatives or stating a when-not condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_taste_cardBInspect
Read your owner's VIA Taste Card: how it reads now and whether it is published. Pass the action_token from VIA's message.
| Name | Required | Description | Default |
|---|---|---|---|
| action_token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does disclose the read-only nature and the two facts returned (current reading and published status). It omits token lifetime/expiry, permission requirements, and error behavior, which matters for an auth-token-gated call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the one operational detail an agent needs. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only getter with no output schema, the description covers purpose, the returned content, and the token source. Only the auth/expiry edge cases are absent, which is a minor gap at this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate; it does explain the provenance of action_token ('from VIA's message'), which is genuinely useful beyond the bare string type. However, it adds nothing about format, validity window, or what happens with a stale token.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read your owner's VIA Taste Card') and even summarizes the payload ('how it reads now and whether it is published'). It is clearly distinct from update_taste_card and from the sibling get_taste_card by scoping to the owner's own card, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is 'Pass the action_token from VIA's message,' which is a parameter instruction, not a when-to-use rule. There is no statement of when this is preferred over get_taste_card or when it should not be called.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_offering_schemaAInspect
Fetch the configurable option space for a per-order (configurable) product before requesting a quote, forwarded to the owning seller. Returns option groups, choices, quantity rules and surcharges. Fixed-price products have no schema; buy those with buy_product.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The configurable product id from discovery. | |
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a discovery result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses return content (option groups, choices, quantity rules, surcharges) and mentions forwarding to seller. Could be more explicit about being read-only, but 'fetch' implies that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains return structure. Addresses edge case (fixed-price products). Differentiates well among 26 siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds little beyond schema. It provides context for seller_mcp_url being from discovery, but baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (Fetch), resource (configurable option space for a per-order product), and distinguishes from buy_product for fixed-price products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (before requesting a quote for configurable products) and when not to (fixed-price products, use buy_product). Also mentions forwarding to seller.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_personal_shopperInspect
Get a VIA Personal Shopper for the calling Mind's owner. From a name and email it emails the owner a confirmation link; when they confirm, their VIA Personal Shopper is created, with its own wallet and on-chain (ERC-8004) identity that reads the whole VIA network and can buy for them within limits they set. Nothing is created until the owner confirms the email. No payment and no wallet signature. Pass your own Mind id as mind_id: each Mind gets exactly ONE shopper. Returns pending_verification until the owner confirms; after that, a repeat call returns the shopper and an appraisal_link_token: if you have the owner's email connected, appraise how they shop and call import_preference_appraisal with this token to train the shopper from day one.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The person's name, used as their agent display name. | |
| Yes | The person's email. The confirmation link is sent here; their agent, wallet and identity are created for this address when they confirm. | ||
| mind_id | Yes | The calling Mind's own unique id on the Minds platform. The one-shopper-per-Mind cap is keyed on this; pass your real id. |
get_productAInspect
Fetch full detail for ONE listing before buying, from anywhere on the network, without leaving this connector. Pass the seller_mcp_url and product_id exactly as they appear in a find_seller / get_seller_products result (mcp_ref.seller_mcp_url and mcp_ref.product_id). Returns the listing with price, stock, and what the purchase requires. This forwards to the owning seller; the same buy loop (get_product -> get_shipping_quote -> buy_product) then settles here.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The listing id from discovery (mcp_ref.product_id). | |
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a find_seller / get_seller_products result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the tool forwards to the owning seller (network call) and that it returns price, stock, and purchase requirements. No annotations existed, so description fully covers behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with critical information front-loaded. First sentence states core purpose, second gives parameter guidance and return info, third explains forwarding and buy loop. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description fully explains the tool's role in a multi-step buy flow, parameter provenance, and what the response contains. Complete for a single-listing detail fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds value by specifying the exact source of the parameter values (mcp_ref.seller_mcp_url and mcp_ref.product_id from discovery results), which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Fetch' and resource 'full detail for ONE listing', clearly distinguishing it from sibling tools like find_seller or get_seller_products by focusing on purchase intent. It also positions itself within a buying workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('before buying'), how to pass parameters ('exactly as they appear in find_seller / get_seller_products result'), and places the tool in a sequence (get_product -> get_shipping_quote -> buy_product). Provides both usage context and alternative steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteAInspect
Check a quote's status by quote_ref, forwarded to the owning seller. Returns the current status, the binding total once approved, and the negotiation thread.
| Name | Required | Description | Default |
|---|---|---|---|
| quote_ref | Yes | The quote_ref from request_quote, e.g. "QUO-2605-7K3PQM". | |
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a discovery result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It mentions forwarding to the seller but doesn't disclose if the operation is read-only (idempotent, no side effects). Returns are listed but safety profile is unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. Front-loaded with the action and key parameters, returns are succinctly listed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so the description compensates by listing returned fields: status, binding total, negotiation thread. Missing details like error handling or format, but adequate for a simple retrieval tool with two parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds context that seller_mcp_url is from discovery and that the tool forwards the request, which aids understanding beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action ('check a quote's status'), the resource ('quote's status'), and the required identifier ('quote_ref'). The forwarding behavior distinguishes it from sibling tools like request_quote or counter_quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage after requesting a quote, but no explicit when-not or alternatives (e.g., don't use for creating or modifying). Among siblings, negotiate and counter_quote serve different purposes, but this isn't stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_seller_productsAInspect
Drill into ONE seller's catalogue to answer 'is X available at seller Y'. Pass the seller_mcp_url from a find_seller / list_sellers result (a VIA-app seller or an RRG brand). Returns that seller's products matching your query (or its whole catalogue if query is omitted), each with price, in-stock sizes where known, and a direct web_url to the product page. Use this right after find_seller whenever the user names a specific seller or brand, e.g. 'raw denim jeans in size 36 at Standard & Strange'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max products to return (default 15). | |
| query | No | What to look for in that seller's catalogue, e.g. 'raw denim jean'. Omit to list the whole catalogue. | |
| seller_mcp_url | Yes | The mcp_url from a find_seller / list_sellers result, e.g. https://realrealgenuine.com/brand/standard-and-strange/mcp or https://app.getvia.xyz/sellers/the-sentient-startup/mcp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses return fields (price, sizes, web_url) and behavior on omitted query. Lacks error handling or auth details, but sufficient for safe use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences: first states action and input source, second describes output and when to use. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers primary use case and essential fields. No output schema, but description sufficiently describes returns. Could mention pagination or error cases, but minimal gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
100% schema coverage. Description adds critical context: seller_mcp_url source and format, query example, limit default. Exceeds schema detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource scope: 'Drill into ONE seller's catalogue' with direct use case. Distinguishes from siblings like find_seller by specifying post-find_seller context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('right after find_seller') and gives example query. Does not list exclusions or alternatives among siblings, but context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shipping_quoteInspect
Resolve a seller's shipping cost to a destination country before buying, without leaving this connector. Pass the seller_mcp_url from the listing's mcp_ref and the ISO 3166-1 alpha-2 country. Returns the flat rate, a per-order-quote signal, or a rejection. Call this before buy_product and pass buyer_country there to fold shipping into the total.
| Name | Required | Description | Default |
|---|---|---|---|
| delivery | No | RRG-network brands on VIA: the full delivery address, for live carrier rates. | |
| product_id | No | RRG-network brands on VIA quote live rates per item: pass the listing id (mcp_ref.product_id). | |
| buyer_country | Yes | ISO 3166-1 alpha-2 destination country code (e.g. GB, US, JP). | |
| selected_size | No | ||
| selected_color | No | ||
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a find_seller / get_seller_products result. |
get_store_cardAInspect
Read a VIA store card by its slug: a product co-created by members of a Back Room, with its price, the co-creators (name, share, payout wallet, ERC-8004 id), and how to buy it (the seller MCP buy_product tool over the x402 door). Returns not_found for unknown slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The store slug from a shared link, e.g. app.getvia.xyz/store/<slug>. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It indicates a read operation and returns 'not_found' for unknown slugs, which is clear but lacks details on permissions or side effects. Adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first defines the core purpose, second details return content. No wasted words, though could be split for readability. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description effectively covers return contents (price, co-creators, buy method) and error handling. Lacks only pagination or size limits, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds the context of slug format (shared link example), which complements the schema's parameter description. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads a VIA store card by slug, lists the contents (price, co-creators, how to buy), and distinguishes from sibling tools like get_taste_card or get_product. The verb 'Read' and resource 'store card' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. While it mentions 'product co-created by members of a Back Room', it lacks when-not or alternative recommendations. Usage is implied but not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_store_statusAInspect
Check the review status of a store you registered with register_store. Returns pending, approved, or rejected (with the reason). Once approved it also returns the ERC-8004 agent id and the per-seller MCP url.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The slug returned by register_store. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses the return states (pending, approved, rejected with reason) and additional data upon approval. It does not cover error behavior or side effects, but for a read-only status check it is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. Information is front-loaded and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one parameter, no output schema), the description provides sufficient information about what the tool does and returns. It is complete for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes the slug parameter well. The description adds little new meaning beyond stating the slug is from register_store. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the review status of a registered store, specifying the exact return values and additional details once approved. It is distinct from sibling tools like register_store or get_store_card.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly clarifies usage by connecting to register_store, indicating it should be used after registration. It does not explicitly mention when not to use or alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taste_cardAInspect
Read a published VIA taste card by its slug: the public, human-curated identity subset (references, obsessions, aesthetic words, anti-references) plus the member agent address. Cards are shared by their owners; there is no directory or search. Returns not_published for unknown or unpublished slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The card slug from a shared link, e.g. app.getvia.xyz/taste/<slug>. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description appropriately discloses that it is a read operation and indicates the return behavior for unknown/published slugs. No other side effects or auth requirements are needed given the tool's nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words; the purpose is front-loaded and clearly communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description fully explains the return values and the resource structure, providing sufficient context for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single parameter with 100% description coverage. The description adds context by explaining where the slug comes from (shared link example), which aids correct usage beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read a published VIA taste card by its slug') and specifies the resource and its contents, distinguishing it from sibling tools like get_store_card.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that cards are shared by owners and there is no directory, implying when to use (when you have a slug). However, it does not explicitly mention when not to use or suggest alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_via_overviewAInspect
Short overview of VIA Labs, the agentic-commerce platform: what it does, key entrypoints for buyers and sellers, where to onboard.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates a read-only, non-destructive overview. Does not disclose any special behaviors (e.g., authentication needs, rate limits). Adequate for a simple info retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with purpose, no wasted words. Every part is informative and earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description adequately covers the tool's functionality. Could mention that it is safe and idempotent, but not necessary for a simple overview tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Description adds context about the content of the output (overview, entrypoints, onboarding). Baseline 4 applies as no compensation needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it provides a 'short overview of VIA Labs' including what it does, key entrypoints for buyers and sellers, and where to onboard. Distinct from sibling tools which focus on specific actions like buying, selling, or quoting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. Usage is implied as a starting point for orientation, but no mention of alternatives or exclusions. Adequate for a simple informational tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_preference_appraisalAInspect
Import a buyer's shopping-preference appraisal (derived by a Mind from the owner's email) onto their VIA Personal Shopper. Requires a link_token the owner minted in their VIA dashboard; it scopes the write to exactly one buyer. Pass ONLY the structured fields (categories, brands liked and avoided, sizes, cadence, budget signal): no free text, individual purchases, addresses, payment methods, order numbers or other personal details, and any extra field is discarded. VIA never receives raw email. Taste signals shape matching immediately and are drafted into the owner's Taste Card for them to approve and publish; the budget signal becomes a PROPOSED spending cap that the owner must approve in the dashboard before it gates any autonomous spend.
| Name | Required | Description | Default |
|---|---|---|---|
| appraisal | Yes | The structured shopping-preference appraisal: taste and budget fields only, no free text or personal details. | |
| link_token | Yes | The link token the buyer owner minted in their VIA dashboard (POST /api/buyer/[buyerId]/appraisal action=mint_link). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so richly: it discloses write scoping (token scopes the write to exactly one buyer), data-discard behavior, a privacy guarantee ('VIA never receives raw email'), and the downstream approval flow for taste signals and the budget cap. This is far more than a restated name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense paragraph, but it is front-loaded with the core action and each sentence adds distinct information (prerequisites, input constraints, privacy, downstream effects). No filler, though the length pushes against ideal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex nested-object mutation with no output schema and no annotations, the description covers the prerequisites, input restrictions, and downstream consequences an agent needs to invoke it correctly. Return-value detail is the only minor omission and no output schema exists to defer to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 real meaning: it explains what the link_token accomplishes (scoping the write to one buyer) and enumerates the appraisal categories (categories, brands liked/avoided, sizes, cadence, budget signal) while stating what must be excluded. This supplements rather than repeats the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource ('Import a buyer's shopping-preference appraisal') and names the target system ('onto their VIA Personal Shopper'), with the source of the data qualified. An agent can distinguish this from siblings like get_buyer_preferences, get_taste_card, or get_buyer_briefs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition (a link_token the owner minted in their VIA dashboard) and explicitly constrains inputs ('Pass ONLY the structured fields... any extra field is discarded'). It does not, however, explicitly contrast when to reach for this tool versus sibling read tools, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sellersAInspect
List active sellers across the VIA network (VIA app + RRG + integrated platforms). Each result is tagged with its platform and includes the per-seller MCP URL to connect to for deeper interaction (list_products, ask_sales_agent, buy_product).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional cap on results. Omit to enumerate the ENTIRE network (no limit), which is the default. | |
| category | No | Optional kind filter (applies to VIA-app sellers only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Implies read-only behavior through 'List', but does not explicitly state that the operation is safe, idempotent, or free of side effects. Also does not mention authentication or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Front-loaded with purpose and scope, immediately followed by key output details. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 optional parameters and no output schema, the description covers the primary purpose, output structure (platform tag and MCP URL), and links to further tools. Could benefit from listing all fields in the result, but overall sufficient for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage, but description adds value: clarifies that 'category' applies only to VIA-app sellers and that omitting 'limit' enumerates entire network. This extra context improves understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'List' and resource 'active sellers' with specific scope 'across the VIA network (VIA app + RRG + integrated platforms)'. Distinguishes from sibling tools like 'find_seller' which searches for a specific seller, and 'get_seller_products' which is more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for use: listing all active sellers. Mentions that results include MCP URLs for deeper interaction, guiding subsequent tool use. However, lacks explicit exclusion criteria 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.
negotiateInspect
Negotiate a PAID offer with a buyer's Buying Agent, forwarded to their buyer MCP. This is the post-door step: submit a paid offer at the brief door first (POST /api/via/brief/[brief_id]/offer), then pass that brief_id, the offer's payment_tx_hash and the offer_token the door returned to you. There is no free pre-door pitch.
| Name | Required | Description | Default |
|---|---|---|---|
| brief_id | Yes | The brief you made a paid offer against. | |
| offer_text | Yes | Your full pitch: what you are offering, terms, and price. | |
| offer_token | No | The offer_token the door returned when you paid for this offer. Required unless you send payer_signature. | |
| buyer_mcp_url | Yes | The buyer's mcp_url from a find_buyers result. | |
| payer_signature | No | Instead of offer_token: an EIP-191 signature by the paying wallet over "VIA paid offer\nbrief: <brief_id>\npayment: <payment_tx_hash lower case>". | |
| payment_tx_hash | Yes | The on-chain payment tx from your door offer. |
register_storeAInspect
Register your own store on the VIA network (no thirdweb, no human wizard). You only need ONE wallet: your payout_wallet (USDC lands here, you keep 97.5%). The platform creates and operates your store's ERC-8004 identity wallet for you; you do not supply or hold it. The flat 2.5% network fee is unchanged. Your store is created PENDING and stays invisible until a human reviews it for quality (nothing illegal, immoral, or offensive) within 24 hours. On approval the store goes live and its ERC-8004 identity is minted. Poll get_store_status with the returned slug to track the decision.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | What you sell. | |
| slug | No | Optional URL slug. Derived from store_name if omitted. | |
| Yes | Contact email. Once approved, a sign-in link to manage the store is emailed here. There is no password. | ||
| headline | No | Short one-line tagline. | |
| store_name | Yes | Public store / brand name, e.g. "Arc Lights". | |
| description | No | What the store sells, for buyers and for review. | |
| website_url | No | Existing website, if any. | |
| payout_wallet | Yes | Your USDC payout EOA on Base. Sale proceeds (97.5%) settle here. This is the only wallet you need. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the transparency burden. It discloses that the platform creates and operates the ERC-8004 identity wallet, the store starts pending and invisible, human review is required, the fee split is 97.5%/2.5%, and approval triggers minting and a sign-in-link email.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is several sentences long but every sentence adds distinct operational information: wallet requirements, fee, pending status, human review, approval, identity minting, and follow-up via get_store_status. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and no annotations, the description covers prerequisites, the identity-wallet creation process, pending visibility, human review timeline, fee structure, approval behavior, and the exact follow-up mechanism (poll get_store_status with slug). This is sufficient for an agent to invoke the tool and handle the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds meaningful value beyond the schema for payout_wallet (USDC lands here, you keep 97.5%) and email (sign-in link, no password), and it explains that the returned slug is used for status polling.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Register your own store on the VIA network' and clearly distinguishes this from sibling tools by focusing on self-service store creation, pending approval, and identity-wallet creation. It also clarifies what it is not (no thirdweb, no human wizard).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides strong usage context: only one wallet is needed, payout_wallet receives USDC, the store is created pending, and the agent should poll get_store_status with the returned slug. It does not explicitly list exclusions or comparisons with alternatives, but the workflow context makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_quoteAInspect
Request an advisory price for a configurable product, forwarded to the owning seller. Pass the selections from get_offering_schema. Returns a quote_ref and a NON-BINDING proposed_total the seller reviews. Poll get_quote for the decision.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | No | Free-form brief: deadline, artwork notes. Not priced, surfaced to the seller. | |
| contact | No | Reach-back identifier so the seller can follow up. | |
| product_id | Yes | ||
| selections | Yes | ||
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a discovery result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. Mentions non-binding, seller reviews, and returns quote_ref and proposed total. Lacks auth or rate limit info, but adequate for core behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, no wasted words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core async workflow and key outputs. No output schema, so description must explain return values, which it does briefly. Missing explicit return structure but sufficient for use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 60%; description adds context for spec (free-form brief) and links selections to get_offering_schema. Does not detail all parameters, but compensates somewhat.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States clear verb 'Request' and resource 'advisory price for a configurable product'. Distinguishes from siblings like get_quote (poll for decision) and buy_product (purchase).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies workflow by referencing get_offering_schema for input and get_quote for polling. Does not explicitly list when-not-to-use or alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seller_mcp_urlBInspect
Return the per-seller MCP endpoint URL for a given seller slug, verified against the active seller index.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Seller slug (e.g. 'arc-lights'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions verification but does not disclose error handling, authentication requirements, or whether the URL is transient. Minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, directly states purpose. No wasted words. Length is appropriate for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and one parameter, the description explains the core function but omits the return format. Adequate for a simple tool but slightly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents 'slug'. The description adds no extra meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Return'), the resource ('per-seller MCP endpoint URL'), and the condition ('verified against the active seller index'). It distinctly differentiates from sibling tools like list_sellers or find_seller.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. No explicit context, exclusions, or references to sibling tools are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_intentAInspect
Submit a buyer's INTENT in their own words. Two things happen: (1) you get back the products across the VIA network that genuinely match it, from the full agentic matcher (it reads each product's data and reasons, it is not keyword search); and (2) the intent is BROADCAST live onto the network as an anonymised teaser (category + product type + one attribute only, never the raw text or any identity), so it appears on The Wire (app.getvia.xyz/wire) and sellers can respond. Use this when you are buying ON BEHALF of someone and want defined matches plus live broadcast. State the brief naturally, including any hard requirements ("raw selvedge denim, 32 waist", "first pressing on the Stiff label", "a gift of coffee"). Hard requirements are enforced (a product that fails one is excluded); broad briefs return on-category options. Returns matches with seller, price, a direct page_url, and the mcp_url to transact, plus broadcast:true and a door_url when the intent went live. For matching AND broadcast tied to a specific VIA buyer's saved taste and budget (and seller pitch-back), call submit_intent on that buyer's MCP (/buyers/{handle}/mcp) instead.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | What the buyer wants, in plain words, e.g. 'made in japan raw selvedge denim around 32 waist' or 'a gift of coffee for a family member'. | |
| category | No | Category if you know it, e.g. 'apparel/denim', 'music/vinyl', 'food/coffee'. | |
| reply_to | No | Where a seller can reach you about this brief: your own MCP url, or an email. STRONGLY RECOMMENDED. Without it a seller who pays to unlock your brief has no way to come back to you, so your brief is broadcast but unanswerable. Released only to sellers who have paid at the door, never in a public teaser. | |
| budget_usd | No | Ceiling in USD, if there is one. | |
| type_terms | No | The product type in plain nouns, e.g. ['jean','denim trouser']. | |
| preferences | No | Soft preferences. Used for ranking, never to exclude. | |
| requirements | No | HARD requirements. A product failing any one of these is excluded. Be strict: put anything negotiable in preferences instead. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes return values (matches, broadcast:true, door_url), enforcement of hard requirements, ranking with soft preferences, anonymised broadcast behavior. No annotations provided, so description carries full burden, which it largely meets. Could mention if operation is idempotent or rate limits, but not essential.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is dense but not excessively long. Every sentence adds value. Could be better structured with line breaks or bullet points, but as a single paragraph it remains clear and organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no output schema, and no annotations, the description covers behavior, return values, usage context, and parameter nuances comprehensively. Provides a complete picture for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds context beyond schema: explains 'reply_to' is strongly recommended for seller responses, distinguishes 'requirements' (exclusion) from 'preferences' (ranking), and clarifies 'brief' should be natural language.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool submits a buyer's intent and performs matching and broadcast. It distinguishes from sibling tools by specifying when to use this generic version versus the buyer-specific MCP endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this when you are buying ON BEHALF of someone and want defined matches plus live broadcast.' Also provides alternative: for buyer-specific taste and budget, use the buyer's MCP endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_taste_cardAInspect
Change your owner's VIA Taste Card on their instruction: add or remove items per field, set a headline, and publish or unpublish. Set publish=true ONLY when the owner has explicitly asked to publish; publishing shares the card with the VIA network, which then suggests products and matches. The owner is notified of every change and can undo it in the app. Pass the action_token from VIA's message.
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | ||
| remove | No | ||
| publish | No | ||
| headline | No | ||
| unpublish | No | ||
| action_token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and discloses important effects: publishing shares the card with the VIA network, the owner is notified of every change, and changes can be undone in the app. It also explains that action_token comes from VIA's message, though it does not cover permission or rate-limit details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded, uses four focused sentences, and every sentence contributes either purpose, a critical publish condition, side-effect information, or token sourcing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and nested objects, the description supplies the essential operational context: scope of edits, publish side effect, notification/undo behavior, and required token. It is nearly complete, with only minor edge-case semantics left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% at the top level, so the description must compensate. It maps the main parameters to actions (add/remove per field, set headline, publish/unpublish) and explains the source of action_token, adding useful meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: changing the owner's VIA Taste Card. It enumerates the supported operations (add/remove items, headline, publish/unpublish), so an agent can distinguish it from read-oriented siblings like get_taste_card.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context that changes are made on the owner's instruction, and adds an explicit condition for publish=true. It does not name alternative tools or when not to use this one, so it falls short of full routing guidance.
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 tool update
- Changed
get_shipping_quote4 fields changed- added
Input schema / properties / deliveryAdded value: +{ + "additionalProperties": false, + "description": "RRG-network brands on VIA: the full delivery address, for live carrier rates.", + "properties": { + "address_line1": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "address_line2": { + "maxLength": 200, + "type": "string" + }, + "city": { + "maxLength": 120, + "minLength": 1, + "type": "string" + }, + "country": { + "maxLength": 2, + "minLength": 2, + "type": "string" + }, + "name": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "phone": { + "maxLength": 40, + "minLength": 4, + "type": "string" + }, + "postcode": { + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "region": { + "maxLength": 120, + "type": "string" + } + }, + "required": [ + "name", + "address_line1", + "city", + "postcode", + "country", + "phone" + ], + "type": "object" +} - added
Input schema / properties / product_idAdded value: +{ + "description": "RRG-network brands on VIA quote live rates per item: pass the listing id (mcp_ref.product_id).", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / selected_colorAdded value: +{ + "type": "string" +} - added
Input schema / properties / selected_sizeAdded value: +{ + "type": "string" +}
1 tool update
- Changed
get_personal_shopper1 field changed- changed
Input schema / properties / email / descriptionPrevious value: -"The person's email. Their agent, wallet and identity are created (or reused) for this address, and their one-tap sign-in link is minted for it."New value: +"The person's email. The confirmation link is sent here; their agent, wallet and identity are created for this address when they confirm."
3 tool updates
- Changed
accept_offer4 fields changed- added
Input schema / properties / brief_idAdded value: +{ + "description": "The brief you made the paid offer against (required by the buyer agent).", + "maxLength": 120, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / offer_tokenAdded value: +{ + "description": "The offer_token the door returned when you paid for this offer. Required unless you send payer_signature.", + "maxLength": 200, + "type": "string" +} - added
Input schema / properties / payer_signatureAdded value: +{ + "description": "Instead of offer_token: an EIP-191 signature by the paying wallet, as for negotiate.", + "maxLength": 200, + "type": "string" +} - added
Input schema / properties / payment_tx_hashAdded value: +{ + "description": "The payment tx of your paid door offer (required by the buyer agent).", + "maxLength": 120, + "minLength": 6, + "type": "string" +}
- Changed
confirm_purchase1 field changed- added
Input schema / properties / order_idAdded value: +{ + "description": "The orderId buy_product returned for this member order. Required for physical member products: the order ships to the address recorded on it.", + "maxLength": 4096, + "type": "string" +}
- Changed
negotiate2 fields changed- added
Input schema / properties / offer_tokenAdded value: +{ + "description": "The offer_token the door returned when you paid for this offer. Required unless you send payer_signature.", + "maxLength": 200, + "type": "string" +} - added
Input schema / properties / payer_signatureAdded value: +{ + "description": "Instead of offer_token: an EIP-191 signature by the paying wallet over \"VIA paid offer\\nbrief: <brief_id>\\npayment: <payment_tx_hash lower case>\".", + "maxLength": 200, + "type": "string" +}
1 tool update
- Changed
buy_product2 fields changed- added
Input schema / properties / buyer_emailAdded value: +{ + "description": "Network-member orders: email for the order confirmation and file delivery. Required for physical member products.", + "format": "email", + "type": "string" +} - added
Input schema / properties / shipping_rate_handleAdded value: +{ + "description": "Network-member physical products only: the shipping option handle from a previous buy_product call. Omit on the first call to get the options.", + "type": "string" +}
3 tool updates
- Added
get_my_finds - Added
get_my_taste_card - Added
update_taste_card
1 tool update
- Changed
import_preference_appraisal1 field changed- added
Input schema / properties / appraisal / properties / categories_avoidedAdded value: +{ + "default": [], + "items": { + "maxLength": 60, + "minLength": 1, + "type": "string" + }, + "maxItems": 40, + "type": "array" +}
1 tool update
- Changed
import_preference_appraisal3 fields changed- changed
Input schema / properties / appraisal / descriptionPrevious value: -"The structured shopping-preference appraisal. Use evidence_summary for prose only; never include raw quoted email."New value: +"The structured shopping-preference appraisal: taste and budget fields only, no free text or personal details." - removed
Input schema / properties / appraisal / properties / evidence_summaryRemoved value: -{ - "maxLength": 4000, - "type": "string" -} - removed
Input schema / properties / appraisal / properties / notable_recent_purchasesRemoved value: -{ - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "category": { - "maxLength": 60, - "type": "string" - }, - "item": { - "maxLength": 200, - "type": "string" - }, - "price_usd": { - "minimum": 0, - "type": "number" - }, - "when": { - "maxLength": 40, - "type": "string" - } - }, - "type": "object" - }, - "maxItems": 50, - "type": "array" -}
2 tool updates
- Added
claim_network_pass - Added
get_personal_shopper
1 tool update
- Removed
claim_network_pass
1 tool update
- Added
claim_network_pass
1 tool update
- Changed
register_store3 fields changed- changed
Input schema / properties / email / descriptionPrevious value: -"Contact email. Becomes the dashboard login once approved; keep it."New value: +"Contact email. Once approved, a sign-in link to manage the store is emailed here. There is no password." - removed
Input schema / properties / passwordRemoved value: -{ - "description": "Dashboard password (8+ chars). Keep it: this is how the store is managed after approval.", - "maxLength": 200, - "minLength": 8, - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "store_name", - "kind", - "payout_wallet", - "email", - "password" -]New value: +[ + "store_name", + "kind", + "payout_wallet", + "email" +]
1 tool update
- Removed
add_live_poll_question
29 tool updates
- First observed
accept_offer - First observed
add_live_poll_question - First observed
ask_sales_agent - First observed
buy_product - First observed
claim_pass - First observed
confirm_purchase - First observed
counter_quote - First observed
find_buyers - First observed
find_seller - First observed
get_buyer_briefs - First observed
get_buyer_preferences - First observed
get_download_challenge - First observed
get_download_links - First observed
get_offering_schema - First observed
get_product - First observed
get_quote - First observed
get_seller_products - First observed
get_shipping_quote - First observed
get_store_card - First observed
get_store_status - First observed
get_taste_card - First observed
get_via_overview - First observed
import_preference_appraisal - First observed
list_sellers - First observed
negotiate - First observed
register_store - First observed
request_quote - First observed
seller_mcp_url - First observed
submit_intent
Related MCP Connectors
USDC/x402 agent marketplace. Verified Base mainnet pilot, testnet and public enrollment.
Multi-seller shopping for AI agents. Settle via Stripe MPP or x402 USDC on Base. Hosted.
Multi-seller shopping for AI agents. Settle via Stripe MPP or x402 USDC on Base. Hosted.
Payment rails for AI agents. Pay merchants in USDC on Base. Dual-protocol: x402 + OKX APP.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceOnchain agent-to-agent commerce protocol using x402 and ERC-8004. Enables AI agents to buy/sell services, manage vendor catalogs, and process payments on Base.MIT
- AlicenseNot gradedqualityCmaintenanceThe open marketplace for the agent economy — Buy any of 24,000+ live x402 services with USDC on Base.6MIT

com.ausca/agent-servicesofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to discover, pay for, and invoke x402-priced services such as document OCR, document analysis, media transcription, remote browser sessions, and receive-only email inboxes using USDC on Base, with no API keys and receipt-backed results.37MIT- AlicenseNot gradedqualityBmaintenanceUSDC payments for AI agents on Base. Direct transfers, pre-funded tabs, x402 paywall handling, and service discovery.102 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.