spend_check
Hard cap + allowlist; cannot override. Fail closed. Needs a write key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| action | Yes | ||
| amount_usd | Yes |
Hard cap + allowlist; cannot override. Fail closed. Needs a write key.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| action | Yes | ||
| amount_usd | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite having no annotations, the description discloses substantive behavior: the check cannot be overridden, fails closed, and requires a write key. These are important safety and authorization traits beyond what the name alone conveys. It does not describe return behavior or side effects, but the disclosed traits are meaningful.
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?
The description is very short and information-dense, with no filler or redundant phrases. It front-loads the most critical behavioral constraints. However, the brevity contributes to the lack of definitional clarity.
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 tool with three required parameters, no annotations, and no output schema, this description is far too incomplete. It does not explain what the tool returns, how it makes decisions, what action values are valid, or how the hard cap/allowlist is applied. An agent cannot reliably construct a correct invocation from this description alone.
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%, and the description does not mention url, amount_usd, or action at all. It provides no clarification on value formats, allowed actions, or how parameters relate to the hard cap and allowlist. An agent cannot infer parameter semantics from this description.
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 lists constraints (hard cap, allowlist, cannot override, fail closed, write key) but never states an explicit verb and resource, such as 'Checks whether a spend is allowed.' The tool name implies spend checking, but the purpose remains inferred rather than stated. It hints at distinctiveness from siblings through hard cap/allowlist but does not clearly differentiate itself.
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 guidance is given on when to use spend_check versus alternatives like request_approve or decide_approve. The constraints imply some spend-enforcement context, but there is no explicit context, prerequisite scenario, or exclusion. An agent must guess selection criteria.
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.