Skip to main content
Glama
31Benzi

IDA Pro MCP Server

by 31Benzi

IDA Pro MCP 서버 for Claude Code

Claude Code(CLI 및 VS Code, Cursor, Windsurf와 같은 에디터 확장)와 **IDA Pro 9.0+**를 연결하여 AI 기반 리버스 엔지니어링을 수행합니다. 87개의 도구로 IDA Pro가 할 수 있는 거의 모든 것을 지원합니다.


아키텍처

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+

설치 및 설정

1. IDA 플러그인 설치

ida_plugin/ida_mcp_plugin.py를 IDA Pro plugins 디렉토리에 복사하세요:

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

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

  • Linux: ~/.idapro/plugins/ 또는 /opt/idapro-9.0/plugins/

IDA Pro에서 바이너리를 열면 플러그인이 127.0.0.1:13337에서 JSON-RPC 서버를 시작합니다.

2. Claude Code CLI 구성

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

3. VS Code / Cursor / Windsurf 구성

.mcp.json 또는 에디터의 MCP 구성에 추가하세요:

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

환경 변수

  • IDA_MCP_HOST — 호스트 재정의 (기본값: 127.0.0.1)

  • IDA_MCP_PORT — 포트 재정의 (기본값: 13337)


사용 가능한 도구 (총 87개)

분석 (4)

도구

설명

decompile_function

Hex-Rays C 유사 코드 디컴파일

disassemble_function

함수의 전체 어셈블리 목록

disassemble_range

두 주소 사이의 어셈블리

get_bytes

주소에서 원시 16진수 바이트 읽기

탐색 및 검색 (14)

도구

설명

list_functions

선택적 필터로 모든 함수 나열

get_function_info

상세 함수 메타데이터

list_segments

권한이 있는 메모리 세그먼트

get_xrefs_to

주소로의 교차 참조

get_xrefs_from

주소로부터의 교차 참조

list_strings

선택적 필터로 정의된 문자열

get_imports

모듈별 가져온 함수

get_exports

내보낸 함수 및 진입점

list_structs

구조체, 공용체, 멤버 레이아웃

list_enums

열거형 및 값

create_struct

새 구조체 타입 생성

get_function_callers

대상 함수를 호출하는 함수 (호출 지점 포함)

get_function_callees

대상 함수가 호출하는 함수

make_string

주소에 C 스타일 문자열 정의

내부 검사 (14)

도구

설명

get_flowchart

제어 흐름 그래프 — 선행/후행 블록이 있는 기본 블록

get_comment

주소의 주석 읽기

get_all_comments

함수 내 모든 주석 읽기

get_function_comment

함수 수준 주석 읽기

set_function_comment

함수 수준 주석 설정

get_stack_frame

전체 스택 프레임 레이아웃 (지역 변수, 인수, 저장된 레지스터)

set_operand_type

피연산자 표시 변경 (16진수/10진수/2진수/문자)

set_local_variable_type

디컴파일에서 지역 변수 타입 재지정

get_color

명령어/함수/세그먼트 색상 가져오기

set_color

명령어/함수/세그먼트 색상 설정 (RGB)

get_function_hash

함수 바이트 해시 (MD5/SHA1/SHA256)

get_exception_info

함수 내 try/catch/throw 감지

get_microcode

모든 성숙도 수준의 Hex-Rays 중간 표현

수정 (7)

도구

설명

rename_function

함수 이름 변경

rename_address

레이블, 변수 또는 주소 이름 변경

set_comment

일반 또는 반복 주석 설정

set_function_type

C 함수 시그니처/프로토타입 설정

set_type

주소에 타입 설정

rename_local_variable

지역 변수 이름 변경 (Hex-Rays)

apply_callee_type

호출 지점에 타입 적용

검색 (2)

도구

설명

search_text

디스어셈블리 텍스트 검색

search_bytes

바이트 패턴/시그니처 검색

디버거 (17)

도구

설명

start_debugger

바이너리 디버깅 시작

get_debugger_status

디버거 활성/일시 중단 상태 확인

set_breakpoint

소프트웨어 중단점 설정

delete_breakpoint

중단점 제거

list_breakpoints

모든 중단점 나열

enable_breakpoint

중단점 활성화/비활성화

step_into

다음 명령어로 들어가기

step_over

다음 명령어 넘어가기

continue_execution

다음 중단점까지 계속 실행

suspend_debugger

실행 일시 중지

exit_debugger

프로세스 종료

get_registers

CPU 레지스터 읽기

read_debug_memory

디버깅 중인 프로세스 메모리 읽기 (ASCII가 포함된 16진수 덤프)

get_stack_trace

호출 스택 추적

list_debugger_threads

모든 프로세스 스레드 나열

switch_thread

활성 디버거 스레드 전환

add_watchpoint

하드웨어 감시점 설정 (읽기/쓰기/실행)

고급 (14)

도구

설명

patch_bytes

IDA 데이터베이스에 바이트 패치

execute_idapython

임의 IDAPython 코드 실행

load_type_library

.til 타입 정보 라이브러리 로드

list_type_libraries

로드된 TIL 나열

make_code

바이트를 코드(명령어)로 변환

make_data

바이트를 타입이 있는 데이터로 변환

undefine

원시 정의되지 않은 바이트로 되돌리기

define_function

주소 범위에 함수 생성

undefine_function

함수 정의 삭제

add_bookmark

영구 북마크 추가

list_bookmarks

모든 북마크 나열

delete_bookmark

북마크 제거

get_local_variables

지역 변수 및 인수 나열

get_global_variables

이름이 있는 전역 데이터 변수 나열

데이터베이스 및 내보내기 (12)

도구

설명

save_database

IDA 데이터베이스 저장

apply_flirt_signature

라이브러리 식별을 위해 FLIRT .sig 적용

list_flirt_signatures

적용된 FLIRT 시그니처 나열

create_segment

새 메모리 세그먼트 생성

delete_segment

세그먼트 정의 삭제

set_segment_permissions

세그먼트 rwx 권한 변경

create_array

타입이 있는 배열 정의

navigate_to

IDA 커서를 주소로 이동

produce_asm

정리된 어셈블리 목록 내보내기

produce_c

정리된 C 유사 코드 내보내기

run_idc_script

IDC 스크립트 코드 실행

run_ida_action

등록된 IDA UI 액션 실행

list_ida_actions

사용 가능한 모든 IDA 액션 나열

메타 (3)

도구

설명

get_binary_info

파일 경로, 아키텍처, 비트 수, 진입점

get_analysis_status

자동 분석 완료 확인

ping

IDA 연결 확인

-
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