Skip to main content
Glama

1845 Smoked Meat AI Gateway

Search products

search_products
Read-onlyIdempotent

Search this store's products by keyword and/or filters. Returns matching titles, prices (with "was" price when on sale), availability, image, and URLs. Filters can be combined and used WITHOUT a keyword (e.g. on_sale=true alone lists everything on sale; price_max with in_stock_only=true lists affordable in-stock items).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10, max 50)
queryNoSearch keywords (optional if a filter is given)
offsetNoSkip this many to page through (use next_offset from a prior call)
on_saleNoOptional, only return products currently on sale (discounted)
categoryNoOptional category/collection to filter by (see list_categories)
price_maxNoOptional maximum price
price_minNoOptional minimum price
in_stock_onlyNoOptional, only return products that are in stock

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalNo
productsYes
next_offsetNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds non-obvious behavioral context: filters can be combined, a keyword is optional, and on-sale products expose a 'was' price. This goes beyond the structured annotations and helps the agent know what to expect from the response.

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

Conciseness5/5

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

The description is three sentences with no filler. It front-loads the core action, then return contents, then advanced usage. Every sentence adds necessary information, and the no-keyword caveat is placed at the end where it's digestible.

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 an 8-parameter search tool with a full schema, safety annotations, and an output schema, this description covers scope, return fields, and filter behavior. Pagination is handled through schema descriptions for offset and next_offset, so the description doesn't need to repeat it. The tool is well-specified for autonomous invocation.

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 the baseline is 3. The description adds semantic value with explicit examples of filter combinations and the no-keyword case, which clarifies how parameters interact (e.g., on_sale=true alone; price_max with in_stock_only=true). It doesn't redefine each parameter, but it supplements the schema with usage patterns.

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 'Search this store's products by keyword and/or filters,' naming the exact action and resource. This distinguishes it from siblings like list_products (browse all) and get_product (single product) by emphasizing keyword/filter-based retrieval, and it scopes to 'this store's products,' setting it apart from a generic search sibling.

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 provides concrete usage context, stating that filters can be combined and used without a keyword, with examples like on_sale=true alone or price_max with in_stock_only=true. It does not explicitly name alternatives or when-not-to-use, so an agent might not know to use list_products for unfiltered browsing or get_product for item-level details, but the usage conditions are clear.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools target distinct actions: browse, search, product detail, inventory, recommendations, cart, and store policy. The main potential confusion is between get_product and check_inventory, which both report product/variant price and stock, though list_products vs search_products is reasonably clear from descriptions.

Naming Consistency3/5

Tool names are consistently snake_case and many follow a verb_noun pattern like check_inventory, get_product, list_products, and search_products. However, best_sellers, related_products, and store_info are noun phrases, while fetch and search are bare verbs, making the naming pattern mixed but still readable.

Tool Count5/5

Eleven tools is well-scoped for an e-commerce shopping assistant covering catalog browsing, product search, inventory checks, recommendations, cart assembly, content search, and store policies. Each tool has a clear purpose and the count is neither bloated nor too thin.

Completeness5/5

The tool set covers the full shopper-facing journey: discovering categories and products, searching content, viewing product details and stock, seeing best sellers and related items, checking store policies, and building a cart. As a read-only storefront gateway, missing merchant-side operations are outside its stated purpose.

Resources