Lab reports
get_lab_resultsThird-party lab (COA) reports Deer Supply publishes per product size. Optional product_id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No |
get_lab_resultsThird-party lab (COA) reports Deer Supply publishes per product size. Optional product_id.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds one useful behavioral fact — reports are third-party COAs published at product-size granularity — but says nothing about return format, availability, or coverage gaps. With annotations carrying the behavioral load, a 3 is appropriate.
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?
Extremely short with the resource stated first and no filler, which is good front-loading. But the brevity comes from under-specification rather than efficiency, and the fragmentary grammar makes the intent harder to parse than a single well-formed sentence would.
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 lookup tool with no output schema, the description should at least indicate what a caller gets back (COA documents, links, per-size rows) and how product_id is sourced. Neither is present, so an agent cannot predict the response shape or construct a valid identifier.
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 0% for the single product_id parameter, so the description must compensate and does not: it only restates that product_id is optional, adding no format, source, or example. An agent still does not know whether product_id is a slug, SKU, or internal ID.
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 names a specific resource — third-party lab (COA) reports published per product size — so an agent can tell what it retrieves. However it is a sentence fragment with no verb, and it does not distinguish itself from sibling tools like get_trust_report or get_product that may also surface product documentation.
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?
'Optional product_id' implies a filter-or-all behavior, which is minimal implicit guidance. There is no explicit when-to-use context, no statement of when to prefer this over get_trust_report or get_product, and no note on whether product_id must come from search_products.
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.