About Ethereum Wallet Generator
Ethereum Wallet MCP Server is an MCP server for generating Ethereum wallets and working with HD wallets, including BIP39 mnemonics, derivation paths and vanity addresses. It is aimed at developers who want an AI assistant to create or restore wallets. The README states that keys are kept only in memory and warns against sharing secrets.
Key features
- 01Random wallets and BIP39 mnemonic wallets
- 02Wallet restore from mnemonic or private key
- 03Batch HD account derivation up to 100 accounts
- 04Vanity address search by prefix or suffix
- 05BIP39 documentation and wordlist resources
Use cases
- 01Generating Ethereum wallets for development or testing
- 02Deriving several accounts from one mnemonic
- 03Learning how BIP39 and HD derivation paths work
MCP support
This is an MCP server that exposes wallet tools such as generate_wallet, derive_multiple_accounts and generate_vanity_address, along with prompts and documentation resources. The README includes a Claude Desktop configuration example.
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 READMEEthereum Wallet MCP Server
A Model Context Protocol (MCP) server providing Ethereum wallet generation and HD wallet functionality. This server enables AI assistants like Claude to securely generate Ethereum wallets, work with BIP39 mnemonics, and derive multiple accounts from a single seed phrase.
Features
Tools
generate_wallet- Generate a new random Ethereum walletgenerate_wallet_with_mnemonic- Generate a wallet with BIP39 seed phraserestore_wallet_from_mnemonic- Restore wallet from existing mnemonicrestore_wallet_from_private_key- Restore wallet from private keyderive_multiple_accounts- Derive multiple HD wallet accountsgenerate_vanity_address- Generate address matching a pattern
Prompts
create_secure_wallet- Guided secure wallet creationbackup_wallet_guide- Wallet backup instructionsrecover_wallet_help- Wallet recovery assistance
Resources
wallet://documentation/bip39- BIP39 standard documentationwallet://documentation/derivation-paths- HD derivation path docswallet://wordlist/{language}- BIP39 wordlists by language
Installation
# Install from source
pip install -e .
# Or with dev dependencies
pip install -e ".[dev]"
Usage
Running the Server
# Run directly
ethereum-wallet-mcp
# Or via Python
python -m ethereum_wallet_mcp.server
Claude Desktop Configuration
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"ethereum-wallet": {
"command": "ethereum-wallet-mcp"
}
}
}
Example Interactions
User: "Generate a new Ethereum wallet for me"
→ Returns: address, private_key, public_key
User: "Create a wallet with a 24-word seed phrase"
→ Returns: address, private_key, mnemonic (24 words), derivation_path
User: "Restore my wallet from this seed: abandon abandon abandon..."
→ Returns: restored wallet details
User: "Derive 10 accounts from my seed phrase"
→ Returns: list of 10 accounts with addresses and keys
User: "Generate a vanity address starting with 'cafe'"
→ Returns: matching address with generation stats
Security Considerations
⚠️ IMPORTANT SECURITY WARNINGS:
- Never share private keys or mnemonic phrases - These give full access to funds
- This server does not persist sensitive data - Keys exist only in memory during operation
- Use hardware wallets for real funds - Software wallets are inherently less secure
- Vanity addresses carry risks - Never use for high-value storage
- Verify addresses independently - Always double-check derived addresses
Development
Running Tests
pytest tests/ -v
Code Formatting
black src/ tests/
isort src/ tests/
Type Checking
mypy src/
API Reference
Tool: generate_wallet
Generate a new random Ethereum wallet with no mnemonic.
Parameters: None
Returns:
address(str): Checksummed Ethereum addressprivate_key(str): Hex-encoded private key (0x prefixed)public_key(str): Hex-encoded public key
Tool: generate_wallet_with_mnemonic
Generate a new wallet with BIP39 mnemonic seed phrase.
Parameters:
word_count(int, optional): 12, 15, 18, 21, or 24. Default: 12language(str, optional): Mnemonic language. Default: "english"passphrase(str, optional): BIP39 passphrase. Default: ""derivation_path(str, optional): HD path. Default: "m/44'/60'/0'/0/0"
Returns:
address,private_key,public_keymnemonic(str): Space-separated seed wordsderivation_path(str): Path usedpassphrase_used(bool): Whether passphrase was applied
Tool: restore_wallet_from_mnemonic
Restore a wallet from an existing BIP39 mnemonic.
Parameters:
mnemonic(str, required): Space-separated mnemonic phrasepassphrase(str, optional): BIP39 passphrase. Default: ""derivation_path(str, optional): HD path. Default: "m/44'/60'/0'/0/0"
Returns: Same as generate_wallet_with_mnemonic (without mnemonic field)
Tool: restore_wallet_from_private_key
Restore a wallet from a private key.
Parameters:
private_key(str, required): Hex private key (with or without 0x prefix)
Returns:
address,private_key(normalized),public_key
Tool: derive_multiple_accounts
Derive multiple accounts from a single mnemonic.
Parameters:
mnemonic(str, required): BIP39 mnemoniccount(int, optional): Number of accounts (1-100). Default: 5start_index(int, optional): Starting index. Default: 0passphrase(str, optional): BIP39 passphrase. Default: ""base_path(str, optional): Base HD path. Default: "m/44'/60'/0'/0"
Returns:
accounts(list): List of {index, derivation_path, address, private_key, public_key}total_derived(int): Number of accounts derivedbase_path(str): Base path used
Tool: generate_vanity_address
Generate an address matching a vanity pattern.
Parameters:
prefix(str, optional): Desired prefix after 0x (hex chars)suffix(str, optional): Desired suffix (hex chars)case_sensitive(bool, optional): Match case exactly. Default: falsetimeout_seconds(int, optional): Max search time. Default: 60
Returns:
address,private_key,public_keypattern_matched(str): Matched patternattempts(int): Addresses triedtime_seconds(float): Time takendifficulty(int): Estimated 1-in-N difficulty
License
MIT License
Contributing
Contributions welcome! Please read the contributing guidelines and submit pull requests.
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.