Skip to main content
Glama

list_products

Read-only

The shop's products: id, handle, title, status, lowest price, and every variant with its id, title, SKU, price and stock. Use the id or handle with the tools that change products or prices. Prices are integer minor units (cents).

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNoOnly products whose title, handle or SKU contains this.
includeInactiveNoInclude draft and archived products too.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / includeInactive
      Added value: +{
      +  "description": "Include draft and archived products too.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / limit / maximum
      Previous value: -50New value: +100
    • addedInput schema / properties / query
      Added value: +{
      +  "description": "Only products whose title, handle or SKU contains this.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description usefully adds that prices are integer minor units (cents), which prevents misreading of returned values. It says nothing about pagination, default page size, or whether archived/draft items appear by default, which matters for a list tool with a hard cap of 100.

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?

Three tight sentences, front-loaded with the return shape, then the follow-up guidance, then the price-unit caveat. Every sentence carries information; nothing is redundant with the annotations.

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 necessary work of listing returned fields including nested variants, plus the price-unit convention. Remaining gaps are pagination behavior and the default active-only scope, which are left to the schema's includeInactive text.

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 67%: query and includeInactive are documented in the schema, while limit has no description at all beyond min/max bounds. The description adds no parameter meaning whatsoever, so the baseline 3 applies, with the undocumented limit keeping it from going higher.

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?

Describes the resource and enumerates exactly what comes back (id, handle, title, status, lowest price, variants with SKU/price/stock), which clearly separates it from products_create/products_edit/products_delete siblings. The listing verb is only implicit ("The shop's products:"), but the return-field enumeration makes the operation unambiguous.

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

Usage Guidelines3/5

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

It advises what to do with the returned identifiers ("Use the id or handle with the tools that change products or prices"), which is downstream guidance rather than when-to-use guidance. It never states when to call this versus siblings such as collections_add_products or inventory_low, or when the filters should be applied.

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.