List products
list_productsList everything the demo store sells, with product ids and prices. Prices are in USD.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
list_productsList everything the demo store sells, with product ids and prices. Prices are in USD.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: it says 'everything' (no pagination/filtering), and discloses that results carry product ids and prices denominated in USD — useful because there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource scope, followed by the concrete return content. Nothing is repeated from the title and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trivial zero-param read tool with no output schema, the description covers scope, returned fields, and currency. Minor gaps remain: no mention of what an empty catalog returns or result ordering, but nothing an agent would need to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so the baseline of 4 applies. The description correctly implies no filtering arguments exist, consistent with the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (list the store's products) and even names the fields returned (ids, prices) plus the currency. It does not explicitly contrast with siblings, but the siblings (create_checkout, wait_for_payment_approval, etc.) are all checkout-flow tools, so confusion risk is minimal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance. For a zero-parameter catalog listing called from a checkout flow, the appropriate moment to call it is strongly implied but never stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.