Skip to main content
Glama

Shop catalog, prices and availability

biz_storefront
Read-only

CALL THIS for what a shop sells, its products, its prices, a gift idea, or browsing or shopping a store served here. Reads that shop's OWN published catalog: title, maker, type, price, stock and one image per product. Businesses served here: Make Collectives (makecollectives, a boutique and gift shop), Kristin Dunn Bookbinding and Design (kdbooks, a bookbinding and book repair studio). Reachable here but not through this tool: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental) and Long Beach Brunch Bakehouse (longbeachbrunch) publish no shop catalog we read. makecollectives is Make Collectives, a boutique at 430 E. 1st St in Long Beach. kdbooks is Kristin Dunn Bookbinding and Design in Long Beach; her work is MADE TO ORDER, so say what leadTimeNote says. TWO SHOP PLATFORMS ARE READ HERE, a Shopify store and a WooCommerce shop, same reply shape; ON A WOOCOMMERCE SHOP ONE CART LINK CARRIES EXACTLY ONE ITEM. query only removes products. Sixty a page with pageCount and total: never say sixty is all. Give cartUrl and shopUrl exactly as returned, never a link of your own. WHERE THIS REPLY DRAWS THE SHOP CARD, THE CARD ITSELF HOLDS A BASKET: the person taps Add to cart there. Say what buyingNote says. No payment passes through Sonar Connections.

Input Schema

