MCP Ethers Wallet

MCP Ethers Wallet

site icon
2025.04.04 5
TypeScript以太坊钱包服务智能合约交互区块链交易处理金融服务
MCP Ethers Wallet 是一个基于 Model Context Protocol (MCP) 的服务,提供以太坊钱包功能,使用 ethers.js v6 实现。它通过 MCP 协议向 LLM 应用提供以太坊功能,包括网络信息管理、钱包创建与管理、交易创建与发送、合约交互(ERC20、ERC721、ERC1155)、ENS 解析、单位转换、Gas 估算和交易历史等功能。该服务兼容任何 MCP 客户端,如 Claude Desktop。
View on GitHub

Overview

基本能力

产品定位

MCP Ethers Wallet 是一个以太坊钱包服务,通过 MCP 协议为 LLM 应用提供以太坊功能。

核心功能

  • 网络信息和管理
  • 钱包创建和管理
  • 交易创建和发送
  • 合约交互(ERC20、ERC721、ERC1155)
  • ENS 解析
  • 单位转换
  • Gas 估算
  • 交易历史

适用场景

  • 以太坊钱包管理
  • 智能合约交互
  • 区块链交易处理
  • ENS 域名解析
  • 代币转账和管理

工具列表

  • 核心网络工具:如 getSupportedNetworksgetBlockNumbergetBlockDetails
  • 钱包工具:如 generateWalletloadWalletgetWalletBalance
  • 合约工具:如 getContractCodecallContractMethodestimateGas
  • ENS 工具:如 lookupAddressresolveName
  • 单位转换工具:如 formatEtherparseEtherformatUnits
  • ERC20 工具:如 erc20GetTokenInfoerc20GetBalanceerc20Transfer
  • ERC721 工具:如 erc721GetTokenInfoerc721GetBalanceerc721OwnerOf
  • ERC1155 工具:如 erc1155GetTokenInfoerc1155GetBalanceerc1155SafeTransfer

常见问题解答

  • 安全性:服务器可以存储私钥在内存中,使用 saveToEnv 选项时要小心。
  • API 密钥:Alchemy 和 Infura API 密钥用于连接以太坊网络,不要暴露 .env 文件。
  • Eth SignethSign 方法可以签名类似交易的数据,比 signMessage 安全性低,需谨慎使用。

使用教程

使用依赖

# 克隆仓库
git clone https://github.com/yourusername/ethers-server.git
cd ethers-server

# 安装依赖
npm install

# 构建 TypeScript 代码
npm run build

安装教程

# 使用 Node.js 启动服务器
npm start

# 使用 Bun 启动服务器(推荐性能更好)
bun start

调试方式

# 全局安装 MCP Inspector
npm install -g @modelcontextprotocol/inspector

# 运行 MCP Inspector 测试服务器
mcp-inspector --command "node build/src/mcpServer.js"

配置

环境变量

在根目录创建 .env 文件,内容如下:

# 必需
ALCHEMY_API_KEY=your_alchemy_api_key
INFURA_API_KEY=your_infura_api_key

# 可选
DEFAULT_NETWORK=mainnet  # 默认: mainnet
LOG_LEVEL=info           # 默认: info (选项: error, warn, info, debug)

网络配置

服务器支持多种以太坊和 EVM 兼容网络,包括主网和测试网。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。