Skip to main content
Glama
claygeo
by claygeo

List products

distru_list_products
Read-only

Fetch Distru catalog products with filters for IDs, SKUs, names, brands, categories, active stock, and update time. Pagination follows next_page links to retrieve results safely.

Instructions

List products from the Distru catalog (GET /public/v1/products). Filters combine with AND; values within a single list filter combine with OR. Prices and quantities are returned as decimal STRINGS, not numbers, to preserve exact precision - do not parse them as floats. Returns { data, next_page }; next_page is an absolute URL or null.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsNoMatch any product id in this list.
skuNoCase-insensitive SUBSTRING match on SKU, not an exact match. Use `skus` for exact matching on one or more full SKUs.
nameNoCase-insensitive substring match on product name.
pageNo1-indexed page number. Page size is not guaranteed stable; follow next_page instead.
skusNoExact case-insensitive match on any SKU in this list.
deletedNoWhether to include soft-deleted records. Defaults to "no".
brand_idsNo
is_activeNo
category_idsNo
updated_datetimeNoComma-delimited datetime range. "T," = on or after T; ",T" = on or before T; "A,B" = between A and B inclusive. Format: YYYY-MM-DDTHH:MM:SS.MSZ.
has_quantity_activeNoRestrict to products currently holding stock.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses key behavioral traits: filters combine with AND, list values combine with OR, prices/quantities are decimal strings (with an explicit warning not to parse as floats), and pagination via next_page as an absolute URL or null. These are valuable runtime details not present in annotations or schema.

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?

Three tightly packed sentences: endpoint/scoping, filter semantics, and return format. No filler, front-loaded with the primary action, and each sentence contributes distinct operational knowledge.

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?

For a list tool with 11 optional parameters and no output schema, the description covers the essential runtime context: return envelope, pagination mechanism, and precision caveat. It does not enumerate fields within the returned data items, but the tool name and purpose make those inferable. Sibling context and high schema coverage fill most remaining gaps, though an explicit return-item schema would make it fully complete.

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?

The schema already describes most parameters at 73% coverage, so the baseline is 3. The description adds meaningful cross-cutting semantics that apply to all parameters: the AND/OR filter combination model and the decimal-string precision warning for price/quantity fields. This goes beyond what the schema provides, though individual parameter meanings are left to the schema.

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: 'List products from the Distru catalog'. It also names the exact endpoint (GET /public/v1/products), making the operation unambiguous. This clearly distinguishes it from sibling tools like distru_get_product (single product lookup) and distru_get_inventory.

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?

The description gives clear context for filter combination behavior and pagination, implying this is the tool for querying multiple products with filters. However, it does not explicitly state when to prefer this over siblings (e.g., 'use distru_get_product for a single product') or provide any when-not/exclusion guidance. Usage context is implied but not made explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.