MCP以太坊服务器
一种模型上下文协议服务器,赋予大型语言模型通过标准化接口与以太坊网络交互、管理钱包、查询区块链数据和执行智能合约操作的能力。
服务介绍
MCP Ethers Wallet 
一个使用 Ethers.js v6 与以太坊钱包和网络进行交互的 Model Context Protocol 服务器。此服务器为大型语言模型(LLMs)提供了一个标准化接口,用于与以太坊网络、智能合约及钱包互动。
概览
MCP Ethers Wallet 服务器实现了 Model Context Protocol 规范,为 LLMs 提供了以下功能:
- 跨多个网络查询区块链数据
- 与智能合约交互
- 管理钱包操作
- 解析 ENS 名称
- 处理交易
- 估算 Gas 成本
安装
npm install mcp-ethers-wallet
快速开始
启动服务器
import { startServer } from 'mcp-ethers-wallet';
startServer().catch((error) => {
console.error('Failed to start server:', error);
process.exit(1);
});
与 Claude Desktop 一起使用
- 安装 Claude Desktop
- 添加一个新的 MCP 服务器,配置如下:
"ethers": { "command": "node", "args": [ "/path-to-mcp-ethers-wallet/build/src/index.js" ], "env": { "ALCHEMY_API_KEY": "<<your alchemy api key>>" } } - 这些工具现在可以在您的 Claude 对话中使用了
使用 MCP Inspector 测试
-
安装 MCP Inspector:
npm install -g @modelcontextprotocol/inspector -
启动服务器:
npm start -
在另一个终端中运行 inspector:
mcp-inspector -
打开 http://localhost:5173,在浏览器中与工具进行交互
可用工具
网络信息
getSupportedNetworks: 获取所有支持网络及其配置的列表getBlockNumber: 获取特定网络的当前区块号getBlockDetails: 获取关于特定区块的详细信息getGasPrice: 获取当前 Gas 价格getFeeData: 获取详细的费用数据,包括基础费和优先费
钱包操作
checkWalletExists: 检查是否已配置钱包(不暴露私钥)getWalletBalance: 获取钱包中的原生代币余额getWalletTransactionCount: 获取从钱包发出的交易数量getERC20Balance: 获取钱包中 ERC20 代币的余额
交易管理
getTransactionDetails: 获取关于交易的详细信息sendTransaction: 发送原生代币交易sendTransactionWithOptions: 发送带有自定义选项(如 Gas、nonce 等)的交易getTransactionsByBlock: 获取特定区块内的所有交易
智能合约交互
contractCall: 执行合约写入方法contractCallView: 执行合约读取方法getContractCode: 获取已部署合约的字节码
ENS 操作
lookupAddress: 将 ENS 名称解析为地址resolveName: 将地址解析为 ENS 名称
网络支持
该服务器支持多个网络,包括:
- 以太坊主网
- Polygon PoS
- Arbitrum
- Optimism
- Base
- 更多...
使用 getSupportedNetworks 工具获取支持的网络完整列表。
配置
服务器可以通过环境变量进行配置:
ALCHEMY_API_KEY:用于网络访问的 Alchemy API 密钥PRIVATE_KEY:用于交易签名的私钥(可选)DEFAULT_NETWORK:默认使用的网络(默认为 "mainnet")
错误处理
服务器为常见问题提供了详细的错误信息:
- 无效的网络名称或 RPC URL
- 链 ID 不匹配
- 合约交互失败
- 交易错误
- 网络连接问题
开发
# Install dependencies
npm install
# Run tests
npm test
# Start in development mode
npm run dev
# Build
npm run build
贡献
欢迎在 GitHub 上提交问题和拉取请求。
许可证
本项目根据 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
作者
Dennison Bertram (dennison@tally.xyz)