
用于自动二进制微分的MCP服务器。
概览
比较你AI助手中经过IDA分析的两个二进制数据。Diaphora MCP导出已保存的IDA数据库,运行Diaphora,并让AI检查相应的函数及其调用图。 默认界面专注于比较。Diaphora提供匹配;AI阅读实际代码并解释变化。 - Python 3.10+,IDA Pro,支持idat.exe/idat64,并安装了Diaphora插件。- 两个二进制文件分析并保存为.i64/.idb数据库。- 本地MCP客户端,如Codex、Claude Code或Cursor。- 仅在想要伪代码时使用兼容的Hex-Rays反编译器。 IDA 和 Diaphora 分别安装。diff-schema 验证目前针对 Diaphora ;其他模式可能需要兼容性更新。用于diff的 Python 解释器必须安装 Diaphora 的独立依赖。 将此条目添加到你客户端的MCP配置中。用你的安装路径替换仓库、IDA和Diaphora路径。
概述(AI 翻译)
Русская версия
迪亚福拉MCP
比较你AI助手中经过IDA分析的两个二进制数据。Diaphora MCP导出已保存的IDA数据库,运行Diaphora,并让AI检查相应的函数及其调用图。
默认界面有10个工具,专注于比较。Diaphora提供匹配;AI读取实际代码并解释更改。
快速入门 ·示例 ·工具 ·故障排除
要求
- Python 3.10+,IDA Pro,支持
idat.exe/[idat64,并安装了 Diaphora 插件。 - 两个二进制文件均被分析并保存为
.i64/.idb数据库。 - 本地MCP客户端,如Codex、Claude Code或Cursor。
- 只有在想要伪代码时才兼容的六角射线反编译器。
IDA 和 Diaphora 分别安装。diff-schema 验证目前针对 Diaphora 3.4.1;其他模式可能需要兼容性更新。用于 diff 的 Python 解释器必须安装 Diaphora 的独立依赖。
快速开始
1.安装并创建输出目录
2.连接MCP服务器
将此条目添加到你客户端的MCP配置中。用你的安装路径替换仓库、IDA和Diaphora路径。
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Diaphora MCP
Compare two IDA-analyzed binaries from your AI assistant. Diaphora MCP exports the saved IDA databases, runs Diaphora, and lets the AI inspect corresponding functions and their call graphs.
The default interface has 10 tools focused on comparison. Diaphora supplies matches; the AI reads the actual code and explains the changes.
Quick start · Examples · Tools · Troubleshooting
old.i64 + new.i64 → headless export → SQLite exports + diff results
↓
summary → matched code → call graph
Requirements
- Python 3.10+, IDA Pro with
idat.exe/idat64, and an installed Diaphora plugin. - Both binaries analyzed and saved as
.i64/.idbdatabases. - A local MCP client, such as Codex, Claude Code or Cursor.
- A compatible Hex-Rays decompiler only if you want pseudocode.
IDA and Diaphora are installed separately. Diff-schema validation currently targets Diaphora 3.4.1; other schemas may need compatibility updates. The Python interpreter used for the diff must have Diaphora’s standalone dependencies installed.
Quick start
1. Install and create an output directory
git clone https://github.com/xTeardx/diaphora-mcp.git
cd diaphora-mcp
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .
New-Item -ItemType Directory -Force C:\diaphora-outputs | Out-Null
2. Connect the MCP server
Add this entry to your client’s MCP configuration. Replace the repository, IDA and Diaphora paths with your installation paths. Use the Python executable from the environment where you installed this project.
{
"mcpServers": {
"diaphora": {
"command": "C:/src/diaphora-mcp/.venv/Scripts/python.exe",
"args": ["C:/src/diaphora-mcp/diaphora_mcp_server.py"],
"env": {
"IDAT_PATH": "C:/Program Files/IDA Professional 9.3/idat.exe",
"DIAPHORA_DIR": "C:/Program Files/IDA Professional 9.3/plugins/diaphora",
"DIAPHORA_OUTPUT_ROOT": "C:/diaphora-outputs"
}
}
}
}
The client launches the server over stdio; there is no separate web service to start. Restart the MCP server after changing its code or environment. A successful connection exposes the 10 tools listed below.
3. Ask your assistant to compare the files
Use Diaphora to compare C:/analysis/old.i64 (old) against
C:/analysis/new.i64 (new). Save output under C:/diaphora-outputs/run-001.
Export headlessly with assembly detail, keep the exports, show a summary,
then inspect partial matches and explain the code changes in the interesting
functions. Use the result mapping when comparing functions and call graphs.
Choose a fresh run directory each time. Existing generated targets are never overwritten.
Examples
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"diaphora": {
"command": "C:/src/diaphora-mcp/.venv/Scripts/python.exe",
"args": ["C:/src/diaphora-mcp/diaphora_mcp_server.py"],
"env": {
"IDAT_PATH": "C:/Program Files/IDA Professional 9.3/idat.exe",
"DIAPHORA_DIR": "C:/Program Files/IDA Professional 9.3/plugins/diaphora",
"DIAPHORA_OUTPUT_ROOT": "C:/diaphora-outputs"
}
}
}
}