
Ethereum Keystore Encryption
io.github.nirholasPublished by GitHub account nirholasv1.0.0Updated Oct 24, 2026
Encrypt/decrypt Ethereum keystore JSON V3 with scrypt/PBKDF2 for secure cold storage
Overview
Local MCP server for encrypting, decrypting and managing Ethereum keystore JSON V3 files with scrypt or PBKDF2.
- What you can do
- Encrypt a private key into Web3 Secret Storage V3 format, or decrypt a keystore to recover the private key
- Save and load keystore files using standard Ethereum naming, and export a decrypted private key to a file
- Inspect keystore metadata without decrypting, and validate keystore structure
- Change a keystore password, optionally upgrading the key derivation function, and batch-encrypt multiple wallets
- Read bundled resources on the V3 specification, security practices, KDF comparison and examples, and follow guided prompts for backup, migration, recovery and security audit
- When to use it
- Useful when you want an assistant to create or inspect Ethereum keystore V3 backups, rotate keystore passwords, or migrate legacy wallet formats, especially for offline or cold-storage workflows.
- Requirements
- Runs as a local process on the user's machine, installed from PyPI as keystore-mcp-server and started with uvx or the keystore-mcp-server command; a Python environment is needed. No accounts, API keys or environment variables are declared. Desktop client only.
Installation
In SourceWeft
- Open Ethereum Keystore Encryption 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
Keystore 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
Usage
Running the Server
Claude Desktop Configuration
Cryptographic Standards
Web3 Secret Storage V3
- KDF: scrypt (recommended) or pbkdf2
- Cipher: AES-128-CTR
- MAC: Keccak-256
- UUID: Version 4
Default Scrypt Parameters
Default PBKDF2 Parameters
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
Decrypt a Keystore
Save Keystore File
Testing
License
MIT License
Source: keystore-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.