LabscoMCP early access ↗
rand-techMCP SERVER

PCM

Reverse engineering in IDA Pro from an AI client — decompile, rename, retype, comment, and keep notes on the binary.

by rand-tech ↗Runtime Debugging & Crash AnalysisCommunity

No longer maintained. The GitHub repository for this server is archived — no fixes or security updates are expected.

View project ↗

LABSCO SUMMARY

The notes store is what makes it more than a remote control for IDA.

Renaming a function and setting a prototype improve the database; attaching a note to an address, tagged and retrievable by binary, captures the reasoning that the database itself cannot hold — and that is the thing you lose between sessions on a long engagement. The IDAPython escape hatch covers everything else, and it returns captured output rather than leaving you guessing whether the script ran.

What it is

An MCP server for reverse engineering with IDA Pro. It exposes the analysis surface an agent needs — functions, cross references, decompilation, renaming and typing — plus a notes store so findings survive between sessions.

What you get

  • Finding your way: list_functions, get_function_by_name, get_function_by_address, get_current_address, get_current_function, get_entrypoints, get_metadata
  • Reading code: decompile_function through Hex-Rays, disassemble_function with addresses and comments, get_function_blocks and get_function_cfg
  • Following the graph: get_xrefs_to and get_xrefs_from for any address
  • Writing your understanding back into the database: rename_function, rename_local_variable, set_function_prototype, set_local_variable_type, create_structure_type
  • Annotating: set_decompiler_comment and set_disassembly_comment at a given address
  • repl_idapython runs IDAPython and captures stdout and stderr, for anything the tools do not cover
  • Engagement notes tied to the binary: add_note, update_note, get_notes filtered by file, address or tag, and delete_note

Requirements

IDA Pro with Hex-Rays for the decompiler tools, and uv. Clone the repository and add it to your client config, running server.py from the checkout directory. The project is based on IDA Pro MCP and is MIT licensed.

Setup effort

Build from source — clone the repository, then follow the project's own run instructions