使用说明

项目简介

Radare2 MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在将强大的逆向工程工具 radare2 的能力集成到 AI 助手(如 Claude)中。通过该服务器,AI 助手可以利用 radare2 分析二进制文件,获取文件信息、执行命令、进行反汇编等操作,从而扩展 AI 在安全分析、漏洞挖掘等领域的应用能力。

主要功能点

  • radare2 集成: 直接将 radare2 的核心功能暴露给 AI 助手,无需复杂配置。
  • 资源访问: 提供多种预定义的资源,例如:
    • 当前文件信息
    • 函数列表
    • 导入表和导出表
    • 字符串
    • 内存数据
    • 反汇编代码
  • 工具调用: 支持通过工具调用执行 radare2 命令,例如:
    • 打开和关闭文件
    • 运行任意 radare2 命令
    • 执行代码分析
    • 反汇编指定地址的代码

安装步骤

  1. 环境准备: 确保已安装以下依赖:

    • radare2 (需包含开发头文件)
    • pkg-config
    • gcc 或兼容的 C 编译器
  2. 克隆仓库:

    git clone https://github.com/dnakov/radare2-mcp.git
    cd radare2-mcp
  3. 编译服务器:

    make
  4. 安装服务器: (可能需要 sudo 权限)

    make install

    安装后,'r2_mcp' 可执行文件通常位于 '/usr/local/bin' 目录。

服务器配置

MCP 服务器是为 MCP 客户端设计的。要将 Radare2 MCP Server 与 MCP 客户端(例如 Claude Desktop)连接,您需要在 MCP 客户端的配置文件中指定服务器的启动命令。

对于 Claude Desktop,您需要编辑 'claude_desktop_config.json' 文件,该文件通常位于:

  • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%\Claude\claude_desktop_config.json'
  • Linux: '~/.config/Claude/claude_desktop_config.json'

在 'mcpServers' 字段下添加 Radare2 MCP Server 的配置:

{
  "mcpServers": {
    "radare2": {
      "command": "/path/to/r2_mcp"
    }
  }
}

将 '/path/to/r2_mcp' 替换为 'r2_mcp' 可执行文件的实际安装路径 (例如 '/usr/local/bin/r2_mcp')。

基本使用方法

启动 Radare2 MCP Server 后,它将作为 MCP 客户端的后端服务运行。客户端通过 JSON-RPC 协议与服务器通信,发送请求以访问资源或调用工具。

例如,在 Claude 中,您可以指示 Claude 使用 "radare2" 服务器来分析二进制文件。Claude 将根据您的指令,调用 Radare2 MCP Server 提供的工具和资源,并将分析结果返回给您。

注意: Radare2 MCP Server 通过标准输入/输出 (stdin/stdout) 进行通信,并以命令行程序的方式运行。

信息

分类

开发者工具