mcp-eth-key-utility
A foundational Model Context Protocol (MCP) service designed for robust management of Ethereum private credentials and secure orchestration of smart contract deployments across EVM-compatible decentralized ledgers. Facilitates core operations such as transaction notarization, on-chain data retrieval, and asset balance introspection.
Author

zhangzhongnan928
Quick Info
Actions
Tags
MCP EVM Key Utility
This Model Context Protocol (MCP) engine furnishes capabilities for safeguarding Ethereum private credentials and executing smart contract rollouts, leveraging services like Infura for external connectivity. It empowers Claude for Desktop and other conforming MCP consumers to interface effectively with any EVM-compatible virtual machine environment.

Core Capabilities
- 🔑 Secure, localized persistence and stewardship of Ethereum private signing materials
- 🔌 Establishment of reliable connections to Infura for network interactions
- 📝 Provisioning of smart contracts from pre-compiled Application Binary Interfaces (ABIs) and generated bytecode
- ✍️ Digital signing and transmission of blockchain transactions
- 💰 Retrieval of native asset balances and historical transaction logs
- 🔍 Querying ledger states and direct invocation of established contract methods
Rapid Deployment Guide
Prerequisites
- Node.js environment, version 16 or greater is mandatory
- An active Infura subscription key
- The Claude for Desktop application must be installed
Setup Procedure
-
Obtain a local copy of the source repository: bash git clone https://github.com/zhangzhongnan928/mcp-evm-signer.git cd mcp-evm-signer
-
Install requisite software dependencies: bash npm install
-
Compile the project assets: bash npm run build
-
Initialize configuration parameters: bash cp .env.example .env
Modify the newly created .env file to input your Infura credential and tune network parameters.
Integration with Claude Desktop Environment
- Incorporate this operational server into your Claude configuration manifest:
{ "mcpServers": { "evm-signer": { "command": "node", "args": ["/path/to/mcp-evm-signer/build/index.js"], "env": { "INFURA_API_KEY": "your_infura_api_key_here", "DEFAULT_NETWORK": "sepolia", "ENCRYPT_KEYS": "true", "KEY_PASSWORD": "your_secure_password_here" } } } }
-
Restart the Claude for Desktop application to load the new configuration.
-
You are now authorized to instruct Claude to handle contract deployment, query ledger balances, or generally interact with EVM chains.
Exposed Toolset
The EVM Key Utility MCP service furnishes the following interfaces for Claude's consumption:
Credential Vault Operations
create-wallet: Generates a novel Ethereum key pairimport-wallet: Ingests an existing wallet using its private key materiallist-wallets: Enumerates all securely stored wallet identities
Ledger State Functions
check-balance: Retrieves the current ETH value associated with a given addressget-transactions: Fetches a record of recent transactions for a specific addresssend-transaction: Transmits an ETH transfer to a designated recipient
Smart Contract Interaction
deploy-contract: Orchestrates the placement of a smart contract onto the chain using provided ABI and bytecodecall-contract: Executes a non-mutating (read-only) function on a deployed contractexecute-contract: Invokes a contract function designed to alter the chain's state
Illustrative Usage Scenarios
Wallet Initialization
Instruct Claude with the following directive:
Please utilize the evm-signer toolset to provision a fresh Ethereum credential set for my use.
Balance Verification
You can query Claude like this:
Could you fetch the current ETH holdings for address 0x1234...5678 on the Sepolia test network?
Deploying an ERC-20 Standard Token
Refer to our comprehensive guide located at [examples/erc20-token.md] for a full step-by-step methodology covering token deployment and subsequent contract interfacing.
Security Considerations
- Private signing materials reside solely on the local execution environment.
- Optional password-based encryption can be applied to stored keys.
- Functionality is strictly confined to the boundaries of the established MCP communication protocol.
- Always mandate human verification of transaction data within the Claude for Desktop interface prior to final commitment.
- Adoption of non-production environments (e.g., Sepolia, Goerli) is strongly advised for initial setup and testing.
Comprehensive Reference Materials
For deeper instructional content, consult the following documentation artifacts:
- Usage Guide: Exhaustive operational guidelines and practical examples
- Examples: Repository of sample workflows and contract deployment templates
Project Artifact Structure
mcp-evm-signer/ ├── src/ # Core source code modules │ ├── config.ts # Logic for parameter management │ ├── crypto.ts # Utility functions for credential handling │ ├── ethereum.ts # Functions dedicated to EVM communication │ └── index.ts # Primary entry point for the MCP server ├── keys/ # Directory for credential storage (ignored by Git) ├── examples/ # Demonstrative usage patterns ├── .env.example # Template for environment variable definitions └── ... # Various project boilerplate and configuration files
Contribution Guidelines
To facilitate enhancements to this project:
- Create a fork of the repository
- Establish a dedicated feature branch (
git checkout -b feature/new-enhancement) - Implement and integrate your modifications
- Commit the changes with a descriptive message (
git commit -m 'Implement feature X for improved performance') - Push the new branch to your remote origin (
git push origin feature/new-enhancement) - Submit a formal Pull Request for review
Licensing Information
This software artifact is distributed under the terms stipulated by the MIT License. Consult the LICENSE file for the full legal text.
