About Ethereum Keystore Encryption
Keystore MCP Server is an MCP server for encrypting and decrypting Ethereum keystore files under the Web3 Secret Storage V3 standard. It targets users who keep wallet keys in cold storage and provides tools for file handling and password changes.
Key features
- 01Follows Web3 Secret Storage V3 format
- 02Supports scrypt and PBKDF2 key derivation
- 03Provides 9 tools and 4 resources
- 04Includes 4 prompt workflows
- 05Saves keystore files with 0600 permissions
Use cases
- 01Create encrypted keystore files for cold storage wallets
- 02Batch encrypt keys for multiple wallets
- 03Audit or migrate existing keystore files
MCP support
This project is an MCP server that exposes keystore-related tools, resources and prompts to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEKeystore MCP Server
A Model Context Protocol (MCP) server for Ethereum keystore encryption, decryption, and management following the Web3 Secret Storage Definition Version 3 standard.
Features
Tools (9)
encrypt_keystore- Encrypt private key to Web3 Secret Storage V3 formatdecrypt_keystore- Decrypt keystore to recover private keysave_keystore_file- Save keystore with standard Ethereum namingload_keystore_file- Load and validate keystore filesget_keystore_info- Extract metadata without decryptionvalidate_keystore- Validate keystore structurechange_keystore_password- Change password and optionally upgrade KDFbatch_encrypt_keystores- Encrypt multiple walletskeystore_to_private_key_file- Export decrypted private key (dangerous)
Resources (4)
keystore://specification- Web3 Secret Storage V3 specificationkeystore://security-guide- Security best practiceskeystore://kdf-comparison- Scrypt vs PBKDF2 comparisonkeystore://examples/{type}- Example keystores
Prompts (4)
secure_wallet_backup- Guided backup creationkeystore_migration- Migration from legacy formatskeystore_recovery- Recovery assistancekeystore_security_audit- Security audit workflow
Installation
pip install -e .
# Or with dev dependencies
pip install -e ".[dev]"
Usage
Running the Server
keystore-mcp-server
Claude Desktop Configuration
{
"mcpServers": {
"keystore": {
"command": "keystore-mcp-server"
}
}
}
Cryptographic Standards
Web3 Secret Storage V3
- KDF: scrypt (recommended) or pbkdf2
- Cipher: AES-128-CTR
- MAC: Keccak-256
- UUID: Version 4
Default Scrypt Parameters
| Parameter | Value | Description |
|---|---|---|
| N | 262144 (2^18) | CPU/memory cost |
| r | 8 | Block size |
| p | 1 | Parallelization |
| dklen | 32 | Derived key length |
Default PBKDF2 Parameters
| Parameter | Value | Description |
|---|---|---|
| c | 262144 | Iterations |
| prf | hmac-sha256 | PRF |
| dklen | 32 | Derived key length |
Security
⚠️ Important Security Notes:
- Never share keystore passwords - Treat like private keys
- Use strong passwords - Minimum 12 characters, mixed case, numbers, symbols
- Secure file storage - Files created with 0600 permissions
- Air-gapped operations - Use offline for high-value wallets
- Backup keystores - Store encrypted backups in multiple locations
Examples
Encrypt a Private Key
result = await encrypt_keystore(
private_key="0x...",
password="strong-password-123",
kdf="scrypt"
)
Decrypt a Keystore
result = await decrypt_keystore(
keystore=keystore_json,
password="strong-password-123"
)
Save Keystore File
result = await save_keystore_file(
keystore=keystore_json,
directory="./keystores"
)
# Creates: UTC--2024-01-15T10-30-00.000Z--address.json
Testing
pytest tests/ -v
License
MIT License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.