小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
0
最近更新:2个月前

一个MCP(Model Context Protocol)服务器,通过Etherscan的API提供以太坊区块链数据工具。功能包括检查ETH余额、查看交易历史、追踪ERC20转账、获取合约ABI、监控Gas价格以及解析ENS名称。

MCP Etherscan 服务器

一个基于 Model Context Protocol (MCP) 的服务器,通过 Etherscan API 提供以太坊区块链数据工具。功能包括查询 ETH 余额、查看交易记录、追踪 ERC20 转账、获取合约 ABI、监控 gas 价格以及解析 ENS 名称。

功能特性

  • 余额查询:获取任意以太坊地址的 ETH 余额
  • 交易历史:查看带有详细信息的近期交易记录
  • 代币转账:追踪 ERC20 代币转账及代币详情
  • 合约 ABI:获取智能合约 ABI 用于开发
  • Gas 价格:监控当前 gas 价格(安全低/标准/快速三档)
  • ENS 解析:将以太坊地址解析为 ENS 名称

环境要求

安装步骤

  1. 克隆代码库:
bash 复制代码
git clone [your-repo-url]
cd mcp-etherscan-server
  1. 安装依赖:
bash 复制代码
npm install
  1. 在根目录创建 .env 文件:
bash 复制代码
ETHERSCAN_API_KEY=your_api_key_here
  1. 构建项目:
bash 复制代码
npm run build

运行服务器

启动服务器:

bash 复制代码
npm start

服务器将在 stdio 模式下运行,兼容 Claude Desktop 等 MCP 客户端。

工作原理

本服务器实现了 Model Context Protocol (MCP),通过 Etherscan API 提供与以太坊区块链数据交互的工具。每个工具都作为 MCP 端点暴露,可供兼容客户端调用。

可用工具

  1. check-balance

    • 输入:以太坊地址
    • 输出:以 Wei 和 ETH 为单位的余额
  2. get-transactions

    • 输入:以太坊地址(可选数量限制)
    • 输出:带有时间戳、金额和地址的近期交易记录
  3. get-token-transfers

    • 输入:以太坊地址(可选数量限制)
    • 输出:带有代币详情的近期 ERC20 代币转账记录
  4. get-contract-abi

    • 输入:合约地址
    • 输出:JSON 格式的合约 ABI
  5. get-gas-prices

    • 输入:无
    • 输出:当前 gas 价格(以 Gwei 为单位)
  6. get-ens-name

    • 输入:以太坊地址
    • 输出:关联的 ENS 名称(如存在)

与 Claude Desktop 集成

添加本服务器到 Claude Desktop:

  1. 使用 npm start 启动服务器

  2. 在 Claude Desktop 中:

    • 进入设置
    • 导航至 MCP Servers 版块
    • 点击 "Add Server"
    • 输入以下配置:
      json 复制代码
      {
        "name": "Etherscan Tools",
        "transport": "stdio",
        "command": "node /path/to/mcp-etherscan-server/build/index.js"
      }
    • 保存配置
  3. Etherscan 工具现在可以在 Claude 对话中使用

Claude 使用示例

可使用如下指令:

复制代码
查询地址 0x742d35Cc6634C0532925a3b844Bc454e4438f44e 的余额

复制代码
显示 vitalik.eth 的近期交易记录

开发指南

添加新功能或修改现有功能:

  1. 主服务器逻辑位于 src/server.ts
  2. Etherscan API 交互处理位于 src/services/etherscanService.ts
  3. 修改后执行构建:npm run build

许可协议

MIT 许可证 - 详见 LICENSE 文件