
MCP Ethers Wallet

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 域名解析
- 代币转账和管理
工具列表
- 核心网络工具:如
getSupportedNetworks
、getBlockNumber
、getBlockDetails
等 - 钱包工具:如
generateWallet
、loadWallet
、getWalletBalance
等 - 合约工具:如
getContractCode
、callContractMethod
、estimateGas
等 - ENS 工具:如
lookupAddress
、resolveName
- 单位转换工具:如
formatEther
、parseEther
、formatUnits
等 - ERC20 工具:如
erc20GetTokenInfo
、erc20GetBalance
、erc20Transfer
等 - ERC721 工具:如
erc721GetTokenInfo
、erc721GetBalance
、erc721OwnerOf
等 - ERC1155 工具:如
erc1155GetTokenInfo
、erc1155GetBalance
、erc1155SafeTransfer
等
常见问题解答
- 安全性:服务器可以存储私钥在内存中,使用
saveToEnv
选项时要小心。 - API 密钥:Alchemy 和 Infura API 密钥用于连接以太坊网络,不要暴露
.env
文件。 - Eth Sign:
ethSign
方法可以签名类似交易的数据,比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 兼容网络,包括主网和测试网。