项目简介

这是一个基于 Model Context Protocol (MCP) 的服务端实现,它封装了 Etherscan 的 API,允许支持 MCP 协议的 LLM 客户端(如 Claude Desktop)通过工具调用的方式,便捷地获取以太坊区块链上的各种数据和信息。

主要功能点

本 MCP 服务器通过集成 Etherscan API,提供了以下主要功能:

  • 账户信息查询: 获取以太坊地址的 ETH 余额、ERC20/ERC721/ERC1155 代币余额、各类交易记录(普通、内部、代币转移)、地址挖出的区块列表等。
  • 交易信息查询: 检查交易状态、获取交易回执、按哈希或区块索引查询交易详情。
  • 区块信息查询: 获取区块奖励、区块倒计时、按时间戳查询区块号等。
  • 智能合约查询: 获取已验证合约的 ABI 和源代码、查询合约创建者和创建交易哈希。
  • 代币信息查询: 获取 ERC20 代币总供应量、特定地址代币余额(包括历史余额)、代币持有者列表和数量、代币详细信息等。
  • Gas 和网络统计: 查询当前 Gas 价格、预估交易确认时间、获取网络总供应量、ETH 价格、网络规模、节点数、每日交易量、新增地址数、网络利用率、平均 Gas 价格/Gas Limit 等统计数据。
  • RPC 代理: 通过 Etherscan API 代理部分标准的以太坊 RPC 方法,如获取最新区块号、按区块号查询区块详情、查询地址交易计数等。
  • 事件日志查询: 按地址或主题过滤查询区块链上的事件日志。

安装步骤

  1. 确保您的计算机已安装 Node.js (推荐使用 Node.js 18 或更高版本) 和 npm 或 yarn。
  2. 克隆本 GitHub 仓库到您的本地目录。
  3. 打开命令行终端,进入项目根目录。
  4. 运行以下命令安装所有依赖:
    npm install
    # 或者使用 yarn
    # yarn install

服务器配置

MCP 服务器通常由 MCP 客户端(如 Claude Desktop)通过配置信息来启动和管理。您需要将本服务器集成到您的 MCP 客户端中。以下是配置所需的基本信息,您需要根据实际情况(如项目克隆路径、您的 Etherscan API Key)进行填写:

  • 服务器名称 (Server Name): 您可以为该 MCP 服务器自定义一个易于识别的名称,例如 'Etherscan API' 或 'Ethereum Explorer'。
  • 启动命令 (Command): 启动服务器进程的命令。对于此项目,通常是 'npx'。
  • 启动参数 (Args): 传递给启动命令的参数列表。例如 '["tsx", "/PATH/TO/YOUR_PROJECT/src/index.ts"]'。请务必将 '/PATH/TO/YOUR_PROJECT' 替换为您克隆本仓库的实际绝对路径。'tsx' 是一个 Node.js 工具,用于直接运行 TypeScript 文件。
  • 环境变量 (Environment Variables): 服务器运行时必须设置的环境变量。对于此项目,您需要提供:
    • 'ETHERSCAN_API_KEY': 这是连接 Etherscan 服务的必需密钥。请访问 Etherscan 官方网站申请您的 API Key。

请参考您的 MCP 客户端文档,找到添加和配置新的 MCP 服务器的界面,并填入上述信息。

基本使用方法

一旦 MCP 服务器在您的客户端中正确配置并运行,LLM 客户端将能够自动发现并了解该服务器提供的所有工具能力(即上述的各项查询功能)。当您与 LLM 交互时,如果您的提问或请求涉及查询以太坊区块链上的信息,LLM 客户端可以根据需要,智能地调用该服务器上对应的工具 API,获取所需数据并用于回答您的问题或执行任务。您无需手动调用任何命令,只需像平常一样与 LLM 对话即可。

例如,您可以这样提问:

  • “请查询地址 '0x...' 当前有多少 ETH?”
  • “最近一个区块的平均 Gas 价格是多少?”
  • “查找合约地址 '0x...' 的 ABI。”
  • “地址 '0x...' 最近 10 条普通交易记录是什么?”

LLM 客户端会解析您的意图,选择并调用此 Etherscan MCP 服务器提供的相应工具来获取信息。

信息

分类

网页与API