Official · MODEL CONTEXT PROTOCOL
fdrechsler mcp server idapro
A Model Context Protocol (MCP) server that enables AI assistants to interact with IDA Pro for reverse engineering and binary analysis tasks.
WHAT IT CONNECTS
fdrechsler mcp server idapro 为 AI Agent 提供什么
- Execute Python scripts in IDA Pro from AI assistants
- Retrieve information about binaries:
- Strings
- Imports
- Exports
- Functions
- Advanced binary analysis capabilities:
- Search for immediate values in instructions
- Search for text strings in the binary
- Search for specific byte sequences
- Get disassembly for address ranges
- Automate IDA Pro operations through a standardized interface
- Secure communication between components
- IDA Pro 8.3 or later
- Node.js 18 or later
- TypeScript
- Copy `ida_remote_server.py` to your IDA Pro plugins directory:
- Windows: `%PROGRAMFILES%\IDA Pro\plugins`
- macOS: `/Applications/IDA Pro.app/Contents/MacOS/plugins`
- Linux: `/opt/idapro/plugins`
- Start IDA Pro and open a binary file.
- The plugin will automatically start an HTTP server on `127.0.0.1:9045`.
- Clone this repository:
- Install dependencies:
- Build the project:
- Configure the MCP server in your AI assistant's MCP settings file:
- `scriptPath` (required): Absolute path to the script file to execute
- `outputPath` (optional): Absolute path to save the script's output to
- `value` (required): Value to search for (number or string)
- `radix` (optional): Radix for number conversion (default: 16)
- `startAddress` (optional): Start address for search
- `endAddress` (optional): End address for search
- `text` (required): Text to search for
- `caseSensitive` (optional): Whether the search is case sensitive (default: false)
- `startAddress` (optional): Start address for search
- `endAddress` (optional): End address for search
- `bytes` (required): Byte sequence to search for (e.g., "90 90 90" for three NOPs)
- `startAddress` (optional): Start address for search
- `endAddress` (optional): End address for search
- `startAddress` (required): Start address for disassembly
- `endAddress` (optional): End address for disassembly
- `count` (optional): Number of instructions to disassemble
- None required
- None required
- None required
- `GET /api/info`: Get plugin information
- `GET /api/strings`: Get strings from the binary
- `GET /api/exports`: Get exports from the binary
- `GET /api/imports`: Get imports from the binary
- `GET /api/functions`: Get function list
- `GET /api/search/immediate`: Search for immediate values in instructions
- `GET /api/search/text`: Search for text in the binary
- `GET /api/search/bytes`: Search for byte sequences in the binary
- `GET /api/disassembly`: Get disassembly for an address range
- `POST /api/execute`: Execute Python script (JSON/Form)
- `POST /api/executebypath`: Execute Python script from file path
- `POST /api/executebody`: Execute Python script from raw body
SECURITY
MCP 收录不等于安全审核
MCP 服务器可能获得模型上下文、凭据、本地文件或调用外部系统的权限。连接 Agent 前,请检查代码、环境变量、网络行为、软件包来源与维护状态。