Web3工具MCP服务器
用于区块链交互的模型上下文协议(MCP)服务器 我知道, 以太网扫描,以及 Hypersync.
特性
- 多链支持(以太坊、Arbitrum、雪崩、Base、BNB链、Gnosis、索尼克、乐观主义、多边形、zkSync时代、Linea、单链)
- 🔐 通过浏览器钱包进行交易签名 (MetaMask、Rabby、Coinbase钱包)
- 智能合约交互(读写函数、ABI检索、源代码)
- 合同模拟和天然气估算(模拟交易,估算成本)
- 实时天然气价格跟踪(传统和EIP-1559)
- ENS分辨率(名称↔ 地址、文本记录、头像)
- 代币余额和转账(本地和ERC20,批量查询)
- 使用Hypersync加速的事件日志查询
- 交易追踪和分析
- 带类型解码的存储槽读取
快速开始
克劳德代码
claude mcp add --scope user --transport stdio web3-tools -- npx -y web3-tools-mcp克劳德桌面
添加到 config.json:
{
"mcpServers": {
"web3-tools": {
"command": "npx",
"args": ["-y", "web3-tools-mcp"]
}
}
}API密钥(可选)
所有API密钥都是可选的。默认情况下,服务器使用公共RPC。添加钥匙以解锁其他功能:
配置选项:
--etherscan-api-key或ETHERSCAN_API_KEY-启用合约ABI/源检索--hypersync-api-key或HYPERSYNC_API_KEY-快速事件查询(快10-100倍)--alchemy-api-key或ALCHEMY_API_KEY-增强RPC可靠性--infura-api-key或INFURA_API_KEY-其他RPC提供程序--custom-rpc-自定义RPC URL为JSON
获取免费的API密钥:
- 以太网扫描: etherscan.io/apis
- Hypersync: Hypersync.xyz
- 炼金术: alchemy.com
- 愤怒 : 伊芙拉.io
API密钥示例:
# Claude Code
claude mcp add --scope user --transport stdio web3-tools -- npx -y web3-tools-mcp --etherscan-api-key YOUR_KEY --hypersync-api-key YOUR_KEY
# Environment variables
export ETHERSCAN_API_KEY=your_key
export HYPERSYNC_API_KEY=your_key
npx web3-tools-mcp支持的网络
| 网络 | 链ID | Hypersync |
|---|---|---|
| 以太坊主网 | 1 | ✅ |
| 仲裁员 42161✅ | ||
| 雪崩 | 43114 | ✅ |
| 基数 | 8453 | ✅ |
| BNB链 | 56 | ✅ |
| 灵知 | 100 | ✅ |
| 索尼克 | 146 | ✅ |
| 乐观主义 | 10 | ✅ |
| 多边形 | 137 | ✅ |
| zksync时代 | 324 | ✅ |
| Linea | 59144 | ✅ |
| 单链 | 130 | ✅ |
| 本地主机 | 31337 | ❌ |
🔐 浏览器钱包集成
该服务器包括一个内置的钱包接口,用于在不暴露私钥的情况下进行安全的交易签名。
运作原理
- 当您使用交易工具(例如。,
send_native_token),服务器自动:
- 在上启动本地web服务器 http://localhost:3456 - 打开浏览器连接钱包(MetaMask、Rabby、Coinbase钱包等)
- 在浏览器中连接钱包一次
- 交易请求显示在浏览器中以供审批
- 直接在您的钱包中签署或拒绝交易
支持的钱包
- MetaMask
- 拉比
- Coinbase钱包
- 任何支持EIP-1193的浏览器钱包
手动访问
访问 http://localhost:3456 随时:
- 检查钱包连接状态
- 查看待处理交易
- 查看交易历史记录
注: 当MCP服务器启动时,钱包服务器会自动运行。无需额外设置!
可用工具
签名
get_function_signature-生成4字节函数选择器get_event_signature-生成32字节的事件topic0哈希值get_error_signature-生成4字节错误选择器
合同信息
get_contract_abi-获取具有代理检测和验证状态的ABIget_contract_source_code-通过代理支持获取经过验证的源代码get_contract_source_file-从缓存中检索特定的源文件is_contract-检查地址是合同还是EOA
合约交互
call_contract_function-调用视图/纯函数(支持批处理)call_contract_write-通过浏览器钱包执行状态更改合约功能simulate_contract-模拟无广播的合同通话(包括天然气估算)
交易(需要浏览器钱包)
send_native_token-将ETH/本地代币发送到一个地址send_erc20_token-将ERC20代币发送到一个地址sign_message-使用您的钱包对消息进行签名wallet_status-检查钱包连接状态
气体与模拟
estimate_gas-估算任何交易的天然气成本get_gas_price-获取当前天然气价格(传统和EIP-1559)
ENS
resolve_ens_name-ENS名称→ 地址reverse_resolve_ens-地址→ ENS名称get_ens_text_record-获取文本记录(头像、电子邮件、推特等)get_ens_avatar-获取头像URIbatch_resolve_ens_names-批量解析多个名称
余额
get_balance-获取本地或ERC20余额(支持批量)
事件和日志
get_logs-使用Hypersync回退查询和解码事件
高级
get_storage_at-使用类型解码读取存储插槽get_block_info-获取块数据(时间戳、哈希等)trace_transaction-跟踪执行(调用树、VM、状态差异)
高级配置
自定义RPC
npx web3-tools-mcp --custom-rpc '{"mainnet":"https://my-rpc.com","base":"https://base-rpc.com"}'RPC故障转移
自动选择提供商:Alchemy→ Infura→ 公共RPC
批量操作
许多工具支持批处理以提高效率(合同调用、余额、ENS分辨率)。
需求
- Node.js≥20.0.0
- RPC调用的互联网连接
测试
npm test # Run all tests
npm run test:watch # Watch mode
npm run test:ui # UI mode许可证
麻省理工学院
