One product
get_productA product with its description and FAQ.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The id from the list. | |
| fields | No | Optional: return only these fields; a dot reaches into lists (e.g. ["items.name", "items.url"]). |
get_productA product with its description and FAQ.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The id from the list. | |
| fields | No | Optional: return only these fields; a dot reaches into lists (e.g. ["items.name", "items.url"]). |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered. The description's only added information is that the payload includes a description and FAQ, but it says nothing about behavior on a missing id, completeness of the record, or format.
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?
It is short, but the single fragment is under-specified rather than efficient — it conveys almost no actionable information and is not structured as a usable instruction.
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?
With no output schema, the description carries the burden of explaining what is returned; it only vaguely names two payload elements. For a lookup tool with a fields projection option, an agent needs to know the record shape and failure behavior, neither of which is present.
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?
Schema description coverage is 100%, with the id parameter documented ("The id from the list") and fields explained including dot-notation examples. The description adds no parameter meaning beyond the schema, so the baseline 3 applies.
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?
The description is a noun phrase ("A product with its description and FAQ") that essentially restates the title "One product" without a verb or clear retrieval framing. It gives no differentiation from the sibling list_products or any hint that it fetches a single record by id.
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?
No indication of when to use this versus list_products, get_faq, or get_business_info. The single-product-by-id intent must be inferred entirely from the parameter name and the title.
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.