NameRequiredDescriptionDefault
pageNoOptional page, 1-based; 60 products a page.
limitNoOptional, 1 to 60.
queryNoOptional words to narrow the catalog; it only removes products.
businessNoWhich business, by name or id. Available: Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). The default (velvetandclay) publishes no shop catalog we read, so NAME THE BUSINESS: an omitted argument is refused. An unclear name is REFUSED with the list, not answered about a different business.
businessIdNoAlias for `business`; ignored when `business` is given.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / business / description
      Previous value: -"Which business, BY NAME OR BY ID. Available: Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). The default (velvetandclay) publishes no shop catalog we read, so NAME THE BUSINESS: an omitted argument is refused. A common short form works too (\"the bakehouse\", \"the dentist\"). A name that does not clearly match one of these is REFUSED with the list, and it is not answered about a different business."New value: +"Which business, by name or id. Available: Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). The default (velvetandclay) publishes no shop catalog we read, so NAME THE BUSINESS: an omitted argument is refused. An unclear name is REFUSED with the list, not answered about a different business."
    • changedInput schema / properties / businessId / description
      Previous value: -"Alias for `business`, accepted because every reply carries this name. Takes a NAME OR AN ID, exactly like `business`. Ignored when `business` is also given."New value: +"Alias for `business`; ignored when `business` is given."
    • changedInput schema / properties / limit / description
      Previous value: -"How many products to return, 1 to 60. Optional, defaults to 60. A larger number is clamped rather than refused."New value: +"Optional, 1 to 60."
    • changedInput schema / properties / page / description
      Previous value: -"Which page of the catalog, 1-based. Optional, defaults to 1. Each page holds up to 60 products; the reply carries pageCount and total so you can say which page you are reading and ask for the next one. A page past the end answers with no products and the true pageCount rather than an error."New value: +"Optional page, 1-based; 60 products a page."
    • changedInput schema / properties / query / description
      Previous value: -"Free text to narrow the catalog to, matched against the product title, the brand, the product type and the handle. Optional; omit it for the whole shop. It only ever removes products and never reorders them."New value: +"Optional words to narrow the catalog; it only removes products."
  2. Changed1 schema field changed
    • changedInput schema / properties / business / description
      Previous value: -"Which business, BY NAME OR BY ID. Available: Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). The default (velvetandclay) publishes no shop catalog we read, so NAME THE BUSINESS: an omitted argument is refused. A common short form works too (\"the bakehouse\", \"the dentist\"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business."New value: +"Which business, BY NAME OR BY ID. Available: Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). The default (velvetandclay) publishes no shop catalog we read, so NAME THE BUSINESS: an omitted argument is refused. A common short form works too (\"the bakehouse\", \"the dentist\"). A name that does not clearly match one of these is REFUSED with the list, and it is not answered about a different business."
  3. Changed1 schema field changed
    • changedInput schema / properties / business / description
      Previous value: -"Which business, BY NAME OR BY ID. Optional, defaults to velvetandclay. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch), Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). A common short form works too (\"the bakehouse\", \"the dentist\"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business."New value: +"Which business, BY NAME OR BY ID. Available: Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). The default (velvetandclay) publishes no shop catalog we read, so NAME THE BUSINESS: an omitted argument is refused. A common short form works too (\"the bakehouse\", \"the dentist\"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business."
  4. Changed1 schema field changed
    • changedInput schema / properties / business / description
      Previous value: -"Which business, BY NAME OR BY ID. Optional, defaults to velvetandclay. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch), Make Collectives (makecollectives). A common short form works too (\"the bakehouse\", \"the dentist\"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business."New value: +"Which business, BY NAME OR BY ID. Optional, defaults to velvetandclay. Available: Velvet and Clay (velvetandclay), Brightpoint Dental (brightpointdental), Long Beach Brunch Bakehouse (longbeachbrunch), Make Collectives (makecollectives), Kristin Dunn Bookbinding and Design (kdbooks). A common short form works too (\"the bakehouse\", \"the dentist\"). A name that does not clearly match one of these is REFUSED with the list, never silently answered about a different business."
  5. Changed1 schema field changed
    • addedInput schema / properties / page
      Added value: +{
      +  "description": "Which page of the catalog, 1-based. Optional, defaults to 1. Each page holds up to 60 products; the reply carries pageCount and total so you can say which page you are reading and ask for the next one. A page past the end answers with no products and the true pageCount rather than an error.",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
  6. Added

TDQS

A4.2/5.0
Behavior5/5

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

Annotations declare readOnly=false? no – readOnlyHint=true, destructiveHint=false, which covers the safety profile, and the description then adds substantive behavior the annotations cannot: 60 products per page with pageCount/total, `query` only subtracts results, one cart link per item on WooCommerce, made-to-order lead times, links must be passed through verbatim, and no payment flows through the tool. That is well beyond the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the primary trigger, which is good, but the body is a long run-on of all-caps clauses mixing platform trivia, address details, and cart mechanics. Several sentences (the Long Beach street address, the boutique description) are padding relative to the tool's job, and the shouting caps hurt legibility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the work of naming the returned fields, the pagination envelope, and the cart/shop link contract, so an agent knows what comes back. It is nearly complete; the only soft spot is not clarifying how `businessId` and `business` interact beyond the schema's own note.

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

Parameters3/5

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

Schema coverage is 100%, so `page`, `limit`, `query`, `business`, and `businessId` are already documented, and the description mostly repeats that (60 a page, query narrows). The one value-add is explaining that an omitted business defaults to a shop with no catalog and is refused, but the schema states this too. Baseline 3 is correct.

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

Purpose4/5

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

Opens with an explicit verb-and-resource statement ('Reads that shop's OWN published catalog: title, maker, type, price, stock and one image per product'), and the 'CALL THIS for...' clause names the user intents it serves. It never names the sibling tools (biz_menu, biz_info, biz_availability) it sits beside, so an agent separating catalog reads from menu/availability reads must infer from scope alone.

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

Usage Guidelines5/5

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

Gives explicit trigger conditions ('what a shop sells, its products, its prices, a gift idea') and explicit exclusions ('Reachable here but not through this tool: Velvet and Clay, Brightpoint Dental, Long Beach Brunch Bakehouse'). It also states the refusal behavior when `business` is omitted or ambiguous, which is exactly the routing decision an agent needs.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources