MCP EVM 签名者
一个模型上下文协议 (MCP) 服务器,用于管理以太坊私钥并使用 Infura 部署智能合约。该服务器使 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
- 安装依赖项:
- 构建项目:
- 配置环境变量:编辑
.env
文件以添加您的 Infura API 密钥并配置其他设置。
与 Claude 桌面版集成
- 将服务器添加到您的 Claude for 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"
}
}
}
}
- 重启 Claude 桌面版
- 您现在可以要求 Claude 部署智能合约、检查余额或与 EVM 区块链进行交互
可用工具
MCP EVM 签名服务器公开了以下可与 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 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。