Manage Ethereum keys and deploy smart contracts securely using MCP EVM Signer with Infura integration
The MCP EVM Signer is an MCP (Model Context Protocol) server designed to securely manage Ethereum private keys, connect to Infura for blockchain interactions, and facilitate the deployment of smart contracts. This server provides a standardized interface that enables AI applications such as Claude Desktop, Continue, Cursor, and others to interact with Ethereum-compatible blockchains through the Model Context Protocol.
The MCP EVM Signer offers several critical features that enhance its utility for artificial intelligence (AI) applications:
To illustrate the operational flow between an AI application, the MCP server, and external data sources/tools, we have provided a Mermaid diagram:
graph TD
A[AI Application] -->|MCP Client| B[MCP Protocol]
B --> C[MCP Server]
C --> D[Data Source/Tool]
style A fill:#e1f5fe
style C fill:#f3e5f5
style D fill:#e8f5e8
The MCP EVM Signer supports a range of AI applications through its adherence to the Model Context Protocol. Below is a compatibility matrix highlighting the support status:
MCP Client | Resources | Tools | Prompts | Status |
---|---|---|---|---|
Claude Desktop | ✅ | ✅ | ✅ | Full Support |
Continue | ✅ | ✅ | ✅ | Full Support |
Cursor | ❌ | ✅ | ❌ | Tools Only |
Clone the repository:
git clone https://github.com/zhangzhongnan928/mcp-evm-signer.git
cd mcp-evm-signer
Install dependencies:
npm install
Build the project:
npm run build
Configure environment variables:
cp .env.example .env
Edit the .env
file to add your Infura API key and configure other settings.
Implementing the MCP EVM Signer into an AI workflow can significantly enhance its capabilities, particularly when interacting with Ethereum-based smart contracts. Here are two use cases:
Using the check-balance
tool, an AI application like Continue can monitor the balance of a user's wallet in real-time, providing insights and alerts based on predefined thresholds or patterns.
Example Command:
mcp-evm-signer check-balance 0x1234...5678 --network sepolia
The deploy-contract
tool can be used to automate the deployment of ERC-20 tokens. This process involves specifying the compiled ABI and bytecode, followed by deploying it via an AI application.
Example Command:
mcp-evm-signer deploy-contract --abi path/to/abi.json --bytecode path/to/bytcode.json --network sepolia
The MCP EVM Signer provides a standardized interface for connecting with MCP clients. Below is an example of how to integrate it with Claude Desktop:
{
"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"
}
}
}
}
Creating a Wallet
mcp-evm-signer create-wallet
Checking Wallet Balance on Sepolia Network
mcp-evm-signer check-balance 0x1234...5678 --network sepolia
These commands showcase the command-line capabilities of the MCP EVM Signer, making it easy for developers to integrate these tools into their AI workflows.
Here is a snippet from the .env
configuration file:
API_KEY=your_infura_api_key_here
DEFAULT_NETWORK=sepolia
ENCRYPT_KEYS=true
KEY_PASSWORD=secure_password_here
Q: How do I ensure the security of my private keys? A: Private keys are stored locally and can be encrypted with a password for added security.
Q: Can this server be used across multiple AI clients like Claude Desktop, Continue, and Cursor? A: Yes, it supports these clients through the MCP protocol.
Q: How do I securely configure environment variables on deployment?
A: Use an encrypted .env
file to store sensitive data and protect it from exposure.
Q: Is there support for multiple networks like Sepolia or Goerli?
A: Yes, use the --network
parameter with target network names such as sepolia
or goerli
.
Q: Can I contribute to this project if I find issues or have features to enhance? A: Fork the repository, create a feature branch, and open a pull request.
To contribute to this project:
git checkout -b feature/amazing-feature
).git commit -m 'Add some amazing feature'
).git push origin feature/amazing-feature
).For more detailed documentation, refer to:
The MCP EVM Signer is a powerful tool for AI applications aiming to interact with Ethereum-based blockchains. Its comprehensive features and stringent security measures make it an invaluable component in any system requiring blockchain integration through the Model Context Protocol.
By providing secure data management, efficient smart contract deployment mechanisms, and seamless AI client compatibility, the MCP EVM Signer streamlines complex operations while maintaining a high level of security and flexibility.
Simplify MySQL queries with Java-based MysqlMcpServer for easy standard input-output communication
RuinedFooocus is a local AI image generator and chatbot image server for seamless creative control
Learn to set up MCP Airflow Database server for efficient database interactions and querying airflow data
Build stunning one-page websites track engagement create QR codes monetize content easily with Acalytica
Access NASA APIs for space data, images, asteroids, weather, and exoplanets via MCP integration
Explore CoRT MCP server for advanced self-arguing AI with multi-LLM inference and enhanced evaluation methods