Skip to main content
Glama

Toll

Pre-sign risk report

presign_risk_report
Read-only

Agent Pre-Sign Risk Report (ERC draft, ethereum/ERCs PR #2134): send a PresignRequest {version: "erc-presign/1", subject: {type: "calls", chainId: "eip155:4663", from: "eip155:4663:0x...", calls: [{to, value, data}], typedData?}, context?: {payment?, texts?, tokens?}} and get a PresignReport: typed facts about the unsigned request on Robinhood Chain, each read or not read at one pinned block (approval amount, unlimited, share of supply, expiry, current allowance; address code; issuer listing of stock tokens; ERC-8470 launch observations; ERC-8478 payee binding; control characters, mixed scripts and addresses in text), bound to the request by digest and EIP-712 signed by Toll (ERC-8004 agent #20030). No verdict: apply your own policy, and treat not read as unknown, never as clean. For an ALLOW / WARN / BLOCK answer use check_tx (which carries this report too).

Input Schema

NameRequiredDescriptionDefault
kindsNoOptional: only these finding kinds
contextNoOptional: {payment: {requirements (the x402 accepts entry chosen), resource?, payee?: {registry, agentId}}, texts: [{field, ref?, text}], tokens: [CAIP-10]}
subjectYes{type: "calls", chainId: "eip155:4663", from: "eip155:4663:0x<signer>", calls: [{to, value (wei, decimal string), data}], typedData?}
versionYesAlways "erc-presign/1"

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare read-only/open-world/non-destructive; the description adds substantial context beyond them — that every finding is read at one pinned block, that the report is bound by digest and EIP-712 signed by a named ERC-8004 agent, and that the tool deliberately returns no verdict. This explains the non-idempotent hint (state-dependent reads) as well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first clause and the routing guidance is placed at the end where it matters. The middle is dense jargon in one long sentence, and the parenthetical finding list is lengthy, though each item is informative rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and the tool takes nested objects, yet the description compensates fully by enumerating the report's finding categories and their interpretation caveats. An agent could call this correctly and reason over the response without further documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds real meaning: it lays out the PresignRequest shape (version, subject with calls/typedData, optional context with payment/texts/tokens) and enumerates which facts each read yields. The optional top-level 'kinds' filter is left to the schema, keeping it below a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource pair (send a PresignRequest, get a PresignReport) and enumerates exactly what the report contains. It explicitly distinguishes itself from the sibling check_tx, which returns a verdict rather than raw facts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when: use this when you want typed facts and will apply your own policy. Gives an explicit when-not plus the alternative: 'For an ALLOW / WARN / BLOCK answer use check_tx (which carries this report too).' It also warns how to interpret missing findings ('treat not read as unknown, never as clean').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.