Skip to main content
Glama

Search products

search_products
Read-only

Find products for sale for a keyword: on one shop (site) or across shops. Returns title, price, original price, shop, rating, review count, image, availability and a product_id for each. products holds organic results only; ads the shop or search marks as sponsored come back separately in sponsored (at most 5, each with sponsored: true). Costs credits (call check_site for a shop's price); failed searches are free, and so is one on a named shop (site) that finds nothing; one across shops that finds nothing still costs credits. Tell the user when prices were read (meta.as_of). Needs sign-in.

Input Schema

NameRequiredDescriptionDefault
siteNoOptional shop to search, as a domain (allbirds.com, amazon.de) or a name (allbirds). Leave out to search across shops.
limitNo
queryYesWhat to look for, e.g. "running shoes".
formatNostructured: common product fields. raw: also the shop's own JSON, unchanged (not every shop has it).structured
countryNoTwo-letter market code, e.g. US, GB, DE. Picks the shop's market when site is a name. Leave out to use the market of a site like amazon.co.jp (JP); otherwise US.
max_creditsNoOptional budget. If the request could cost more, nothing runs and nothing is charged.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Two-letter market code, e.g. US, ID, DE. Picks the shop's market when site is a name. Leave out to use the market of a site like amazon.co.jp (JP); otherwise US."New value: +"Two-letter market code, e.g. US, GB, DE. Picks the shop's market when site is a name. Leave out to use the market of a site like amazon.co.jp (JP); otherwise US."
  2. Changed2 schema fields changed
    • removedInput schema / properties / country / default
      Removed value: -"US"
    • changedInput schema / properties / country / description
      Previous value: -"Two-letter market code, e.g. US, ID, DE. Picks the shop's market when site is a name."New value: +"Two-letter market code, e.g. US, ID, DE. Picks the shop's market when site is a name. Leave out to use the market of a site like amazon.co.jp (JP); otherwise US."
  3. Changed6 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Two-letter market code, e.g. US, ID, MY, SG."New value: +"Two-letter market code, e.g. US, ID, DE. Picks the shop's market when site is a name."
    • addedInput schema / properties / format
      Added value: +{
      +  "default": "structured",
      +  "description": "structured: common product fields. raw: also the shop's own JSON, unchanged (not every shop has it).",
      +  "enum": [
      +    "structured",
      +    "raw"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / max_credits
      Added value: +{
      +  "description": "Optional budget. If the request could cost more, nothing runs and nothing is charged.",
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"What to look for, e.g. \"Sony WH-1000XM5\"."New value: +"What to look for, e.g. \"running shoes\"."
    • addedInput schema / properties / site
      Added value: +{
      +  "description": "Optional shop to search, as a domain (allbirds.com, amazon.de) or a name (allbirds). Leave out to search across shops.",
      +  "maxLength": 253,
      +  "type": "string"
      +}
    • removedInput schema / properties / sites
      Removed value: -{
      -  "default": [],
      -  "description": "Optional shop domains to restrict the search to, e.g. [\"amazon.com\", \"shopee.co.id\"]. Amazon domains (amazon.com, amazon.co.uk, ...) search Amazon directly. Other shops: shopping listings from those shops come first; when there are none, results are direct pages on those shops, where prices, ratings and images are often missing (meta.source is web_search).",
      -  "items": {
      -    "type": "string"
      -  },
      -  "maxItems": 5,
      -  "type": "array"
      -}
  4. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only state readOnly/openWorld/non-destructive, so the description carries real weight here: it discloses credit costs, the asymmetric failure-billing rules (free for named-shop misses, charged for cross-shop misses), the sponsored-results split capped at 5, and the meta.as_of timestamp to relay to users. The only gap is the absence of any note on pagination or rate limits, which keeps it short of a 5.

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?

It is dense but front-loaded: purpose first, then return fields, then the sponsored caveat, then billing rules, then the sign-in requirement. The billing sentence is long and nested, but every clause conveys actionable information.

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?

With no output schema, the description compensates by enumerating the returned product fields and the separate sponsored array with its cap and flag, plus the meta.as_of field. Combined with the credit and auth disclosures, an agent has everything needed to call and interpret this tool.

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 high at 83%, so the schema already documents site, query, format, country and max_credits in detail. The description's clause about one shop vs across shops largely restates the site schema description and says nothing about limit, so it adds little beyond structured data — the expected baseline of 3.

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

Purpose5/5

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

The description opens with a specific verb and resource ("Find products for sale for a keyword") and immediately scopes the two modes: on one shop (site) or across shops. This lets an agent distinguish the tool from siblings like get_product or discover without opening a schema.

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?

It explicitly routes the agent to check_site for a shop's credit price and states the sign-in requirement, giving clear pre-call context. It does not, however, contrast itself against siblings such as discover or get_results, so the 'when not to use' side is left implicit.

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.