Claude in your debugger: LLDB gets an AI copilot
A two-part bridge that lets LLMs control LLDB through natural language, so you can say "step into main" instead of memorizing command syntax.

What it does
lisa.py wires LLDB into the Model Context Protocol (MCP), the same standard Claude Desktop uses for tool calling. One half runs as an MCP server; the other loads as an LLDB plugin speaking JSON-RPC. The result: an AI assistant can create targets, set breakpoints, read memory, evaluate expressions, and run arbitrary LLDB commands without you typing a thing.
The interesting bit
The split architecture is the clever part. The plugin lives inside LLDB’s Python runtime and exposes debugger state via HTTP on localhost:13338. The MCP server translates Claude’s natural-language requests into structured JSON-RPC calls. This keeps the heavy debugging logic in-process while letting the AI client stay blissfully ignorant of LLDB’s command syntax.
Key highlights
- Full debugging vocabulary exposed to LLMs: breakpoints, backtraces, disassembly, memory reads, expression evaluation, process attach/detach
- Works two ways: Claude Desktop integration via
fastmcp, or direct LLDB use withmcp start - Auto-load via
~/.lldbinitfor the direct path - Includes
run_lldb_commandas an escape hatch for anything not in the structured API - Credits a who’s-who of reverse-engineering tooling (voltron, gef, chisel, ida-pro-mcp) as prior art
Caveats
- README still says “clone lldb-mcp” while the repo is named
lisa.py; the install paths don’t quite match - TODO lists “update instruction manuals” and “add more testcases” as incomplete
- Port 13338 is hardcoded; collision with another service means manual conflict resolution
Verdict
Worth a look if you debug on macOS/ARM64 regularly and already use Claude Desktop. Skip it if you want a polished, fully-documented product today — this is functional glue code with rough edges, not a shrink-wrapped tool.