Skip to main content
Glama
fantay0312

ida-pro-mcp-plus

by fantay0312

IDA Pro+ MCP

Enhanced IDA Pro MCP Server — 基于上游 ida-pro-mcp 最新版,融合三大项目优势。

特性总览

来源

特性

说明

ida-pro-mcp

80+ MCP 工具

反编译、反汇编、交叉引用、搜索、修改、调试、类型系统等

ida-pro-mcp

Headless idalib

无 GUI 批量分析(--isolated-contexts

ida-pro-mcp

多实例发现

list_instances / select_instance / open_file

enhancement

Broker 架构

HTTP+SSE 中间层,IDA 主动注册,优雅管理多实例

IDA-NO-MCP

批量导出

一键导出全部函数/字符串/导入导出表/段信息到文件

Claude Code / Cursor ──MCP──► IDA Pro+ MCP Server
                                ├─ 标准模式: 直连 IDA RPC (默认)
                                └─ Broker 模式: HTTP+SSE 多实例管理 (--broker)
                                     ├─ IDA 实例 A (自动注册)
                                     ├─ IDA 实例 B (自动注册)
                                     └─ ...

新增批量导出工具:
  bulk_export      → 全函数反编译/反汇编导出
  export_strings   → 字符串表导出
  export_imports   → 导入/导出表
  export_segments  → 段信息 + 可选 hexdump

Related MCP server: IDA Auto MCP

安装

前置条件

  • Python 3.11+

  • uv (推荐) 或 pip

  • IDA Pro 8.3+ (推荐 9.0+)

安装步骤

# 克隆
git clone https://github.com/YourUsername/ida-pro-mcp-plus.git
cd ida-pro-mcp-plus

# 安装(含 IDA 插件)
uv run ida-pro-mcp --install

# 或指定客户端
uv run ida-pro-mcp --install claude,cursor

Claude Code 配置

{
  "mcpServers": {
    "ida-pro-mcp-plus": {
      "type": "stdio",
      "command": "uv",
      "args": ["--directory", "/path/to/ida-pro-mcp-plus", "run", "ida-pro-mcp"],
      "env": {}
    }
  }
}

Broker 模式配置

{
  "mcpServers": {
    "ida-pro-mcp-plus": {
      "type": "stdio",
      "command": "uv",
      "args": ["--directory", "/path/to/ida-pro-mcp-plus", "run", "ida-pro-mcp", "--broker"],
      "env": {}
    }
  }
}

使用

标准模式(默认)

与上游 ida-pro-mcp 完全兼容。IDA 中按 Ctrl+Alt+M (Windows/Linux) 或 Ctrl+Option+M (macOS) 启动插件。

# 运行 MCP 服务
uv run ida-pro-mcp

# 指定 IDA 实例
uv run ida-pro-mcp --ida-rpc http://127.0.0.1:13337

# 启用危险操作(调试器等)
uv run ida-pro-mcp --unsafe

Broker 模式(多实例管理)

适合同时打开多个 IDA 窗口的场景。

# 启动 Broker(默认端口 13337)
uv run ida-pro-mcp --broker

# 指定端口
uv run ida-pro-mcp --broker --broker-port 13338

IDA 实例通过插件自动注册到 Broker。使用 MCP 工具切换:

list_instances    → 查看所有已连接的 IDA 实例
select_instance   → 切换当前活动实例

批量导出(新增)

bulk_export       → 导出所有函数到 .c/.asm 文件
export_strings    → 导出字符串表
export_imports    → 导出导入/导出表
export_segments   → 导出段信息(可选 hexdump)

示例:导出整个二进制供 AI 分析

通过 MCP 工具调用:

→ bulk_export(skip_library=true)

结果:
  output_dir: /path/to/binary_export/
  ├── decompile/         # 反编译成功的 .c 文件
  │   ├── 401000.c
  │   ├── 401050.c
  │   └── ...
  ├── disassembly/       # 反编译失败降级的 .asm 文件
  │   ├── 402000.asm
  │   └── ...
  └── function_index.txt # 函数索引

→ export_strings(min_length=6)
→ export_imports()
→ export_segments(include_hexdump=false)

每个导出的函数文件包含元数据头:

/*
 * func-name: main
 * func-address: 0x401000
 * export-type: decompile
 * callers: 0x400e00
 * callees: 0x401100, 0x401200
 */
int __cdecl main(int argc, const char **argv, const char **envp)
{
    ...
}

Headless 模式 (idalib)

# 无 GUI 分析二进制
uv run idalib-mcp /path/to/binary

# 多 agent 隔离上下文
uv run idalib-mcp --isolated-contexts /path/to/binary

工具列表

上游工具(80+)

类别

工具

核心

lookup_funcs, list_funcs, list_globals, imports, list_segments, ...

分析

decompile, disasm, xrefs_to, xrefs_to_field, callees, callgraph, find, find_regex, find_bytes, find_insns, ...

内存

get_bytes, get_int, get_string, get_global_value, patch, put_int, ...

类型

set_type, infer_types, declare_type, read_struct, search_structs, ...

修改

set_comments, rename, patch_asm, define_func, define_code, undefine, ...

栈帧

stack_frame, declare_stack, delete_stack

调试

20 个调试工具(需 --unsafe

Python

py_eval

实例

list_instances, select_instance, open_file

新增工具

工具

说明

bulk_export

全函数反编译/反汇编导出,支持断点续传、库函数过滤、内存清理

export_strings

字符串表导出,支持最小长度过滤

export_imports

导入表 + 导出表

export_segments

段信息 + 可选 hexdump

架构

┌─────────────────────────────────────────────────────────┐
│                    MCP Clients                          │
│     (Claude Code / Cursor / VS Code / ...)              │
└────────────────┬────────────────────────────────────────┘
                 │ stdio / HTTP
┌────────────────▼────────────────────────────────────────┐
│              IDA Pro+ MCP Server                        │
│  ┌──────────┐  ┌──────────┐  ┌────────────────────┐    │
│  │ 标准模式  │  │ Broker   │  │ 批量导出工具        │    │
│  │ (直连RPC) │  │ (HTTP+   │  │ bulk_export        │    │
│  │          │  │  SSE)    │  │ export_strings     │    │
│  └────┬─────┘  └────┬─────┘  │ export_imports     │    │
│       │              │        │ export_segments    │    │
│       ▼              ▼        └────────────────────┘    │
│  ┌─────────┐  ┌──────────┐                              │
│  │ IDA RPC │  │IDA 注册表 │                              │
│  │ (1实例)  │  │ (N实例)  │                              │
│  └────┬────┘  └───┬──┬───┘                              │
└───────┼───────────┼──┼──────────────────────────────────┘
        │           │  │
        ▼           ▼  ▼
   ┌────────┐  ┌────────┐  ┌────────┐
   │ IDA #1 │  │ IDA #1 │  │ IDA #2 │
   └────────┘  └────────┘  └────────┘

致谢

License

MIT License — 与上游保持一致。

A
license - permissive license
-
quality - not tested
D
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.

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/fantay0312/ida-pro-mcp-plus'

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