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

与 Etherscan 的 API 集成,提供以太坊区块链数据工具,用于余额查询、交易跟踪和智能合约交互。

MCP Etherscan Server

一个基于 MCP(Model Context Protocol)的服务器,通过 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 上运行,使其与 MCP 客户端(如 Claude Desktop)兼容。

工作原理

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

可用工具

  1. check-balance

    • 输入: 以太坊地址
    • 输出: 以 Wei 和 ETH 为单位的 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 对话中使用

示例用法

你可以使用如下命令:

复制代码
Check the balance of 0x742d35Cc6634C0532925a3b844Bc454e4438f44e

复制代码
Show me recent transactions for vitalik.eth

开发

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

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

许可证

MIT License - 详情参见 LICENSE 文件