MCP Crypto Wallet EVM
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides tools for Ethereum blockchain operations including wallet creation, balance checking, and transaction sending via the Ethereum Virtual Machine
Leverages ethers.js v5 to enable wallet management, blockchain interactions, and smart contract operations on EVM-compatible networks
Runs as a Node.js application to provide blockchain access capabilities
MCP Crypto Wallet EVM
This repository contains a Model Context Protocol (MCP) server that provides Claude with access to Ethereum and EVM-compatible blockchain operations via ethers.js v5. The server enables Claude to perform operations like creating wallets, checking balances, sending transactions, and interacting with smart contracts on EVM-compatible blockchains.
Overview
The MCP server exposes the following tools to Claude:
Wallet Creation and Management
wallet_create_random
: Create a new wallet with a random private keywallet_from_private_key
: Create a wallet from a private keywallet_from_mnemonic
: Create a wallet from a mnemonic phrasewallet_from_encrypted_json
: Create a wallet by decrypting an encrypted JSON walletwallet_encrypt
: Encrypt a wallet with a password
Wallet Properties
wallet_get_address
: Get the wallet addresswallet_get_public_key
: Get the wallet public keywallet_get_private_key
: Get the wallet private key (with appropriate security warnings)wallet_get_mnemonic
: Get the wallet mnemonic phrase (if available)
Blockchain Methods
wallet_get_balance
: Get the balance of the walletwallet_get_chain_id
: Get the chain ID the wallet is connected towallet_get_gas_price
: Get the current gas pricewallet_get_transaction_count
: Get the number of transactions sent from this account (nonce)wallet_call
: Call a contract method without sending a transaction
Transaction Methods
wallet_send_transaction
: Send a transactionwallet_sign_transaction
: Sign a transaction without sending itwallet_populate_transaction
: Populate a transaction with missing fields
Signing Methods
wallet_sign_message
: Sign a messagewallet_sign_typed_data
: Sign typed data (EIP-712)wallet_verify_message
: Verify a signed messagewallet_verify_typed_data
: Verify signed typed data
Provider Methods
provider_get_block
: Get a block by number or hashprovider_get_transaction
: Get a transaction by hashprovider_get_transaction_receipt
: Get a transaction receiptprovider_get_code
: Get the code at an addressprovider_get_storage_at
: Get the storage at a position for an addressprovider_estimate_gas
: Estimate the gas required for a transactionprovider_get_logs
: Get logs that match a filterprovider_get_ens_resolver
: Get the ENS resolver for a nameprovider_lookup_address
: Lookup the ENS name for an addressprovider_resolve_name
: Resolve an ENS name to an address
Network Methods
network_get_network
: Get the current network informationnetwork_get_block_number
: Get the current block numbernetwork_get_fee_data
: Get the current fee data (base fee, max priority fee, etc.)
Prerequisites
- Node.js (v16 or higher)
- Claude Desktop application
Installation
Option 1: Using npx (Recommended)
You can run the MCP server directly without installation using npx:
This will download and execute the server directly from npm.
Option 2: Manual Installation
- Clone this repository:Copy
- Install dependencies:Copy
- Build the project:Copy
Configuration
Environment Variables
The MCP server supports the following environment variables:
PRIVATE_KEY
: Optional private key to use for wallet operations when no wallet is explicitly provided
Configure Claude Desktop
To configure Claude Desktop to use this MCP server:
- Open Claude Desktop
- Navigate to the Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
- Add the MCP server configuration:
Alternatively, if you installed the package locally:
Running Locally
Usage
Once configured, restart Claude Desktop. Claude will now have access to the Ethereum and EVM-compatible blockchain tools. You can ask Claude to:
- Create a new wallet:Copy
- Check a wallet balance:Copy
- Send a transaction:Copy
Claude will use the MCP server to interact with the Ethereum blockchain directly.
Development
Adding New Tools
To add new tools to the MCP server:
- Define the tool in
src/tools.ts
- Create a handler function in the appropriate handler file
- Add the handler to the
handlers
object insrc/tools.ts
Building
License
MIT
You must be authenticated.
Provides Claude with access to Ethereum and EVM-compatible blockchain operations, enabling wallet management, transaction handling, contract interactions, and blockchain queries through natural language.