MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

基于mrexodia/ida-pro-mcp的二次开发版本

创建于 4/2/2026
更新于 about 3 hours ago
Repository documentation and setup instructions

IDA Pro MCP

基于mrexodia/ida-pro-mcp的二次开发版本

一个面向 IDA Pro 的 Model Context Protocol 服务端与插件集合,让支持 MCP 的客户端可以直接读取、分析、修改和调试 IDA 中的样本。

这个仓库现在已经不是“只能本地跑通的实验代码”状态,而是按“别人 git clone 下来就能安装使用”来整理的版本。仓库里同时包含:

  • 可直接安装的 ida-pro-mcp / idalib-mcp 命令行入口
  • IDA 插件加载器与完整工具实现
  • 兼容旧版工具名的兼容层
  • 中文工具总清单
  • 可运行的测试入口

主要特性

  • 一键安装 IDA 插件和 MCP 客户端配置
  • 支持 stdiostreamable-httpsse
  • 支持图形界面的 IDA Pro,也支持 idalib 无头模式
  • 当前 live 服务整理出 147 个工具
    • 108 个基础工具
    • 39dbg 调试扩展工具
  • 包含函数分析、反编译、交叉引用、结构体、类型、补丁、重命名、调试、恶意样本行为归类等能力
  • 保留旧版客户端常用别名,例如 idb_metadbg_list_bpssearchstrings

仓库内容

  • src/ida_pro_mcp/server.py
    • 主 MCP server 入口,负责把 MCP 请求转发到 IDA 里的插件 HTTP 服务
  • src/ida_pro_mcp/idalib_server.py
    • idalib 无头模式入口
  • src/ida_pro_mcp/installer.py
    • 安装插件、生成 MCP 客户端配置、卸载配置
  • src/ida_pro_mcp/ida_mcp/
    • IDA 内部实际运行的 MCP 插件代码
  • ida_mcp_tools_zh.md
    • 当前工具的中文分类清单
  • tests/
    • 测试样本与相关测试资源

环境要求

  • Python 3.11+
  • IDA Pro 8.3+
    • 推荐 IDA 9.x
    • 默认不支持 IDA Free
  • 一个支持 MCP 的客户端
    • 例如 Codex、Claude Code、Cursor、VS Code、Crush、Augment Code、Qodo Gen 等

如果你只是想看当前环境支持哪些客户端,直接执行:

uv run ida-pro-mcp --list-clients

从 Git Clone 开始安装

方案 A:推荐,使用 uv

git clone https://github.com/mrexodia/ida-pro-mcp.git
cd ida-pro-mcp
uv sync

安装完成后,你可以直接用 uv run 调用本仓库里的命令,而不需要先发布到 PyPI。

方案 B:可编辑安装,使用 pip

git clone https://github.com/mrexodia/ida-pro-mcp.git
cd ida-pro-mcp
python -m pip install -e .

这种方式适合你希望系统里直接有 ida-pro-mcp 命令而不是每次写 uv run

安装 IDA 插件和 MCP 客户端配置

最简单的方式:

uv run ida-pro-mcp --install

这会:

  • 安装 IDA 插件加载器
  • 安装插件包
  • 交互式选择要写入配置的 MCP 客户端

你也可以直接指定客户端:

uv run ida-pro-mcp --install codex
uv run ida-pro-mcp --install claude-code,cursor

如果要写项目级配置:

uv run ida-pro-mcp --install vscode --scope project

如果你希望客户端通过 HTTP 连接:

uv run ida-pro-mcp --install codex --transport streamable-http

如果客户端不在内置支持列表里,可以打印通用 MCP 配置:

uv run ida-pro-mcp --config

安装完成后怎么启动

  1. 完全重启 IDA Pro
  2. 完全重启你的 MCP 客户端
  3. 在 IDA 中打开一个二进制文件
  4. 通过菜单 Edit -> Plugins -> MCP 启动插件
    • Windows / Linux 默认快捷键:Ctrl+Alt+M
    • macOS 默认快捷键:Ctrl+Option+M

