Home / MCP / IDA Pro MCP Server
Provides an MCP server to streamline interactive analysis and prompts for IDA Pro reverse engineering workflows.
Configuration
View docs{
"mcpServers": {
"ida_pro_mcp": {
"url": "http://127.0.0.1:8744/sse"
}
}
}This MCP server enables IDA Pro to interact with a large language model-powered assistant for reverse engineering workflows. It provides automated tooling, stateful interactions, and convenient transports to connect with MCP clients while you analyze binaries inside IDA Pro.
You use this server by launching it and connecting your MCP client to the provided MCP endpoint. The server exposes a standard interface that your client can talk to, enabling you to run analysis tools, query decompiled information, and apply structured edits to your disassembly and decompiler views. Start by loading a binary into IDA Pro, then connect your MCP client to the server URL or via the local transport to begin interactive prompts, analysis actions, and result retrieval.
Typical usage patterns include initiating a decompilation analysis, requesting type information for local variables, and applying renames or type changes to improve readability. You can also invoke multi-step analysis flows, such as cross-referencing function calls, inspecting strings and constants, and generating a compact report of findings. Use the provided tools to perform these actions and iteratively refine your insights as you work through the binary.
Prerequisites you need to meet before installing the MCP server:
Install the latest IDA Pro MCP package and set up the server components using the commands below. Run these in your system shell.
pip uninstall ida-pro-mcp
pip install https://github.com/mrexodia/ida-pro-mcp/archive/refs/heads/main.zipConfigure the MCP servers and install the IDA Plugin. Run this to install the plugin and prepare the server for use.
ida-pro-mcp --installImportant: After installation, completely restart IDA Pro and your MCP client to ensure the changes take effect. Some clients may run in the background and need to be manually quit before restarting.
You will typically load a binary in IDA Pro before the plugin menu becomes available.
Get function(s) by address or name with auto-detection, accepting single or multiple queries.
Convert numbers between decimal, hex, bytes, ASCII, and binary formats.
List functions with pagination and filters.
List global variables with pagination and filters.
List all imported symbols with their modules.
Decompile the function at a given address.
Disassemble a function with full details including arguments and stack frame.
Get all cross-references to one or more addresses.
Get cross-references to specific struct fields.
List functions called by a given function or set of functions.
Add comments to addresses in both disassembly and decompiler views.
Patch assembly instructions at the given addresses.
Declare or update C types in the local type library.
Read raw bytes from a set of addresses.
Read integer values with specified type information.
Read null-terminated strings from memory.
Read values of global variables by address or name.
Retrieve stack frame variables for functions.
Create stack variables at specified offsets.
Remove stack variables by name.
Read structure field values at specified addresses.
Search for structures by name pattern.
Search strings using a case-insensitive regular expression.
Find byte patterns in the binary.
Find instruction sequences in code.
Advanced search for immediate values, strings, and references.
Get basic blocks with their control flow information.
Apply types to functions, globals, locals, or stack variables.
Infer types at addresses using heuristics or analysis tools.
Export functions in formats such as JSON, C headers, or prototypes.
Build a call graph from root function(s) with configurable depth.
Batch rename functions, globals, locals, and stack variables.
Apply multiple patches to byte sequences.
Write integer values using specified types.
Execute arbitrary Python code within the IDA context.
Perform comprehensive analysis across decompilation, assembly, strings, and references.
Search for strings using regular expressions (case-insensitive).