Skip to main content
Glama
31Benzi

IDA Pro MCP Server

by 31Benzi

IDA Pro MCP Server für Claude Code

Verbinden Sie Claude Code (CLI und Editor-Erweiterungen wie VS Code, Cursor, Windsurf) mit IDA Pro 9.0+ für KI-gestützte Reverse Engineering. 87 Werkzeuge für so ziemlich alles, was IDA Pro kann.


Architektur

Claude Code / Cursor / VS Code (MCP Client)
               │ (stdio)
               ▼
        ida-mcp Server
               │ (JSON-RPC over localhost:13337)
               ▼
   IDA Pro Plugin (ida_mcp_plugin.py)
               │ (IDAPython API on main thread)
               ▼
         IDA Pro 9.0+

Installation & Einrichtung

1. IDA-Plugin installieren

Kopieren Sie ida_plugin/ida_mcp_plugin.py in Ihr IDA Pro plugins-Verzeichnis:

  • macOS: ~/idapro-9.0/plugins/ oder /Applications/IDA Professional 9.0.app/Contents/MacOS/plugins/

  • Windows: %APPDATA%\Hex-Rays\IDA Pro\plugins\ oder C:\Program Files\IDA Professional 9.0\plugins\

  • Linux: ~/.idapro/plugins/ oder /opt/idapro-9.0/plugins/

Wenn Sie eine Binärdatei in IDA Pro öffnen, startet das Plugin einen JSON-RPC-Server auf 127.0.0.1:13337.

2. Claude Code CLI konfigurieren

claude mcp add ida-pro -- uv run --directory "/Users/benzi/Documents/IDA MCP" ida-mcp

3. VS Code / Cursor / Windsurf konfigurieren

Fügen Sie zu .mcp.json oder der MCP-Konfiguration Ihres Editors hinzu:

{
  "mcpServers": {
    "ida-pro": {
      "command": "uv",
      "args": ["run", "--directory", "/Users/benzi/Documents/IDA MCP", "ida-mcp"]
    }
  }
}

Umgebungsvariablen

  • IDA_MCP_HOST — Host überschreiben (Standard: 127.0.0.1)

  • IDA_MCP_PORT — Port überschreiben (Standard: 13337)


Verfügbare Werkzeuge (insgesamt 87)

Analyse (4)

Tool

Beschreibung

decompile_function

Hex-Rays C-Pseudocode-Dekompilierung

disassemble_function

Vollständige Assemblerliste einer Funktion

disassemble_range

Assembler zwischen zwei Adressen

get_bytes

Rohe Hex-Bytes von einer Adresse lesen

Navigation & Entdeckung (14)

Tool

Beschreibung

list_functions

Alle Funktionen auflisten (optional mit Filter)

get_function_info

Detaillierte Funktionsmetadaten

list_segments

Speichersegmente mit Berechtigungen

get_xrefs_to

Cross-Referenzen ZU einer Adresse

get_xrefs_from

Cross-Referenzen VON einer Adresse

list_strings

Definierte Zeichenketten (optional mit Filter)

get_imports

Importierte Funktionen nach Modul

get_exports

Exportierte Funktionen und Einstiegspunkte

list_structs

Strukturen, Unions, Member-Layouts

list_enums

Aufzählungen und Werte

create_struct

Neuen Strukturtyp erstellen

get_function_callers

Funktionen, die ein Ziel aufrufen (mit Aufrufstellen)

get_function_callees

Funktionen, die von einem Ziel aufgerufen werden

make_string

C-Zeichenkette an Adresse definieren

Introspektion (14)

Tool

Beschreibung

get_flowchart

Kontrollflussgraph — Basisblöcke mit Vorgängern/Nachfolgern

get_comment

Kommentar an einer Adresse lesen

get_all_comments

Alle Kommentare innerhalb einer Funktion lesen

get_function_comment

Funktionsebenen-Kommentar lesen

set_function_comment

Funktionsebenen-Kommentar setzen

get_stack_frame

Vollständiges Stack-Frame-Layout (Lokale, Argumente, gespeicherte Register)

set_operand_type

Operandenanzeige ändern (hex/dezimal/binär/zeichen)

set_local_variable_type

