Etherscan Mcp Server

Etherscan Mcp Server

🚀 Etherscan MCP 服务器

Etherscan MCP 服务器是一个基于 Go 语言实现的 Etherscan API 客户端,专为 模型上下文协议 (MCP) 量身打造。它能够让 LLM 应用程序轻松访问以太坊区块链数据,为区块链数据的获取和使用提供了极大的便利。

✨ 主要特性

  • 多链支持:通过访问 Etherscan API V2,实现了对多链的支持。使用单一 API 密钥,就可以调用 50 多条支持的链
  • 丰富的数据获取方式:支持多种区块链数据的获取,涵盖账户余额查询、块信息获取、合约数据(ABI、源代码)、气价 oracle、代币信息、交易数据等众多功能。

📦 安装指南

  1. 克隆仓库
    git clone https://github.com/huahuayu/etherscan-mcp-server.git
    
  2. 配置和安装步骤
    • 步骤 1:若尚未安装 Go 环境,需先下载并安装。
    • 步骤 2:将上述仓库克隆到本地开发环境。
    • 步骤 3:在终端进入仓库目录,运行以下命令进行安装:
      go install
      
    • 步骤 4:安装完成后,确保将可执行文件添加到系统 PATH 环境变量中。

💻 使用示例

基础用法

服务操作

  • 启动服务
    mcp-server start
    
  • 停止服务
    mcp-server stop
    
  • 重启服务
    mcp-server restart
    

配置文件

默认情况下,服务器会读取位于 $HOME/.etherscan-mcp/config.yaml 的配置文件。您可以编辑此文件来进行以下自定义设置:

  • API 密钥:指定您的 Etherscan API 密钥(从 https://etherscan.io/myapikey 获取)。
  • 监听地址:定义服务器绑定的 IP 地址。
  • 监听端口:配置服务器运行的端口号。

示例命令

# 获取账户余额
mcp-server get-account-balance --address 0x1234567890abcdeF123456789abcdEF123456789 --chain-id 1

# 查询区块信息
mcp-server get-block-by-number --chain-id 1 --block-number 1000000

# 获取代币余额
mcp-server get-token-balance --address 0x1234567890abcdeF123456789abcdEF123456789 --chain-id 1 --contract-address 0xEeeeeEeeeEeC9c7B2CBb6bb42C975a9769e0Eed0af

高级用法

该 Etherscan MCP 服务器提供了一系列工具用于访问区块链数据,每个工具都接受特定参数并返回结构化的区块链数据:

  1. getAccountBalance - 获取特定账户在指定链上的余额信息
  2. getBlockByNumber - 根据区块编号查询区块详情
  3. getBlockRewards - 获取指定区块的奖励信息
  4. getContractABI - 获取已验证合约的 ABI 接口
  5. getContractSourceCode - 获取已验证合约的源代码
  6. executeContractMethod - 执行读取类合约函数
  7. getGasOracle - 获取当前气价 oracle 输出数据
  8. getTokenBalance - 获取指定账户在特定链上的代币余额信息
  9. getTokenDetails - 获取代币的详细信息
  10. getTransactionByHash - 根据交易哈希获取交易详情
  11. getTransactionByBlockNumberAndIndex - 根据区块编号和索引获取交易详情
  12. getTransactionCount - 获取指定地址发送的交易总数
  13. getTransactionReceipt - 查看交易收据状态
  14. getTransactionStatus - 查询合约执行状态
  15. getTransactionsByAddress - 根据地址获取交易列表
  16. getInternalTransactionsByAddress - 根据地址获取内部交易列表
  17. getTokenTransfersByAddress - 根据地址获取代币转账记录
  18. getERC721Transfers - 根据地址获取 ERC721 代币的转移记录
  19. getLatestBlockNumber - 获取最新区块编号

📄 许可证

本项目采用 MIT 许可证。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-25 15:03

相似服务问题