使用说明

项目简介

ETH安全MCP服务器 (ETH Security MCP) 是一组基于 Model Context Protocol (MCP) 构建的服务器,专门为以太坊安全分析、代码审计和事件响应场景设计。它旨在为安全专业人员提供便捷的工具,以便在与大型语言模型 (LLM) 交互时,能够访问链上数据和以太坊函数签名信息,从而提升分析效率和深度。

主要功能点

该项目目前包含两个独立的MCP服务器:

  1. Dune MCP 服务器:

    • 功能:集成 Dune Analytics API,提供访问以太坊交易数据的功能。
    • 工具:'get_transactions_by_address' - 根据以太坊地址检索交易记录,支持按链ID、方法ID、日志地址、事件主题等多种条件过滤。
  2. 4byte MCP 服务器:

    • 功能:集成 4byte API,提供以太坊函数签名查询功能。
    • 工具:'retrieve_function_signature' - 根据函数选择器(function selector)检索对应的函数签名,返回最佳匹配和所有匹配结果。

安装步骤

  1. 安装依赖: 确保已安装 Node.jsnpm
  2. 克隆仓库:
    git clone https://github.com/sirocco-k1/eth-security-mcp.git
    cd eth-security-mcp
  3. 配置环境变量: 复制 '.env.example' 文件为 '.env',并根据需要填写 API 密钥。
    cp .env.example .env
    如果你计划使用 Dune MCP 服务器,需要在 '.env' 文件中设置 'DUNE_API_KEY'。
  4. 安装项目依赖:
    npm install
  5. 构建服务器: 使用 'just' 构建特定的 MCP 服务器。例如,构建 'dune' 服务器:
    just build dune
    或构建 '4byte' 服务器:
    just build 4byte

服务器配置 (用于 MCP 客户端,如 Claude Desktop)

要将这些 MCP 服务器集成到 MCP 客户端(例如 Claude Desktop),你需要配置服务器的启动信息。以下是 Dune 和 4byte 服务器的配置示例,你可以将它们添加到 MCP 客户端的配置文件中。

Dune MCP 服务器配置:

{
  "serverName": "dune",  // 服务器名称,在客户端中用于标识
  "command": "node",     // 启动服务器的命令,这里使用 Node.js 运行
  "args": ["./src/dune/index.js"] // 命令参数,指向 Dune 服务器的入口文件
}

4byte MCP 服务器配置:

{
  "serverName": "4byte", // 服务器名称,在客户端中用于标识
  "command": "node",    // 启动服务器的命令,这里使用 Node.js 运行
  "args": ["./src/4byte/index.js"] // 命令参数,指向 4byte 服务器的入口文件
}

将上述 JSON 配置添加到你的 MCP 客户端配置文件 (例如 Claude Desktop 的 'claude_desktop_config.json' 文件) 的 'mcpServers' 数组中。

基本使用方法

成功安装和配置 MCP 服务器后,在支持 MCP 协议的 LLM 客户端中,你可以通过自然语言指令调用这些服务器提供的工具。

例如,在 Claude Desktop 中:

  • 使用 Dune 服务器查询交易: 你可以这样指示 Claude:“使用 'get_transactions_by_address' 工具查询地址 '0xYourEthereumAddress' 的交易记录”。Claude 将调用 Dune MCP 服务器,并返回相关的交易数据。

  • 使用 4byte 服务器查询函数签名: 你可以这样指示 Claude:“使用 'retrieve_function_signature' 工具查询函数选择器 '0xFunctionSelector' 的签名”。Claude 将调用 4byte MCP 服务器,并返回函数签名信息。

请注意替换 '0xYourEthereumAddress' 和 '0xFunctionSelector' 为你实际要查询的地址和函数选择器。具体的工具参数和使用方式可以参考每个工具的描述信息。

信息

分类

网页与API