Faster, with excellent architecture, stronger performance, and kernel access support — an ida-mcp tool
iida-mcp
iida-mcp 是一个 IDA Pro 插件,通过本地 HTTP MCP 服务暴露当前 IDB 的静态分析能力。
该 MCP 主要面向 x86/x86-64 架构可执行文件及对应 IDA 能力设计;如果有其他需求,请提出 issue。
- 79 个 MCP 工具
- 主要兼容 IDA 8+,包括 IDA 9.x
- 支持多 IDA 实例自动路由
- 可选 Windows 内核驱动能力
- 快捷键:
Alt+Shift+I
功能
- 文件信息、原始字节、PE/ELF 解析
- 函数、反汇编、控制流图、交叉引用、调用树
- Hex-Rays 反编译、函数参数、局部变量
- 结构体、枚举、本地类型、类型化读取
- 名称、字符串、字节模式、立即数搜索
- 重命名、注释、类型、补丁、书签、批量操作
- 可选内核内存读取、内核模块枚举、IDA 地址到运行时地址映射
安装
把 iida.py 和 iida_core/ 复制到 IDA 的 plugins/ 目录:
plugins/
iida.py
iida_core/
__init__.py
cache.py
kdriver.py
protocol.py
registry.py
router.py
server.py
thread_safe.py
tools.py
worker.py
使用
- 在 IDA 中打开目标文件。
- 点击
Edit > Plugins > iida-mcp,或按Alt+Shift+I启动。 - 第一个启动的 IDA 实例监听
127.0.0.1:13897;后续 IDA 实例自动作为 Worker 接入。 - 再次点击菜单项或再次按
Alt+Shift+I,关闭当前 IDA 实例中的 iida-mcp 服务/连接。 - 单 IDB 时工具参数
f可省略;多 IDB 时先调用list_files,再用返回的 file id 指定f。
MCP 客户端配置
服务端点:
http://127.0.0.1:13897/mcp
对支持 HTTP/Streamable HTTP MCP server 的客户端,配置一个远程 MCP server,并把 URL 指向上面的地址即可。
通用示例:
{
"mcpServers": {
"iida": {
"url": "http://127.0.0.1:13897/mcp"
}
}
}
不同终端或客户端的字段名可能略有差异;核心是使用 HTTP MCP 连接到 http://127.0.0.1:13897/mcp。
依赖
插件主体只依赖 IDA 自带的 IDAPython 和 Python 标准库。
- 反编译相关工具需要 Hex-Rays Decompiler。
disasm_bytes需要在 IDA 的 Python 环境中安装capstone。未安装时会返回capstone not installed (pip install capstone)。- 内核相关工具需要加载
iida-mcp-ioctl驱动。
内核驱动
driver/ 目录包含 iida-mcp-ioctl Windows 内核驱动源码,提供:
- 读取内核内存
- 获取内核模块列表
- 按名称查询模块基址
编译需要 Visual Studio Build Tools 和 WDK。driver/build.bat 会优先使用 MSVC、WDK、SDK_VER 环境变量;未设置时会尝试从标准安装路径自动探测。
预编译的 iida-mcp-ioctl.sys 位于 driver/。加载驱动需要自行处理签名和系统策略。未加载驱动时,内核工具会返回明确错误。
端口
| 端口 | 用途 |
|------|------|
| 13897 | MCP HTTP 服务 |
| 13898 | 内部 Worker 通信 |