Get complaint
safefood360_get_complaintOne complaint by its id (GUID). GET /complaints/sites/{siteId}/v1/complaints/{id}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| complaint_id | Yes | Complaint id (GUID), e.g. from safefood360_list_complaints. |
safefood360_get_complaintOne complaint by its id (GUID). GET /complaints/sites/{siteId}/v1/complaints/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| complaint_id | Yes | Complaint id (GUID), e.g. from safefood360_list_complaints. |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the underlying REST path, which implies site-scoped access but is not explained; it says nothing about error behavior (e.g. unknown GUID) or what a caller receives. This is adequate but thin for a tool where the schema is the only other context.
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 fragments with no filler, and the core ('one complaint by its id') is front-loaded. The appended endpoint URL is of marginal value and introduces a {siteId} path variable the schema doesn't expose, which slightly muddies rather than helps.
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 single-parameter read tool with no output schema, the definition is minimally sufficient given the annotations and full schema coverage. It nonetheless omits what a complaint record contains and how failures surface, and the unexplained {siteId} segment in the path may confuse an agent mapping parameters to the endpoint.
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 coverage is 100% and the complaint_id field already documents the GUID format, pattern and provenance from list_complaints. The description's phrase 'by its id (GUID)' merely restates that, adding no syntax or semantic detail. Baseline 3 applies when the schema does the heavy lifting.
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 identifies the resource (a single complaint) and its key (GUID), which cleanly separates it from safefood360_list_complaints. The verb is only implied by the title ('Get') rather than a full verb+resource phrase, and the raw endpoint adds noise rather than clarity, but an agent can still tell what this does.
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 statement of when to use this versus safefood360_list_complaints or the other get_* siblings. The only hint about obtaining the id lives in the schema ('e.g. from safefood360_list_complaints'), not in the description. Usage is implied by the name alone.
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.