Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
IDAssistMCP — Standalone MCP server plugin for IDA Pro. | Kitploit
Tools/GitHubGitHub/symgraph/idassistmcp
Static AnalysisDynamic Analysis (Sandboxing)Vulnerability AnalysisCode AnalysisExploitationReverse EngineeringDebuggersMalware AnalysisPenetration TestingBinary AnalysisAI-Assisted ReversingFirmware Analysis
4610104 months agoReviewed by Kitploit
GitHubsymgraph/idassistmcp

IDAssistMCP

Standalone MCP server plugin for IDA Pro.

View Repository

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

IDAssistMCP

Standalone MCP (Model Context Protocol) server plugin for IDA Pro 9.x that exposes IDA's analysis capabilities to LLM clients like Claude Desktop.

Screenshot

Features

  • 41 MCP tools covering binary analysis, decompilation, cross-references, symbol management, type system, navigation, patching, export, and more
  • 6 consolidated tools with action/format/direction parameters for comments, variables, types, xrefs, bookmarks, and code
  • 8 MCP resources for browsable binary metadata (triage, functions, imports, exports, strings, info, segments, sections)
  • 7 guided prompts for common reverse engineering workflows (function analysis, vulnerability identification, documentation, data flow tracing, function comparison, struct recovery, network protocol analysis)
  • SSE and Streamable HTTP transports via Hypercorn ASGI server
  • Thread-safe IDB modifications via execute_on_main_thread() wrapper
  • LRU analysis cache for expensive operations like decompilation
  • Async task manager for long-running operations
  • Pydantic configuration with environment variable support (IDASSISTMCP_ prefix)
Download Tool

Installation

Prerequisites

  • IDA Pro 9.x with Python 3.10+
  • Hex-Rays decompiler (optional, for decompilation tools)

Option 1: IDA Plugin Manager (recommended)

root@kitploit:~
hcli plugin install idassistmcp

This automatically installs the plugin and its Python dependencies.

Option 2: Manual install (from release tarball)

Download the latest release zip from GitHub Releases and extract it into your IDA plugins directory:

Linux / macOS:

root@kitploit:~
unzip IDAssistMCP-*.zip -d ~/.idapro/plugins/

Windows: Extract the zip into %APPDATA%\Hex-Rays\IDA Pro\plugins\.

Then install dependencies using IDA's bundled Python (not your system Python):

Linux / macOS:

root@kitploit:~
<IDA_INSTALL_DIR>/python3/bin/pip3 install -r ~/.idapro/plugins/IDAssistMCP/requirements.txt

Windows:

root@kitploit:~
"<IDA_INSTALL_DIR>\python3\python.exe" -m pip install -r "%APPDATA%\Hex-Rays\IDA Pro\plugins\IDAssistMCP\requirements.txt"

Replace <IDA_INSTALL_DIR> with your IDA Pro installation path.

Tip: You can also use the IDAUSR environment variable to specify a custom plugins directory.

Usage

Starting the Server

  1. Open a binary in IDA Pro
  2. Press Ctrl+Shift+M or go to Edit > Plugins > IDAssistMCP
  3. The MCP server URL will be printed to IDA's output window
  4. Press Ctrl+Shift+M again to stop the server

Claude Desktop Configuration

Add to your Claude Desktop claude_desktop_config.json:

root@kitploit:~
{
  "mcpServers": {
    "idassistmcp": {
      "url": "http://localhost:9080/mcp"
    }
  }
}

Environment Variables

Configure via environment variables with the IDASSISTMCP_ prefix:

VariableDefaultDescription
IDASSISTMCP_SERVER__HOSTlocalhostServer bind address
IDASSISTMCP_SERVER__PORT9080Server port
IDASSISTMCP_SERVER__TRANSPORTstreamablehttpTransport type (sse or streamablehttp)
IDASSISTMCP_DEBUGfalseEnable debug mode
IDASSISTMCP_LOG_LEVELINFOLog level

Tools Reference

Binary Management (2)

ToolDescription
list_binariesList the currently loaded binary
get_binary_infoDetailed binary metadata (arch, hashes, segments)

Code Analysis (4)

ToolDescription
get_codeGet function code — format: 'decompile' (pseudo-C) or 'disasm' (assembly)
analyze_functionComprehensive analysis: metadata, CFG, callers/callees, decompilation
get_basic_blocksCFG basic blocks with successors/predecessors
get_function_stack_layoutStack frame layout (locals, args, saved regs)

Cross-References (1 consolidated)

ToolActionsDescription
xrefsdirection: to/from/both, include_calls: boolXrefs and optional callers/callees for an address

Comments (1 consolidated)

ToolActionsDescription
commentsaction: get, set, list, removeManage comments (regular, repeatable, function)

Variables (1 consolidated)

ToolActionsDescription
variablesaction: list, renameList locals, or rename local/global variables with scope: auto, local, global

Types (2 — 1 consolidated + 1 standalone)

ToolActions / Description
typesaction: list, set, create_struct, create_enum — manage IDB types
get_classesList struct/class types from type library

Function Discovery (5)

ToolDescription
get_functionsAll functions with filtering and pagination
search_functions_by_nameSearch by name pattern and size filters
get_function_by_nameExact name lookup
get_function_by_addressAddress lookup
get_function_statisticsAggregate statistics (counts, sizes, top-10)

Symbol Management (2)

ToolDescription
rename_symbolRename any symbol (function or data)
batch_renameBatch rename multiple symbols

Binary Info (5)

ToolDescription
get_importsImport table grouped by module
get_exportsExport table
get_stringsString table with pagination
get_segmentsMemory segments with permissions
get_entry_pointsAll binary entry points

Data Analysis (6)

ToolDescription
read_memoryRead raw bytes at address
get_data_atGet typed data at address
search_bytesBinary byte pattern search
search_stringsString search with pagination
create_data_varDefine data variable at address (byte/word/dword/qword/float/ascii/C type)
get_data_varsList defined data variables (non-code items)

Patching (3)

ToolDescription
patch_bytesPatch raw bytes in IDB
assemble_codeAssemble instruction text at an address and optionally patch it
export_programExport the patched binary or IDA database to disk

Navigation (4)

ToolDescription
navigate_toMove IDA cursor to address
bookmarksConsolidated bookmark management - actions: list, set, remove
get_current_addressGet address and context at cursor position
get_current_functionGet function info at cursor position

Task Management (4)

ToolDescription
start_taskStart async background task
get_task_statusCheck task progress
cancel_taskCancel running task
list_tasksList all async tasks

Project Structure

root@kitploit:~
IDAssistMCP/
├── idassistmcp_plugin.py              # IDA plugin_t entry point
├── requirements.txt
├── README.md
└── src/
    └── idassist_mcp/
        ├── __init__.py
        ├── server.py                  # FastMCP server + transport
        ├── context.py                 # Single-binary IDA context
        ├── tools.py                   # 41 MCP tools (IDA API)
        ├── resources.py               # 8 MCP resources
        ├── prompts.py                 # 7 guided workflow prompts
        ├── config.py                  # Pydantic settings
        ├── cache.py                   # LRU analysis cache
        ├── tasks.py                   # Async task manager
        ├── logging.py                 # IDA logging wrapper
        ├── utils.py                   # IDA-specific utilities
        └── ui/
            └── tool_registry.py       # Tool catalog for UI

License

See LICENSE file for details.