PCM

by rand-tech
Integrations
  • Enables reverse engineering capabilities with IRIS Reverse Engineering technology, referenced as a related project (MxIris-Reverse-Engineering).

pcm

PCM (MCP but reversed), MCP for reverse engineering.

Features

  • Analysis
    • IDA
      • repl (IDAPython)
      • disassembly
      • decompilation
      • set types
      • ...
  • Memory
    • Engagement reports
- `get_function_by_name(name)`: Get a function by its name. - `get_function_by_address(address)`: Get a function by its address. - `get_current_address()`: Get the address currently selected by the user. - `get_current_function()`: Get the function currently selected by the user. - `list_functions()`: List all functions in the database. - `decompile_function(address)`: Decompile a function at the given address using Hex-Rays. - `disassemble_function(address)`: Get assembly code (address: instruction; comment) for a function. - `get_entrypoints()`: Get all entrypoints in the binary. - `get_function_blocks(address)`: Get all basic blocks in a function. - `get_function_cfg(address)`: Get control flow graph for a function. - `get_xrefs_to(address)`: Get all cross references to the given address. - `get_xrefs_from(address)`: Get all cross references from the given address. - `set_decompiler_comment(address, comment)`: Set a comment for a given address in the function pseudocode. - `set_disassembly_comment(address, comment)`: Set a comment for a given address in the function disassembly. - `rename_local_variable(function_address, old_name, new_name)`: Rename a local variable in a function. - `rename_function(function_address, new_name)`: Rename a function. - `set_function_prototype(function_address, prototype)`: Set a function's prototype. - `set_local_variable_type(function_address, variable_name, new_type)`: Set a local variable's type. - `create_structure_type(name, members, is_union)`: Create a new structure type. - `get_metadata()`: Get metadata about the current IDB. - `repl_idapython(content)`: Run IDAPython code and return the results with stdout/stderr captured. - `add_note(title, content, address, tags)`: Add a new analysis note for the current binary. - `update_note(note_id, title, content, tags)`: Update an existing note. - `get_notes(file_md5, address, tag)`: Get analysis notes for a binary. - `delete_note(note_id)`: Delete an analysis note.

Installations

Prerequisites:

  1. Clone the repository
    git clone https://github.com/rand-tech/pcm
  2. Add pcm to you mcp config example
    { "mcpServers": { "pcm": { "command": "uv", "args": [ "--directory", "path_to/pcm", "run", "server.py" ] } } }
  3. Use the MCP

Related projects:

Attribution: This project is based on IDA Pro MCP by Duncan Ogilvie (@mrexodia). Thank you

License: This project is licensed under the MIT License - see the LICENSE file for details. The original code is also licensed under the MIT License.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

MCP server for reverse engineering that enables interaction with IDA Pro for analysis tasks such as decompilation, disassembly, and memory engagement reports.

  1. Features
    1. Installations

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        An MCP server that provides a comprehensive interface to Semgrep, enabling users to scan code for security vulnerabilities, create custom rules, and analyze scan results through the Model Context Protocol.
        Last updated -
        6
        140
        Python
        MIT License
        • Linux
        • Apple
      • A
        security
        A
        license
        A
        quality
        A Model Context Protocol server that enables AI assistants to interact with IDA Pro for reverse engineering and binary analysis tasks.
        Last updated -
        8
        14
        Python
        MIT License
        • Linux
        • Apple
      • A
        security
        A
        license
        A
        quality
        MCP Server for automated reverse engineering with IDA Pro.
        Last updated -
        22
        1,807
        Python
        MIT License
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        An MCP server that allows LLMs to autonomously reverse engineer applications by exposing Ghidra functionality, enabling decompilation, analysis, and automatic renaming of methods and data.
        Last updated -
        4,290
        Apache 2.0
        • Apple

      View all related MCP servers

      ID: ma2f8iji6w