allowance_risk_check
$0.15 per successful call, prepaid. Live ERC-20 allowance, owner balance and spender-code check at one block; flags effectively unlimited approvals.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
$0.15 per successful call, prepaid. Live ERC-20 allowance, owner balance and spender-code check at one block; flags effectively unlimited approvals.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark it non-read-only, open-world, non-idempotent, non-destructive, so the safety profile is partly covered; the description adds genuinely non-structured behavior: $0.15 per successful call, prepaid, and that the read is a single-block snapshot. It omits auth/prepayment mechanics and latency, but the value-add over annotations is real. Note the mild tension between a 'check' operation and readOnlyHint=false, explained by the prepaid billing rather than by any description claim.
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 tight sentences with zero filler, price and prepaid condition front-loaded, and the operational scope immediately after. Nothing is redundant.
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?
With no output schema, the description should describe what actually comes back; it only implies a flag for unlimited approvals and does not say whether the raw allowance values, owner balance and spender-code status are returned together. Required inputs and supported chains are otherwise inferable, so the tool is callable but underspecified on results.
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% at the top level, so the description must carry some weight; it implicitly names the three entity roles (token, owner, spender) and the allowance being inspected. It adds nothing about the chain selector's enum values or address formats, and never references the 'request' wrapper, so compensation is only partial.
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 concrete verb+resource: reads live ERC-20 allowance, owner balance and spender-code at a single block, and flags effectively unlimited approvals. An agent knows exactly what the call returns conceptually. It does not differentiate itself from siblings (tx_preflight, x402_health_check), so it falls short of a 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?
There is no statement of when to use this versus tx_preflight or claim_worth_it, no prerequisites, and no exclusions. The only routing signal is the pricing line, which implies deliberate, cost-aware use but never says so. Usage is left entirely to inference.
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.