MCP server for orchestrating multi-process rr debugging sessions
Most knowledge and memory work still happens through a UI a human drives. Rr MCP server moves it into the conversation instead. MCP server for orchestrating multi-process rr debugging sessions.
MCP (Model Context Protocol) server for orchestrating multi-process rr debugging sessions.
rr-mcp enables AI agents (like Claude) to debug multi-process applications using rr's record-and-replay capabilities. It provides:
The server publishes 14 tools. What each one is for:
traces_list — List all available rr recordings on the systemtrace_info — Get metadata about a trace (creation time, binary, etc.)trace_processes — List processes in a trace with PIDs and exec infosession_create — Create a replay session for a specific process. Supports pid (exec'd processes) and fork_pid (forked-without-exec children)session_list — List all active replay sessionssession_close — End a session and free its resourcesrun_to_event — Jump to a specific rr event numberinterrupt — Stop a running programbreakpoint_set — Set breakpoints by function, file:line, or address. Supports conditional (condition) and temporary breakpoints. Pending breakpoints are enabledbreakpoint_delete — Delete a breakpoint by numberbreakpoint_list — List all breakpoints with their statewatchpoint_set — Break on memory writes, reads, or access to an expressionThe server ships on PyPI as rr-mcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.
This sits in the knowledge and memory group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Rr's toolset — traces_list, trace_info, trace_processes and 11 more — is a fair guide to whether it matches your workflow.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| traces_list | List all available rr recordings on the system |
| trace_info | Get metadata about a trace (creation time, binary, etc.) |
| trace_processes | List processes in a trace with PIDs and exec info |
| session_create | Create a replay session for a specific process. Supports pid (exec'd processes) and fork_pid (forked-without-exec children) |
| session_list | List all active replay sessions |
| session_close | End a session and free its resources |
| run_to_event | Jump to a specific rr event number |
| interrupt | Stop a running program |
| breakpoint_set | Set breakpoints by function, file:line, or address. Supports conditional (condition) and temporary breakpoints. Pending breakpoints are enabled automatically for unloaded code |
| breakpoint_delete | Delete a breakpoint by number |
| breakpoint_list | List all breakpoints with their state |
| watchpoint_set | Break on memory writes, reads, or access to an expression |
| catch | Catchpoints for C++ throw/catch, syscalls (optionally filtered by name), and signals |
| backtrace | Call stack with optional full mode (includes locals per frame) |
{
"mcpServers": {
"rr": {
"command": "uvx",
"args": ["rr-mcp"]
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
A knowledge graph your assistant keeps between sessions — entities, relations and observations that persist.
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Your workspace, on speaking terms with AI — search, read and write Notion pages and databases.
A structured scratchpad for hard problems — stepwise reasoning with revisions, branches and visible logic.
Symbol-level code navigation, refactoring and memory for coding agents — the IDE brain your assistant has been missing.
Chat with your second brain — search, read and write vault notes through the Local REST API.