Skip to main content
Glama

search_products_enriched

Read-onlyIdempotent

Search products with enriched data including structured attributes, variants, GTIN, and images. Ideal for comparison and detailed product discovery. Matching is keyword/substring-based (title, description, tags, vendor) with rating-then-review ordering — the rating and review count it orders by are asserted by the merchant and are not verified by Trusteed. Use this when you have concrete keywords, a category, or a price range.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (1-20)
queryYesSearch query
categoryNoFilter by category
max_priceNoMaximum price
min_priceNoMinimum price

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
totalYes
productsYes
sort_provenance_warningYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / properties / _carousel
      Removed value: -{
      -  "additionalProperties": true,
      -  "properties": {
      -    "apiEndpoint": {
      -      "type": "string"
      -    },
      -    "initialCategory": {
      -      "type": "string"
      -    },
      -    "productsForArtifact": {
      -      "items": {},
      -      "type": "array"
      -    },
      -    "storeSlug": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "apiEndpoint",
      -    "storeSlug",
      -    "productsForArtifact",
      -    "initialCategory"
      -  ],
      -  "type": "object"
      -}
  2. Changed1 schema field changed
    • addedOutput schema / properties / _carousel
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "apiEndpoint": {
      +      "type": "string"
      +    },
      +    "initialCategory": {
      +      "type": "string"
      +    },
      +    "productsForArtifact": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "storeSlug": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "apiEndpoint",
      +    "storeSlug",
      +    "productsForArtifact",
      +    "initialCategory"
      +  ],
      +  "type": "object"
      +}
  3. Changed7 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -falseNew value: +true
    • changedOutput schema / additionalProperties
      Previous value: -falseNew value: +true
    • changedOutput schema / properties / products / items / additionalProperties
      Previous value: -falseNew value: +true
    • changedOutput schema / properties / products / items / properties / attributes / items / additionalProperties
      Previous value: -falseNew value: +true
    • changedOutput schema / properties / products / items / properties / images / items / additionalProperties
      Previous value: -falseNew value: +true
    • changedOutput schema / properties / products / items / properties / rating_provenance / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "note": {
      -        "type": "string"
      -      },
      -      "origin": {
      -        "const": "merchant",
      -        "type": "string"
      -      },
      -      "strength": {
      -        "const": "claimed",
      -        "type": "string"
      -      },
      -      "verified": {
      -        "const": false,
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "origin",
      -      "strength",
      -      "verified",
      -      "note"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "note": {
      +        "type": "string"
      +      },
      +      "origin": {
      +        "const": "merchant",
      +        "type": "string"
      +      },
      +      "strength": {
      +        "const": "claimed",
      +        "type": "string"
      +      },
      +      "verified": {
      +        "const": false,
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "origin",
      +      "strength",
      +      "verified",
      +      "note"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / products / items / properties / variants / items / additionalProperties
      Previous value: -falseNew value: +true
  4. Added
  5. Removed
  6. Changed4 schema fields changed
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties
      Added value: +{
      +  "category": {
      +    "description": "Filter by category",
      +    "type": "string"
      +  },
      +  "limit": {
      +    "default": 10,
      +    "description": "Max results (1-20)",
      +    "maximum": 20,
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  "max_price": {
      +    "description": "Maximum price",
      +    "type": "number"
      +  },
      +  "min_price": {
      +    "description": "Minimum price",
      +    "type": "number"
      +  },
      +  "query": {
      +    "description": "Search query",
      +    "maxLength": 200,
      +    "minLength": 1,
      +    "type": "string"
      +  }
      +}
    • addedInput schema / required
      Added value: +[
      +  "query"
      +]
  7. Added

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, indicating a safe, non-mutating operation. The description adds valuable behavioral context by specifying the matching algorithm (keyword/substring-based on title, description, tags, vendor) and the ordering (rating then review count), plus the important caveat that ratings are not verified by Trusteed. This adds transparency beyond annotations, though it could mention pagination or result limits, hence scoring 4.

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 description is compact and front-loaded with the main purpose and enriched data context, then follows with technical details and usage guidance. It avoids fluff, but slightly dense in the middle with matching/ordering details; still, every sentence contributes to understanding. Score 4 rather than 5 because the flow could be improved by separating use case from mechanics.

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 an output schema (likely describing the enriched data structure) and rich annotations, the description covers the key aspects: what data is returned, how matching works, ordering, and when to use. It doesn't explicitly mention pagination or how to handle empty results, but for a search tool with this complexity, it's adequately complete. Score 4.

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 100%, so all parameters are documented. The description reinforces the usage of query, category, and price range (linking to min_price/max_price) and clarifies the search scope. It doesn't introduce entirely new parameter details beyond schema, but given high coverage, baseline is 3, and the description's linking of natural language to parameters adds value, hence 4.

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 clearly states the tool's purpose: searching products with enriched data (structured attributes, variants, GTIN, images) and specifies the use case ('ideal for comparison and detailed product discovery'). It distinctly differentiates from the sibling tool 'search_products' by emphasizing the enriched data and ideal use case, making it easy for an agent to choose correctly.

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?

The description explicitly states when to use this tool: 'Use this when you have concrete keywords, a category, or a price range.' It also clarifies the matching mechanism and ordering criteria, and importantly highlights that the ordering is based on merchant-asserted ratings and reviews, which is a key caveat. This provides clear and actionable guidance beyond simple when-to-use.

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