Gives Claude direct access to elliptic curve cryptography operations without needing external libraries or services. You get key generation across multiple curves (NIST P-series, SECP256k1, Ed25519), signing and verification with configurable hash functions, and flexible import/export in PEM, DER, base64, and SSH formats. The sign_data and verify_signature tools handle hashing automatically, while sign_digest and verify_digest_signature let you work with pre-hashed data. Includes public key recovery from signatures, which is handy for blockchain work. Reach for this when you need Claude to handle cryptographic operations in conversations, like generating keys for demos, signing API payloads, or verifying external signatures without leaving the chat context.
MCP server for ECDSA cryptography
mcp-name: io.github.daedalus/mcp-ecdsa
pip install mcp-ecdsa
Configure in your MCP client:
{
"mcpServers": {
"mcp-ecdsa": {
"command": "mcp-ecdsa"
}
}
}
from mcp_ecdsa import generate_key, sign_data, verify_signature
# Generate key pair
result = await generate_key({"curve": "NIST256p"})
data = json.loads(result[0].text)
# Sign data
sign_result = await sign_data({
"private_key": data["private_key"],
"data": "Hello, World!"
})
# Verify signature
verify_result = await verify_signature({
"public_key": data["public_key"],
"signature": json.loads(sign_result[0].text)["signature"],
"data": "Hello, World!"
})
| Tool | Description |
|---|---|
generate_key | Generate ECDSA key pair |
sign_data | Sign data (with hashing) |
sign_digest | Sign pre-hashed digest |
verify_signature | Verify signature over data |
verify_digest_signature | Verify signature over digest |
import_private_key | Import from PEM/DER/base64 |
import_public_key | Import from PEM/DER/base64 |
export_private_key | Export to PEM/DER/base64/SSH |
export_public_key | Export to PEM/DER/base64/SSH |
get_key_info | Get key information |
recover_public_key | Recover public keys from signature |
git clone https://github.com/daedalus/mcp-ecdsa.git
cd mcp-ecdsa
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/