MCP EVM签名者
用于管理以太坊私钥和使用Infura部署智能合约的模型上下文协议(MCP)服务器。该服务器使Claude for Desktop和其他MCP客户端能够与EVM兼容的区块链进行交互。

特性
- 🔑 在本地安全地存储和管理以太坊私钥
- 🔌 连接到Infura进行区块链交互
- 📝 从编译的ABI和字节码部署智能合约
- ✍️ 签署并发送交易
- 💰 查看账户余额和交易历史记录
- 🔍 查询区块链数据并与部署的合约交互
快速开始
先决条件
- Node.js v16或更高版本
- 具有API密钥的Infura帐户
- 已安装桌面应用程序的Claude
安装
- 克隆此存储库:
git clone https://github.com/zhangzhongnan928/mcp-evm-signer.git
cd mcp-evm-signer- 安装依赖项:
npm install- 构建项目:
npm run build- 配置环境变量:
cp .env.example .env编辑 .env 文件添加Infura API密钥并配置其他设置。
与Claude for Desktop集成
- 将服务器添加到Claude进行桌面配置:
{
"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"
}
}
}
}- 重新启动桌面版的Claude
- 现在,您可以要求Claude部署智能合约、检查余额或与EVM区块链交互
可用工具
MCP EVM Signer服务器提供以下工具供Claude使用:
钱包管理
create-wallet:创建一个新的以太坊钱包import-wallet:从私钥导入现有钱包list-wallets:列出所有已保存的钱包
区块链运营
check-balance:检查地址的ETH余额get-transactions:获取地址的最近交易记录send-transaction:将ETH发送到一个地址
智能合约交互
deploy-contract:从ABI和字节码部署智能合约call-contract:调用只读合约方法execute-contract:执行修改状态的合约方法
示例用法
以下是一些如何与Claude一起使用这些工具的示例:
创建钱包
你可以问克劳德:
Could you create a new Ethereum wallet for me using the evm-signer tools?检查余额
你可以问克劳德:
Can you check the balance of my Ethereum wallet 0x1234...5678 on the Sepolia network?部署ERC-20代币
查看我们的 ERC-20代币示例 了解部署和与ERC-20代币合约交互的完整演练。
安全说明
- 私钥存储在本地计算机上
- 密钥可以用密码加密
- 服务器仅通过MCP协议公开功能
- 在Claude for Desktop中批准交易之前,始终先审查交易
- 开始时使用Sepolia或Goerli等测试网络
文档
有关更详细的文档,请参阅:
项目结构
mcp-evm-signer/
├── src/ # Source code
│ ├── config.ts # Configuration management
│ ├── crypto.ts # Key management utilities
│ ├── ethereum.ts # Ethereum interaction functions
│ └── index.ts # Main MCP server implementation
├── keys/ # Storage for wallet keys (gitignored)
├── examples/ # Example usage patterns
├── .env.example # Example environment variables
└── ... # Project configuration files发展
为该项目做出贡献:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 进行更改
- 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
