项目简介
'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中使用插件,满足不同用户的需求。
安装步骤
-
环境准备:
- 确保已安装 Python 3.10 或更高版本。
- 确保已安装带有 Python 绑定的 LLDB。
- 安装 'fastmcp' Python 包,用于 Claude Desktop 集成。
-
克隆仓库:
git clone https://github.com/ant4g0nist/lldb-mcp.git cd lldb-mcp -
安装依赖: 使用 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' 字段。
基本使用方法
-
启动 MCP 服务器:
- 方法一 (Claude for Desktop): 配置 'claude_desktop_config.json' 后,重启 Claude for Desktop,服务器将随 Claude 启动。
- 方法二 (直接 LLDB 集成): 在 LLDB 会话中,使用 'command script import lisa.py' 加载插件,然后使用 'mcp start' 命令启动服务器。
-
连接 MCP 客户端:
- Claude for Desktop: 配置正确后,Claude for Desktop 将自动检测并连接到 LLDB MCP 服务器。您可以在 Claude 界面中找到 LLDB 工具(锤子图标)。
- 其他 MCP 客户端: 任何 MCP 客户端都可以通过 HTTP 连接到 'http://localhost:13338' (默认端口) 来使用该服务器。
-
使用 AI 助手调试: 连接成功后,您可以使用自然语言指令,通过 AI 助手控制 LLDB 进行调试,例如:
- "在 '/path/to/executable' 调试这个程序"
- "在 main 函数设置断点"
- "使用参数 '-v input.txt' 运行程序"
- "显示当前帧的变量"
- "单步进入下一个函数调用"
- "当前的回溯是什么?"
- "计算表达式 'ptr->data[i]'"
- "显示当前指令的汇编代码"
信息
分类
开发者工具