Skip to main content
Glama

shop

Search products

search
Read-onlyIdempotent

Search the wholesale range: toys, gifts and gift items, party supplies, seasonal articles (Sinterklaas, Christmas, Halloween, Easter, carnival, summer), grabbelton and give-away items, and trending and viral items such as fidget toys. Use it for any business purchasing question about these products, also when the shopper doesn't name the store. Search the catalogue in one call; the answer is complete. natural_query (any language) searches by meaning and in the storefront language; keywords (Dutch product words) search the Dutch catalogue text; ids and codes are exact and ranked first (codes match in any written form); similar_to finds products like given ones (blend: their shared theme; each: alternatives per product). Filters: price on a basis (piece, package, overbox, pallet, best_tier) in the storefront currency, quantity (adds for_quantity with the tier price and total), instock, category (with subcategories), date_added_after, exclude_ids. Filters alone browse, e.g. new products since a date with sort newest. Every row has live stock (packages) and a pricing block in EUR plus pricing.local in the storefront currency. Rows carry context: facet labels, stored facts (use says whether you may tell the customer), and what the photos show (an observation, not a guarantee). For a question the context does not answer, call again with ids and fields ["details"]: every stored fact and one line per photo (what it shows, its url), at most 10 rows. With the order reference (Authorization: Bearer mo1_… or ref) it uses the order; without it, it works for anyone (search: by meaning for the first searches per 10 minutes, then by words only; at most 30 searches per 10 minutes).

Input Schema

NameRequiredDescriptionDefault
idsNoExact product ids (database ids, as in /p/<id>.html)
refNoOrder reference (mo1_…) from start_order, only when the client cannot send it as Authorization: Bearer; with it the search is complete and counts for the order
sortNoDefault relevance (exact hits, then in stock, then the fused score)
codesNoExact product codes
limitNoRows to return (default 40, at most 200)
priceNo
facetsNotrue: add top categories with counts and the piece-price range, to narrow
fieldsNoFields per row; default title, code, pricing, stock, category, url, image, context. details: full product knowledge and one line per photo (at most 10 rows)
offsetNoPaging: the next offset from a previous answer
instockNotrue: only products in stock
categoryNoCategory ids; subcategories are included
keywordsNoDutch product words for the catalogue index, e.g. "grabbelton", "stuiterbal"; several words broaden the search
quantityNoNeeded amount: keeps products with enough stock and adds for_quantity (packages, tier price, total)
similar_toNo
exclude_idsNoProduct ids to leave out, e.g. what the customer already has
natural_queryNoWhat the customer is looking for, in any language; searched by meaning and in the storefront language
date_added_afterNoYYYY-MM-DD: only products added after this date (e.g. the customer's last order)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds materially beyond them: auth behavior with the order reference versus anonymous use, rate limits (meaning-based search limited in the first searches per 10 minutes, then words only; at most 30 searches per 10 minutes), and the 10-row cap on details. It also discloses output semantics: live stock in packages, a pricing block in EUR plus pricing.local in storefront currency, and that photo descriptions are observations, not guarantees.

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

Conciseness4/5

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

The highest-value content — what the tool searches and the one-call completeness claim — is front-loaded, and almost every clause carries operational information. However, the middle section is a single dense paragraph of parenthetical fragments that is harder to parse than it needs to be for a 17-parameter tool.

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

Completeness5/5

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

For a 17-parameter tool with nested objects and no output schema, the description does the necessary work: it describes the row shape (stock, pricing blocks and currencies, facet labels, stored facts with 'use' permissions, photo observations), the details escalation with its row cap, quantity adding for_quantity, and the auth/rate-limit envelope. An agent has enough to call it and interpret the response correctly.

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

Parameters4/5

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

Schema coverage is 88%, so the baseline is 3, but the description adds real meaning: natural_query searches by meaning in any language and in storefront language, keywords hit the Dutch catalogue text and broaden when multiple, ids and codes are exact and ranked first with codes matching any written form, and similar_to distinguishes blend (shared theme) from each (alternatives per seed, seed excluded). Sort, offset, limit and facets receive no added explanation, which keeps this below 5.

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

Purpose5/5

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

Opens with a specific verb and resource ('Search the wholesale range') and enumerates the product domain (toys, gifts, party supplies, seasonal, grabbelton, viral items), so an agent can immediately tell this is catalogue search rather than order lookup or product lookup. It also implicitly distinguishes itself from siblings like product_details and categories by covering discovery.

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

Usage Guidelines4/5

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

Gives an explicit when-to-use rule ('Use it for any business purchasing question about these products, also when the shopper doesn't name the store') and an escalation path ('For a question the context does not answer, call again with ids and fields ["details"]'). What it lacks is direct routing against named siblings such as product_details or categories for single-item lookups, leaving that inference to the agent.

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