ida-mcp-server
by: MxIris-Reverse-Engineering
A Model Context Protocol server for IDA
📌Overview
Purpose: To provide a Model Context Protocol server for automating interactions with IDA, enabling enhanced database reading through Large Language Models.
Overview: The IDA MCP Server facilitates automation and interaction with IDA databases, leveraging advanced capabilities offered by Large Language Models. Currently in early development, the server's features and tools are poised for future enhancements.
Key Features:
-
Integration with Large Language Models: Allows users to access and manipulate IDA databases effectively, improving automation and data processing capabilities.
-
Flexible Installation Options: Supports installation via
uv
(recommended) orpip
, offering users ease of setup to suit their environment.
IDA MCP Server
Note: The idalib mode is under development and will not require installing the IDA plugin or running IDA (idalib is available from IDA Pro 9.0+).
Overview
A Model Context Protocol server for IDA interaction and automation. This server provides tools to read the IDA database via Large Language Models.
The mcp-server-ida is currently in early development. Functionality and available tools are subject to change and expansion.
Installation
Using uv (recommended)
No specific installation is needed when using uv. You can use uvx to directly run mcp-server-ida.
Using PIP
Alternatively, install mcp-server-ida
via pip:
pip install mcp-server-ida
Run it as a script using:
python -m mcp_server_ida
IDA-Side Setup
Copy repository/plugin/ida_mcp_server_plugin.py
and the repository/plugin/ida_mcp_server_plugin
directory into IDA's plugin directory:
- Windows:
%APPDATA%\Hex-Rays\IDA Pro\plugins
- Linux/macOS:
$HOME/.idapro/plugins
(e.g.,~/.idapro/plugins
)
Configuration
Usage with Claude Desktop
Add the following to your claude_desktop_config.json
:
Using uvx
"mcpServers": {
"git": {
"command": "uvx",
"args": [
"mcp-server-ida"
]
}
}
Using pip installation
"mcpServers": {
"git": {
"command": "python",
"args": [
"-m",
"mcp_server_ida"
]
}
}
Debugging
Use the MCP inspector to debug the server.
For uvx installations:
npx @modelcontextprotocol/inspector uvx mcp-server-ida
If developing locally or installed in a specific directory:
cd path/to/mcp-server-ida/src
npx @modelcontextprotocol/inspector uv run mcp-server-ida
Check the logs with:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Development
For local development, test changes by:
- Running the MCP inspector (see Debugging section).
- Testing with the Claude desktop app by adding to
claude_desktop_config.json
:
{
"mcpServers": {
"git": {
"command": "uv",
"args": [
"--directory",
"/<path to mcp-server-ida>",
"run",
"mcp-server-ida"
]
}
}
}