加密钱包EVM服务

一个通过ethers.js v5提供以太坊及EVM兼容区块链操作(如创建钱包、查询余额、发送交易和智能合约交互)的MCP服务器。

  • by dcSpark
  • TypeScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 dcSpark/mcp-cryptowallet-evm

使用说明

MCP加密钱包EVM

该存储库包含一个模型上下文协议(MCP)服务器,该服务器为Claude提供了通过ethers.js v5访问以太坊和EVM兼容区块链操作的权限。该服务器使Claude能够执行创建钱包、检查余额、发送交易以及与EVM兼容区块链上的智能合约交互等操作。

概述

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:获取当前的天然气价格
  • 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:估算交易所需的天然气
  • 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桌面应用程序

安装

选项1:使用npx(推荐)

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

npx @mcp-dockmaster/mcp-cryptowallet-evm

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

选项2:手动安装

  1. 克隆此存储库:

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

    npm ci
    
  3. 构建项目:

    npm run build
    

配置

环境变量

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

  • PRIVATE_KEY:当没有明确提供钱包时,用于钱包操作的可选私钥

配置Claude桌面

要配置Claude Desktop以使用此MCP服务器,请执行以下操作:

  1. 打开克劳德桌面

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

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

{
  "mcpServers": {
    "mcp-cryptowallet-evm": {
      "command": "npx",
      "args": [
        "@mcp-dockmaster/mcp-cryptowallet-evm"
      ]
    }
  }
}

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

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

本地运行

node build/index.js

用法

配置后,重新启动Claude Desktop。Claude现在可以访问以太坊和EVM兼容的区块链工具。你可以要求克劳德:

  1. 创建新钱包:

    Can you create a new Ethereum wallet for me?
    
  2. 检查钱包余额:

    What's the balance of the Ethereum wallet address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
    
  3. 发送交易:

    Can you help me send 0.1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
    

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

发展

添加新工具

要向MCP服务器添加新工具,请执行以下操作:

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

建筑

npm run build

许可证

麻省理工学院