Skip to main content

Signing MCP Server

PyPI MCP Registry

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

pip install signing-mcp-server

Or install from source:

cd signing-mcp-server
pip install -e .

Usage

Run the server

signing-mcp-server

Configure in Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "signing": {
      "command": "signing-mcp-server"
    }
  }
}

Tool Examples

Sign a Message (EIP-191)

# Input
{
    "message": "Hello, Ethereum!",
    "private_key": "0x..."
}

# Output
{
    "message": "Hello, Ethereum!",
    "signer": "0xABC123...",
    "signature": "0x...",
    "v": 28,
    "r": "0x...",
    "s": "0x...",
    "message_hash": "0x..."
}

Sign Typed Data (EIP-712)

# Input
{
    "typed_data": {
        "types": {...},
        "primaryType": "Permit",
        "domain": {...},
        "message": {...}
    },
    "private_key": "0x..."
}

# Output
{
    "signer": "0xABC123...",
    "signature": "0x...",
    "domain_separator": "0x...",
    "struct_hash": "0x...",
    "signing_hash": "0x..."
}

Verify a Signature

# Input
{
    "message": "Hello, Ethereum!",
    "signature": "0x...",
    "expected_address": "0xABC123..."
}

# Output
{
    "is_valid": true,
    "recovered_address": "0xABC123...",
    "expected_address": "0xABC123...",
    "match": true
}

Security Notes

  1. Private keys are NEVER logged or persisted
  2. sign_hash requires explicit risk acknowledgement - signing raw hashes can be dangerous
  3. All operations use eth-account's secure implementations
  4. 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

Metadata

Release files for signing-mcp-server 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for signing-mcp-server 1.0.0
File Size Uploaded
signing_mcp_server-1.0.0.tar.gz 118.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for signing-mcp-server 1.0.0
File Interpreter ABI Platform
signing_mcp_server-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 149.2 kB

Release files / signing_mcp_server-1.0.0.tar.gz

Download URL signing_mcp_server-1.0.0.tar.gz
Size 118.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a72d389b9324c10354df161b3698d76468bb20b86c63984992daf33fb53fb16a
BLAKE2b-256 checksum
How to use checksums
f0342a50cbb555519f525cc0d621d69346aef0d6eade2d827e4cfe410931df3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release files / signing_mcp_server-1.0.0-py3-none-any.whl

Download URL signing_mcp_server-1.0.0-py3-none-any.whl
Size 30.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c0754f6a770b4ce76b95fcda5525eeb00d820da7cc34cb750e91ab69892ab5a
BLAKE2b-256 checksum
How to use checksums
5841cf455e6bd3f24ea9ee366f2ab905b79d648e8e4c48f429e6f1263e2d56ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page