Lokale Variable in der Dekompilierung neu typisieren

get_color

Befehls-/Funktions-/Segmentfarbe abrufen

set_color

Befehls-/Funktions-/Segmentfarbe setzen (RGB)

get_function_hash

Funktionsbytes hashen (MD5/SHA1/SHA256)

get_exception_info

try/catch/throw in einer Funktion erkennen

get_microcode

Hex-Rays-Zwischendarstellung auf jeder Reifegradstufe

Änderungen (7)

Tool

Beschreibung

rename_function

Funktion umbenennen

rename_address

Label, Variable oder Adresse umbenennen

set_comment

Normalen oder wiederholbaren Kommentar setzen

set_function_type

C-Funktionssignatur/Prototyp setzen

set_type

Typ an Adresse setzen

rename_local_variable

Lokale Variable umbenennen (Hex-Rays)

apply_callee_type

Typ an Aufrufstelle anwenden

Suche (2)

Tool

Beschreibung

search_text

Textsuche durch Disassembly

search_bytes

Bytemuster/Signatursuche

Debugger (17)

Tool

Beschreibung

start_debugger

Debugging der Binärdatei starten

get_debugger_status

Debugger-Status (aktiv/pausiert) prüfen

set_breakpoint

Software-Breakpoint setzen

delete_breakpoint

Breakpoint entfernen

list_breakpoints

Alle Breakpoints auflisten

enable_breakpoint

Breakpoint aktivieren/deaktivieren

step_into

In nächsten Befehl hineinschreiten

step_over

Nächsten Befehl überspringen

continue_execution

Bis zum nächsten Breakpoint fortsetzen

suspend_debugger

Ausführung anhalten

exit_debugger

Prozess beenden

get_registers

CPU-Register lesen

read_debug_memory

Speicher aus debuggtem Process lesen (Hex-Dump mit ASCII)

get_stack_trace

Aufrufstapel trace

list_debugger_threads

Alle Process-Threads auflisten

switch_thread

Active Debugger-Thread wechseln

add_watchpoint

Hardware-Watchpoint setzen (lesen/schreiben/ausführen)

Erweiterte (14)

Tool

Beschreibung

patch_bytes

Bytes in der IDA-Datenbank patchen

execute_idapython

Beliebigen IDAPython-Code ausführen

load_type_library

.til-Typinformationsbibliothek laden

list_type_libraries

Geladene TILs auflisten

make_code

Bytes in Cde (Befel) umwandeln

make_data

Bytes in typisierte Daten umwandeln

undefine

Auf rohe unefinierte Bytes zurücketzen

define_function

Funktion im Adressbereich erzeugen

undefine_function

Funktionsdefinition löschen

add_bookmark

Permanenten Lesezeichen hinzufügen

list_bookmarks

Alle Lesezeichen auflisten

delete_bookmark

Lesezeichen entfernen

get_local_variables

Lokale Variablen und Argmente auflisten

get_global_variables

Nannte globae Datenablen auflisten

Datenbank & Export (12)

Tool

Beschreibung

save_database

IDA-Datenbank speichern

apply_flirt_signature

FLIRT-.sig zur Bibliotheksidentifikation anwenden

list_flirt_signatures

Angewandte FLIRT-Signaturen auflisten

create_segment

Neues Speichersegment erzeugen

delete_segment

Segmentdefinition löschen

set_segment_permissions

Segment-rwx-Berechtigungen ändern

create_array

Typisierte Arrays definieren

navigate_to

IDA-Cursor zu Adresse springen

produce_asm

Saubere Assemblerliste exportieren

produce_c

Sauberen C-Pseudocode exportieren

run_idc_script

IDC-Scriptcode ausführen

run_ida_action

Registrierte IDA-UI-Aktion auslösen

list_ida_actions

Alle verfügbaren IDA-Aktionen auflisten

Meta (3)

Tool

Beschreibung

get_binary_info

Dateipfad, Architektur, Bitness, Einstiegspunkt

get_analysis_status

Abschluss der Auto-Analyse prüfen

ping

IDA-Konnektivität prüfen

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Live SEO workflow tools for Claude Code, Codex, and AI agents.

  • Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/31Benzi/IDA-PRO-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server