以太坊区块链数据工具

一个基于Etherscan API的MCP服务器,提供以太坊区块链数据查询工具,包括余额查询、交易历史、ERC20转账跟踪、合约ABI获取、gas价格监控和ENS解析等功能。

  • by ThirdGuard
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 thirdguard/mcp-etherscan-server

使用说明

MCP以太网扫描服务器

MCP(模型上下文协议)服务器,通过Etherscan的API提供以太坊区块链数据工具。功能包括检查ETH余额、查看交易历史、跟踪ERC20转账、获取合约ABI、监控天然气价格和解析ENS名称。

特性

  • 余额检查:获取任何以太坊地址的ETH余额
  • 交易历史记录:查看最近交易的详细信息
  • 代币转移:使用代币详细信息跟踪ERC20代币转移
  • ABI合同:获取智能合约ABI进行开发
  • 合同代码:获取智能合约代码以进行开发
  • 天然气价格:监控当前天然气价格(安全低、标准、快速)
  • ENS 分辨率:将以太坊地址解析为ENS名称

先决条件

  • Node.js>=18
  • Etherscan API密钥(在https://etherscan.io/apis)

安装

通过Smithery安装

通过以下方式自动安装适用于Claude Desktop的MCP Etherscan服务器 史密瑟里:

npx -y @smithery/cli install mcp-etherscan-server --client claude
  1. 克隆存储库:
git clone [your-repo-url]
cd mcp-etherscan-server
  1. 安装依赖项:
npm install
  1. 创建一个 .env 根目录中的文件:
ETHERSCAN_API_KEY=your_api_key_here
  1. 构建项目:
npm run build

运行服务器

启动服务器:

npm start

服务器在stdio上运行,使其与Cursor和Claude Desktop等MCP客户端兼容。

运作原理

该服务器实现模型上下文协议(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-contract-code

    • 输入:合同地址
    • 输出:字符串格式的合同代码
  6. get-gas-prices

    • 输入:无
    • 产量:桂目前的天然气价格
  7. get-ens-name

    • 输入:以太坊地址
    • 输出:相关ENS名称(如果可用)

与光标一起使用

要将此服务器添加到Cursor,请执行以下操作:

  1. 打开 Cursor 并前往 Cursor settings -> MCP

  2. 选择添加MCP服务器的选项 locally 或 globally,这将打开一个JSON配置文件。

  3. 添加配置详细信息。您可以通过Smithery或本地的此仓库添加MCP服务器:

    史密瑟里

    使用smithery.ai(此步骤需要一个smithery.al帐户)

    1. 在web浏览器中导航到此URL:https://smithery.ai/server/@ThirdGuard/mcp以太扫描服务器

    2. 在字段中输入您的Etherscan API密钥 etherscanApiKey 然后单击 connect 按钮

    3. 导航到 Cursor 选项卡,复制命令,并在终端中运行它。

    手册

    将以下配置粘贴到JSON文件中并替换 ETHERSCAN-API-KEY-HERE 使用您的Etherscan API密钥:

    {
      "Etherscan Tools": {
        "command": "npx",
        "args": [
          "-y",
          "@smithery/cli@latest",
          "run",
          "@ThirdGuard/mcp-etherscan-server",
          "--config",
          "\"{\\\"etherscanApiKey\\\":\\\"ETHERSCAN-API-KEY-HERE\\\"}\""
        ]
      }
    }
    

    本地

    将以下配置粘贴到JSON文件中并替换 ABSOLUTE-PATH-HERE/mcp-etherscan-server/start.sh 通过绝对路径 start.sh 在这个repo中:

    {
      "Etherscan Tools (local)": {
        "command": "ABSOLUTE-PATH-HERE/mcp-etherscan-server/start.sh",
        "args": []
      }
    }
    
  4. 保存配置

  5. Etherscan工具现在可以在您的Cursor AI对话中使用

游标用法示例

您可以使用以下命令:

Check the balance of 0x742d35Cc6634C0532925a3b844Bc454e4438f44e

或

Get the code of this smart contract: 0xdAC17F958D2ee523a2206206994597C13D831ec7 (USDT)

发展

要添加新功能或修改现有功能,请执行以下操作:

  1. 主服务器逻辑位于 src/server.ts
  2. Etherscan API交互在 src/services/etherscanService.ts
  3. 跑 npm run build 更改后

许可证

MIT许可证-有关详细信息,请参阅许可证文件