
Ethereum & EVM Message Signing
io.github.nirholasPublished by GitHub account nirholasv1.0.0Updated Oct 25, 2026
Sign Ethereum messages - EIP-191, EIP-712 typed data, Permit2, signature verification and recovery
Overview
A local MCP server that lets an assistant sign, verify and recover Ethereum messages and EIP-712 typed data, plus work with signature components.
- What you can do
- Sign EIP-191 text messages and hex-encoded bytes, then verify or recover the signer address from a signature. Sign EIP-712 typed structured data, verify and recover its signer, and compute the typed-data hash without signing. Break signatures into v, r, s components, compose them back, and normalize between 27/28 and 0/1 v formats. Sign a raw 32-byte hash, which requires explicit risk acknowledgement. Read bundled references on EIP-191, EIP-712, signature formats and common typed-data templates such as Permit, Permit2, Order and Delegation.
- When to use it
- Useful when developing or testing Ethereum signing flows: producing test signatures, checking whether a signature matches an expected address, debugging EIP-712 structures, or preparing ERC-20 permit and Permit2 payloads.
- Requirements
- Runs as a local process on the user's machine, installed from PyPI as signing-mcp-server (pip install) and started with the signing-mcp-server command; the manifest also lists uvx as the runner. Desktop client configuration is needed. No accounts, API keys or environment variables are declared. Signing tools take a private key as a tool input.
Installation
In SourceWeft
- Open Ethereum & EVM Message Signing in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Signing MCP Server
An MCP (Model Context Protocol) server providing comprehensive Ethereum message signing capabilities including EIP-191 personal_sign and EIP-712 typed structured data.
Features
Tools (12 total)
EIP-191 Message Signing
- sign_message - Sign a text message using EIP-191 personal_sign format
- sign_message_hex - Sign hex-encoded bytes using EIP-191 format
- verify_message - Verify an EIP-191 signed message
- recover_signer - Recover signer address from a signed message
EIP-712 Typed Data
- sign_typed_data - Sign EIP-712 typed structured data
- verify_typed_data - Verify an EIP-712 typed data signature
- recover_typed_data_signer - Recover signer from typed data signature
- hash_typed_data - Compute EIP-712 hash without signing
Signature Utilities
- decompose_signature - Break down signature into v, r, s components
- compose_signature - Compose signature from v, r, s components
- normalize_signature - Convert between signature formats (27/28 vs 0/1 for v)
Advanced Operations
- sign_hash - Sign a raw 32-byte hash (requires acknowledgement)
Resources (4 total)
- eip191-specification - Complete EIP-191 signed data standard
- eip712-specification - Complete EIP-712 typed data standard
- signature-formats - Documentation on Ethereum signature formats
- common-typed-data - Templates for common EIP-712 structures
Prompts (4 total)
- sign_message_workflow - Guide through message signing process
- typed_data_workflow - Guide through EIP-712 typed data signing
- signature_verification - Help verify and debug signatures
- permit_signing - Specialized workflow for ERC-20 permits
Installation
Or install from source:
Usage
Run the server
Configure in Claude Desktop
Add to your claude_desktop_config.json:
Tool Examples
Sign a Message (EIP-191)
Sign Typed Data (EIP-712)
Verify a Signature
Security Notes
- Private keys are NEVER logged or persisted
- sign_hash requires explicit risk acknowledgement - signing raw hashes can be dangerous
- All operations use eth-account's secure implementations
- For educational and development purposes only
EIP-712 Templates
The server includes templates for common typed data structures:
- Permit - ERC-20 token permits (EIP-2612)
- Permit2 - Uniswap's universal permit system
- Order - DEX limit orders
- Delegation - Voting power delegation
- Mail - EIP-712 specification example
License
MIT
Source: signing-mcp-server/README.md at commit dabb599
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.