Skip to main content
Glama

x402 Toolbox

Recover the signer of an EIP-191 personal_sign message and check it against an address

evm_verify_message
Read-onlyIdempotent

Recover the signer of an EIP-191 personal_sign message and check it against an address. Computes the EIP-191 message hash and recovers the signing address from a 65-byte signature (v = 27/28 or 0/1), optionally comparing it with an expected address. Works for Sign-In-With-Ethereum messages and wallet login challenges. Contract (EIP-1271) wallets are not checked. Price: $0.003 USDC per call via x402 (eip155:8453).

Input Schema

NameRequiredDescriptionDefault
addressNo
messageYes
signatureYes
messageEncodingNoutf8

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and open-world behavior, and the description adds real context not in them: the 65-byte signature format with v = 27/28 or 0/1, and the x402 price of $0.003 USDC per call. It also disclaims EIP-1271 coverage. It leaves the return shape unstated, which is the main remaining gap.

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?

Front-loaded with the core action, then signature format, then applicability, then pricing. Each sentence adds information, though the opening clause repeats the title nearly verbatim.

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

Completeness3/5

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

No output schema exists, so the description should say what comes back (recovered address, match boolean, or error on invalid signature). It implies the recovery but never describes the return value, and it omits messageEncoding entirely, leaving two meaningful gaps for a paid tool.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It explains message, signature (65-byte, v value conventions), and the optional expected-address comparison, but never mentions messageEncoding (utf8 vs hex), which is an enum parameter an agent could easily mis-set.

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?

Uses a precise verb+resource: recompute an EIP-191 hash and ecrecover the signer, optionally comparing against an expected address. That is clearly distinct from siblings like evm_address or evm_tx, which do not handle signature recovery.

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

Usage Guidelines4/5

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

'Works for Sign-In-With-Ethereum messages and wallet login challenges' gives the positive use case, and 'Contract (EIP-1271) wallets are not checked' gives an explicit exclusion. No sibling alternative is named for the EIP-1271 case, which keeps it below a 5.

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.