小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
2
最近更新:1个月前

通过 ethers.js v5 启用与以太坊和 EVM 兼容区块链的直接交互,用于钱包创建、余额查询、交易发送和智能合约操作。

MCP Crypto Wallet EVM

此仓库包含一个 Model Context Protocol (MCP) 服务器,通过 ethers.js v5 提供给 Claude 访问以太坊和与 EVM 兼容的区块链操作的能力。该服务器使 Claude 能够在与 EVM 兼容的区块链上执行诸如创建钱包、检查余额、发送交易和与智能合约交互等操作。

Crypto Wallet EVM MCP server

概述

MCP 服务器向 Claude 暴露了以下工具:

钱包创建与管理

  • wallet_create_random: 使用随机私钥创建新钱包
  • wallet_from_private_key: 使用私钥创建钱包
  • wallet_from_mnemonic: 使用助记词短语创建钱包
  • wallet_from_encrypted_json: 通过解密加密的 JSON 钱包创建钱包
  • wallet_encrypt: 使用密码加密钱包

钱包属性

  • wallet_get_address: 获取钱包地址
  • wallet_get_public_key: 获取钱包公钥
  • wallet_get_private_key: 获取钱包私钥(附带适当的安全警告)
  • wallet_get_mnemonic: 获取钱包助记词短语(如果可用)

区块链方法

  • wallet_get_balance: 获取钱包余额
  • wallet_get_chain_id: 获取钱包连接的链 ID
  • wallet_get_gas_price: 获取当前 gas 价格
  • wallet_get_transaction_count: 获取从该账户发送的交易数量(nonce)
  • wallet_call: 调用合约方法而不发送交易

交易方法

  • wallet_send_transaction: 发送交易
  • wallet_sign_transaction: 签名交易但不发送
  • wallet_populate_transaction: 填充缺失字段的交易

签名方法

  • wallet_sign_message: 签名消息
  • wallet_sign_typed_data: 签名类型化数据(EIP-712)
  • wallet_verify_message: 验证签名消息
  • wallet_verify_typed_data: 验证签名的类型化数据

提供者方法

  • provider_get_block: 根据编号或哈希获取区块
  • provider_get_transaction: 根据哈希获取交易
  • provider_get_transaction_receipt: 获取交易收据
  • provider_get_code: 获取某个地址的代码
  • provider_get_storage_at: 获取某个地址的存储位置
  • provider_estimate_gas: 估算交易所需的 gas
  • provider_get_logs: 获取符合过滤器的日志
  • provider_get_ens_resolver: 获取名称的 ENS 解析器
  • provider_lookup_address: 查找地址对应的 ENS 名称
  • provider_resolve_name: 将 ENS 名称解析为地址

网络方法

  • network_get_network: 获取当前网络信息
  • network_get_block_number: 获取当前区块号
  • network_get_fee_data: 获取当前费用数据(基础费用、最大优先级费用等)

先决条件

  • Node.js(v16 或更高版本)
  • Claude Desktop 应用程序

安装

选项 1:使用 npx(推荐)

您可以使用 npx 直接运行 MCP 服务器而无需安装:

bash 复制代码
npx @mcp-dockmaster/mcp-cryptowallet-evm

这将直接从 npm 下载并执行服务器。

选项 2:手动安装

  1. 克隆此仓库:

    bash 复制代码
    git clone https://github.com/dcSpark/mcp-cryptowallet-evm.git
    cd mcp-cryptowallet-evm
  2. 安装依赖项:

    bash 复制代码
    npm ci
  3. 构建项目:

    bash 复制代码
    npm run build

配置

环境变量

MCP 服务器支持以下环境变量:

  • PRIVATE_KEY: 可选私钥,用于在未明确提供钱包时进行钱包操作

配置 Claude Desktop

要配置 Claude Desktop 使用此 MCP 服务器:

  1. 打开 Claude Desktop

  2. 导航到 Claude Desktop 配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  3. 添加 MCP 服务器配置:

json 复制代码
{
  "mcpServers": {
    "mcp-cryptowallet-evm": {
      "command": "npx",
      "args": [
        "@mcp-dockmaster/mcp-cryptowallet-evm"
      ]
    }
  }
}

或者,如果您本地安装了该包:

json 复制代码
{
  "mcpServers": {
    "mcp-cryptowallet-evm": {
      "command": "node",
      "args": [
        "/path/to/your/mcp-cryptowallet-evm/build/index.js"
      ]
    }
  }
}

本地运行

bash 复制代码
node build/index.js

使用

配置完成后,重启 Claude Desktop。Claude 现在可以访问以太坊和与 EVM 兼容的区块链工具。您可以要求 Claude:

  1. 创建新钱包:

    复制代码
    你能为我创建一个新的以太坊钱包吗?
  2. 检查钱包余额:

    复制代码
    以太坊钱包地址 0x742d35Cc6634C0532925a3b844Bc454e4438f44e 的余额是多少?
  3. 发送交易:

    复制代码
    你能帮我向 0x742d35Cc6634C0532925a3b844Bc454e4438f44e 发送 0.1 ETH 吗?

Claude 将使用 MCP 服务器直接与以太坊区块链进行交互。

开发

添加新工具

要向 MCP 服务器添加新工具:

  1. src/tools.ts 中定义工具
  2. 在适当的处理程序文件中创建处理函数
  3. 将处理程序添加到 src/tools.ts 中的 handlers 对象

构建

bash 复制代码
npm run build

许可证

MIT