项目简介

'lldb-mcp' 项目为LLDB调试器提供Model-Context Protocol (MCP) 集成,允许AI助手(如Claude)通过标准化的JSON-RPC接口与您的调试会话进行交互。该项目包含一个MCP服务器 ('lisa.py'),它充当桥梁,将AI助手的请求转换为LLDB命令,并将结果以结构化格式返回。

主要功能点

  • 集成LLDB调试器: 允许AI助手直接控制和访问LLDB调试器的功能。
  • 基于MCP协议: 使用标准化的Model-Context Protocol进行通信,确保与兼容MCP客户端的互操作性。
  • 工具 (Tools) 丰富: 提供丰富的LLDB工具集,包括断点管理、进程控制、内存读取、寄存器查看、反汇编等,方便AI助手进行深度调试。
  • 支持 Claude for Desktop: 特别优化与Claude for Desktop的集成,允许用户在Claude界面中使用自然语言控制LLDB。
  • 多种使用方式: 支持通过 Claude for Desktop 集成,也支持直接在LLDB中使用插件,满足不同用户的需求。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.10 或更高版本。
    • 确保已安装带有 Python 绑定的 LLDB。
    • 安装 'fastmcp' Python 包,用于 Claude Desktop 集成。
  2. 克隆仓库:

    git clone https://github.com/ant4g0nist/lldb-mcp.git
    cd lldb-mcp
  3. 安装依赖: 使用 pip 或 uv 安装所需的 Python 包:

    pip install "fastmcp>=1.2.0" httpx

    uv install "fastmcp>=1.2.0" httpx

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude for Desktop)连接,您需要配置客户端以指向此服务器。以下是 Claude for Desktop 的配置示例,您需要编辑 'claude_desktop_config.json' 文件,通常位于 '~/Library/Application Support/Claude/' 目录下。

{
  "mcpServers": {
    "lldb": {  // 服务器名称,可以自定义
      "command": "/path/to/your/.local/bin/uv",  //  启动服务器的命令,这里假设 uv 已安装并位于此路径。请替换为您的实际 uv 或 python 路径
      "args": [  //  命令参数列表
        "--directory",  //  指定工作目录参数
        "/path/to/your/lldb-mcp/llmcp",  //  服务器代码所在的目录,请替换为您的实际路径
        "run",  //  运行命令
        "lldb_mcp.py"  //  服务器启动脚本名称
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'lldb' - 服务器在客户端中显示的名称,可以自定义。
  • 'command': '/path/to/your/.local/bin/uv' - 重要: 启动 MCP 服务器的命令。根据您的环境,这可能是 Python 解释器的路径 ('/usr/bin/python3') 或如示例中使用的 'uv' (如果使用 uv 虚拟环境)。请务必替换为您的 Python 环境中可执行 'lldb_mcp.py' 的命令。
  • 'args': 启动命令的参数列表。
    • '--directory': 指定服务器脚本 'lldb_mcp.py' 所在的工作目录。
    • '/path/to/your/lldb-mcp/llmcp': 重要: 服务器脚本 'lldb_mcp.py' 所在的目录路径。请替换为您的实际 'lldb-mcp/llmcp' 目录的绝对路径。
    • 'run': 告诉 'uv' 或 Python 运行接下来的脚本。
    • 'lldb_mcp.py': 重要: MCP 服务器的启动脚本名称。

注意: 请根据您的实际 Python 环境和 'lldb-mcp' 仓库的存放路径,正确配置 'command' 和 'args' 字段。

基本使用方法

  1. 启动 MCP 服务器:

    • 方法一 (Claude for Desktop): 配置 'claude_desktop_config.json' 后,重启 Claude for Desktop,服务器将随 Claude 启动。
    • 方法二 (直接 LLDB 集成): 在 LLDB 会话中,使用 'command script import lisa.py' 加载插件,然后使用 'mcp start' 命令启动服务器。
  2. 连接 MCP 客户端:

    • Claude for Desktop: 配置正确后,Claude for Desktop 将自动检测并连接到 LLDB MCP 服务器。您可以在 Claude 界面中找到 LLDB 工具(锤子图标)。
    • 其他 MCP 客户端: 任何 MCP 客户端都可以通过 HTTP 连接到 'http://localhost:13338' (默认端口) 来使用该服务器。
  3. 使用 AI 助手调试: 连接成功后,您可以使用自然语言指令,通过 AI 助手控制 LLDB 进行调试,例如:

    • "在 '/path/to/executable' 调试这个程序"
    • "在 main 函数设置断点"
    • "使用参数 '-v input.txt' 运行程序"
    • "显示当前帧的变量"
    • "单步进入下一个函数调用"
    • "当前的回溯是什么?"
    • "计算表达式 'ptr->data[i]'"
    • "显示当前指令的汇编代码"

信息

分类

开发者工具