注意:

  • 必须先在 IDA 中打开样本,插件菜单才会显示
  • 如果你刚安装完配置但客户端没有生效,最常见原因是客户端进程还在后台驻留,没有真正退出

常用运行方式

1. 标准本地 MCP 模式

这是最常见的模式。MCP 客户端通过 ida-pro-mcp 进程与 IDA 插件通信。

uv run ida-pro-mcp

默认使用 stdio

2. Streamable HTTP

uv run ida-pro-mcp --transport http://127.0.0.1:8744/mcp

3. SSE

uv run ida-pro-mcp --transport http://127.0.0.1:8744/sse

4. 无头 idalib 模式

uv run idalib-mcp --host 127.0.0.1 --port 8745 path/to/executable

如果多代理同时连接同一个无头服务,建议开启隔离上下文:

uv run idalib-mcp --isolated-contexts --host 127.0.0.1 --port 8745 path/to/executable

工具清单

完整中文工具清单见:

这份清单已经按用途分类,覆盖当前 147 个 live 工具,包含:

  • 服务与总览
  • 基础枚举与定位
  • 数据读取与转换
  • 函数分析与控制流
  • 搜索与交叉引用
  • 类型、结构与栈
  • 修改、注释与补丁
  • 调试与动态观察
  • 混淆、恶意样本与审计
  • Python 脚本能力
  • 兼容旧版调用名

MCP 资源

除了工具,插件还提供只读资源,常用的有:

  • ida://idb/metadata
    • 当前 IDB 元数据
  • ida://idb/segments
    • 段信息
  • ida://idb/entrypoints
    • 入口点
  • ida://cursor
    • 当前光标位置和所在函数
  • ida://selection
    • 当前选择范围
  • ida://types
    • 本地类型
  • ida://structs
    • 结构体与联合体
  • ida://struct/{name}
    • 指定结构体详情

调试扩展说明

调试相关工具属于 dbg 扩展。

如果你直接通过 HTTP 访问插件端点,需要使用:

http://127.0.0.1:13337/mcp?ext=dbg

未启动调试器时,这些工具通常会返回:

Debugger not running

开发与测试

新增工具

这个项目的实现方式比较直接。一般只需要:

  1. src/ida_pro_mcp/ida_mcp/api_*.py 中新增一个 @tool
  2. 确保 src/ida_pro_mcp/ida_mcp/__init__.py 导入了对应模块
  3. 根据需要补充测试

不需要再额外写一层复杂样板代码。

运行 Inspector

npx -y @modelcontextprotocol/inspector

运行测试

uv run ida-mcp-test tests/crackme03.elf
uv run ida-mcp-test tests/crackme03.elf --category api_core
uv run ida-mcp-test tests/crackme03.elf --pattern "*meta*"

如果你只想做静态检查,至少可以先跑:

python -m compileall src/ida_pro_mcp/ida_mcp

逆向提示

LLM 做逆向时最容易出错的地方通常不是“看不懂函数”,而是:

  • 自己脑补控制流
  • 自己做进制转换
  • 对混淆代码做错误归因

实用建议:

  • 让模型优先调用 int_convert
  • 让模型先改名、补类型、写注释,再谈结论
  • 对明显混淆代码先做去混淆,再让 LLM 深入分析
  • 多利用 survey_binaryanalyze_functionfind_pathsxrefs_to 这类结构化工具,而不是让模型纯靠文本猜

与其他 IDA MCP 项目的关系

这个仓库不是市面上唯一的 IDA MCP 实现,但它的目标比较明确:

  • 安装尽量自动化
  • 新增工具尽量低样板
  • 更适合持续扩展逆向分析、调试、批量重命名和恶意样本场景

如果你想比较其他实现,可以从这些项目开始:

发布

仓库里有一个简单发布脚本:

./uv-package.sh

它会执行:

  • 构建包
  • 发布

如果你只是开发或自用,通常不需要跑这个脚本。

快速设置
此服务器的安装指南

安装包 (如果需要)

uvx ida-mcp-pro

Cursor 配置 (mcp.json)

{ "mcpServers": { "lookhui-ida-mcp-pro": { "command": "uvx", "args": [ "ida-mcp-pro" ] } } }