Get material
safefood360_get_materialOne material by its external id. GET /v1/materials/{externalId}?siteId=.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| external_id | Yes | Material external id. |
safefood360_get_materialOne material by its external id. GET /v1/materials/{externalId}?siteId=.
| Name | Required | Description | Default |
|---|---|---|---|
| external_id | Yes | Material external id. |
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 destructiveHint=false, so safety is covered. The description adds only the underlying endpoint (GET /v1/materials/{externalId}) and nothing about not-found behavior, permissions, or response shape, so the added value is modest.
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 compact and front-loaded — the resource and key come first, with no filler. The dangling '?siteId=.' fragment is the one piece that costs it a point on structure.
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 simple one-parameter read with annotations covering safety and no output schema, the essentials are present. However, the stray siteId reference and the absence of any not-found or return-content behavior leave a small but real gap.
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% for the single parameter, so the schema already documents external_id and the description merely restates it as 'external id'. The trailing '?siteId=' references a parameter that does not exist in the input schema, which adds ambiguity rather than meaning.
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 (retrieve one material) plus the lookup key (external id), which implicitly separates it from the sibling list_materials. It stops short of naming the list/search alternative for sibling differentiation, keeping it at 4 rather than 5.
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?
Usage is only implied: an agent can infer this is the single-record lookup versus safefood360_list_materials for browsing, but the description never says so explicitly and gives no prerequisites or when-not-to-use guidance.
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.