buy_ingredient
Buy Apothecary ingredients (quantity 1-1000). Counts toward your daily caps. Requires a UUID requestId.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| quantity | No | ||
| requestId | Yes | ||
| ingredientId | Yes |
Buy Apothecary ingredients (quantity 1-1000). Counts toward your daily caps. Requires a UUID requestId.
| Name | Required | Description | Default |
|---|---|---|---|
| quantity | No | ||
| requestId | Yes | ||
| ingredientId | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but does disclose two real behaviors: quantity is bounded to 1-1000 and purchases count toward daily caps. It omits cost/currency, whether the purchase is reversible, error behavior when caps are exhausted, and what requestId actually guarantees (presumably idempotency).
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?
Three short sentences, front-loaded with the action, then constraints. No wasted words, though it's terse enough that it leaves gaps rather than being over-long.
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 mutation tool with no annotations, no output schema, and 0% parameter documentation, the description is thin: it leaves ingredientId undefined, requestId's purpose unstated, and says nothing about what the call returns or costs. An agent would need to guess at idempotency and catalog lookup behavior.
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 0%, so the description must compensate. It does clarify the quantity range (mirroring the schema bounds) and that requestId must be a UUID, but it says nothing about ingredientId's source/format and doesn't explain why requestId exists (idempotency/dedup).
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: buy Apothecary ingredients. The 'Apothecary ingredients' resource narrows it against the generic sibling 'buy', but the description never names that sibling or explains the distinction explicitly.
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 when-to-use guidance beyond the resource name; it doesn't say to call ingredient_catalog first to obtain an ingredientId, nor how this differs from 'buy' or 'locker_buy'. The daily-cap mention is a constraint, not a selection guideline.
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.