SuperAPI AI 工具集

evm-mcp

evm-mcp 是一个 MCP(模型上下文协议)服务器,为 AI 编程环境(如 Cursor 和 Claude Desktop)提供对以太坊虚拟机(EVM)JSON-RPC 方法的完整访问。它支持任意 EVM 兼容网络(包括以太坊、Polygon、Arbitrum、Optimism、BSC、Avalanche、Base 等)和任意节点提供商(如 Infura、Alchemy、QuickNode、本地节点或自定义 RPC)。通过该工具,用户可以在 AI 工作流中直接查询区块链数据、交易详情、合约状态,并进行交易模拟等操作。

访问官网

工具介绍

用途

evm-mcp 是一个 MCP(模型上下文协议)服务器,用于在 AI 编程环境中(如 Cursor、Claude Desktop)提供对 EVM JSON-RPC 方法的完整访问。它让 AI 能够直接与任何 EVM 兼容区块链交互,支持以太坊、Polygon、Arbitrum、Optimism、BSC、Avalanche、Base 等网络,并兼容 Infura、Alchemy、QuickNode、本地节点及自定义 RPC 等节点提供商。

主要能力

区块链数据查询

提供 20 多种 RPC 方法,包括:

  • eth_blockNumber:获取最新区块号
  • eth_getBalance:获取账户余额
  • eth_getTransactionCount:获取交易计数(nonce)
  • eth_getBlockByNumber:获取区块信息
  • eth_getTransactionByHash:获取交易详情
  • eth_getTransactionReceipt:获取交易收据
  • eth_getCode:获取合约字节码
  • eth_getStorageAt:获取存储值
  • eth_call:执行合约调用
  • eth_estimateGas:估算交易 gas
  • eth_sendRawTransaction:发送已签名交易
  • eth_gasPrice:获取当前 gas 价格

交易模拟(只读,不会广播)

可用自然语言构造交易,并针对分叉/覆盖的 EVM 状态进行模拟。报告交易是否会成功或回滚、回滚原因(通俗英文)、估算 gas 以及余额/状态变化。支持地址别名和 ENS 名称(如 alice.eth)。默认发送方会获得虚拟 ETH 以便从任意地址模拟;设置 fund: false 可使用真实余额。

  • simulate_native_transfer:模拟发送原生货币
  • simulate_erc20_transfer:模拟 ERC20 转账(支持人类可读金额)
  • simulate_contract_call:编码函数签名和参数并模拟调用
  • simulate_transaction:模拟原始交易(from/to/value/data)
  • encode_function_data:从人类可读签名编码 calldata(纯辅助工具,无 RPC) 这些工具仅使用 eth_call、eth_estimateGas 及 debug_traceCall(当提供商支持时),绝不会签名或发送真实交易。当 debug_traceCall 可用时使用真实状态差异,否则根据解码的意图推断变化。

事件与日志

  • eth_getLogs:获取事件日志
  • list_supported_networks:列出已配置的网络和提供商
  • list_known_addresses:列出已配置的钱包别名和已知代币/合约地址
  • eth_chainId:获取链 ID
  • net_version:获取网络版本
  • net_listening:检查是否正在监听
  • net_peerCount:获取对等节点数
  • web3_clientVersion:获取客户端版本
  • web3_sha3:使用 Keccak-256 哈希数据

使用方式

安装

推荐在 Cursor 中一键安装(点击安装链接),或手动安装:

要求:Node.js 18+ 和 npm

添加到 claude_desktop_config.json: macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

配置后重启 Claude Desktop。

环境变量配置

至少需要一个提供商 API 密钥、自定义提供商或带 rpcUrl 的自定义网络。

  • 内置提供商(Infura / Alchemy):设置 API 密钥后,服务器自动为支持的网络构建 RPC URL。每个 RPC 工具接受可选 network 参数(slug、名称或链 ID),省略时使用 DEFAULT_NETWORK。
  • 自定义提供商(CUSTOM_PROVIDERS):提供基础 URL 模板和特定网络 URL。绝对 networkUrls 直接使用(支持 {apiKey} 替换);相对路径(以 / 开头)附加到 baseUrl。
  • 自定义网络(CUSTOM_NETWORKS):按名称注册任意链,或通过设置 provider 并添加网络 slug 到该提供商的 networkUrls 来路由。
  • 已知地址(KNOWN_ADDRESSES):按名称注册代币和合约,使工具接受如 USDC 的别名而非原始十六进制地址。每个条目针对特定网络。当 eth_getBalance 使用代币别名调用时,服务器使用 WALLET_ADDRESSES 中配置的第一个钱包作为代币持有者。
  • 钱包地址(WALLET_ADDRESSES):按别名注册个人钱包和合约,可用“检查我的个人钱包”代替粘贴十六进制地址。地址别名适用于 eth_getBalance、eth_getCode、eth_call、eth_getLogs 及其他接受地址参数的工具。使用 list_known_addresses 发现已配置别名。

配置更改需重启 MCP 服务器。

支持的内置网络

  • Ethereum:主网、Sepolia
  • Polygon:主网、Amoy
  • Arbitrum:One、Sepolia
  • Optimism:主网、Sepolia
  • BNB Smart Chain:主网、测试网
  • Avalanche:C-Chain
  • Base:主网、Sepolia
  • 通过 CUSTOM_NETWORKS 支持任意 EVM 兼容链

示例操作

  • 获取最新区块号
  • 使用十六进制地址或配置别名检查账户余额
  • 查看交易信息
  • 执行合约调用
  • 查询合约事件

适用场景

  • 区块链分析:查询交易数据、余额和合约状态
  • DeFi 应用:监控代币余额、交易收据和智能合约调用
  • NFT 项目:追踪转账、元数据和集合统计
  • 开发工具:调试交易、估算 gas 和测试智能合约
  • 监控:观察特定事件和交易模式
  • 研究:跨多个 EVM 网络分析区块链数据

限制

  • 交易模拟工具仅使用 eth_call、eth_estimateGas 及 debug_traceCall(当提供商支持时),绝不签名或发送真实交易。
  • 当 debug_traceCall 不可用时,状态变化根据解码意图推断,可能不精确。
  • 配置更改需要重启 MCP 服务器。
  • 需要 Node.js 18+ 和 npm。
  • 需要至少一个提供商 API 密钥、自定义提供商或带 rpcUrl 的自定义网络。

技术细节

  • 构建技术:Node.js、TypeScript、MCP SDK、Ethers.js
  • 依赖:@modelcontextprotocol/sdk、ethers、zod
  • 平台:macOS、Windows、Linux
  • 许可证:MIT