以太坊密钥管理服务

一个用于管理以太坊私钥并通过Infura部署智能合约的MCP服务器,支持与EVM兼容的区块链交互。

  • by zhangzhongnan928
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 zhangzhongnan928/mcp-evm-signer

使用说明

MCP EVM签名者

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

特性

  • 🔑 在本地安全地存储和管理以太坊私钥
  • 🔌 连接到Infura进行区块链交互
  • 📝 从编译的ABI和字节码部署智能合约
  • ✍️ 签署并发送交易
  • 💰 查看账户余额和交易历史记录
  • 🔍 查询区块链数据并与部署的合约交互

快速开始

先决条件

  • Node.js v16或更高版本
  • 具有API密钥的Infura帐户
  • 已安装桌面应用程序的Claude

安装

  1. 克隆此存储库:

    git clone https://github.com/zhangzhongnan928/mcp-evm-signer.git
    cd mcp-evm-signer
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    
  4. 配置环境变量:

    cp .env.example .env
    

    编辑 .env 文件添加Infura API密钥并配置其他设置。

与Claude for Desktop集成

  1. 将服务器添加到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"
      }
    }
  }
}
  1. 重新启动桌面版的Claude

  2. 现在,您可以要求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

发展

为该项目做出贡献:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 提交您的更改(git commit -m 'Add some amazing feature')
  5. 推到分支(git push origin feature/amazing-feature)
  6. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。