BinDiff MCP Tool
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BinDiff MCP Toolcompare original.bin and patched.bin to see which functions changed"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BinDiff MCP Tool
A Model Context Protocol (MCP) server that provides binary comparison capabilities using IDA Pro and BinDiff.
Features
Compare Binaries: Compare two binary files (e.g., original vs. patched).
Function Analysis: Get a summary of similarity and a list of changed functions.
Headless Operation: Uses IDA Pro in headless mode and IDAPython for automation.
Installation
Prerequisites
Python 3.10+
IDA Pro (9.0+ recommended)
BinDiff (installed and capable of running from command line).
uv (recommended for package management).
Installing BinDiff on Linux (Ubuntu/Debian)
Download the latest
.debpackage (e.g.,bindiff_8_amd64.deb) from the official releases.Install using dpkg:
sudo dpkg -i bindiff_8_amd64.debVerify installation:
which bindiff
Platform-Specific Configuration
The tool attempts to auto-detect IDA and BinDiff. You can override these by setting environment variables or editing src/config.py.
macOS
IDA Pro: 9.1 (recommended) or 9.0+.
BinDiff: Installed via installer.
Environment:
IDADIR: Path to IDA installation (e.g.,/Applications/IDA91/IDA Professional 9.1.app/Contents/MacOS).BINDIFF_PATH: Path tobindiffbinary (e.g.,/usr/local/bin/bindiff).
Linux (Ubuntu etc.)
IDA Pro: 9.0+ installed (e.g., in
/opt/idapro-9.1).BinDiff: Installed and accessible.
Environment:
IDADIR: Required. Set to your IDA installation base directory containinglibidalib.so(e.g.,/opt/idapro-9.1).BINDIFF_PATH: Path tobindiffexecutable (default checks$PATH).Ensure
idalibis present in$IDADIR/idalib.
Configuration
Environment Variables
IDADIR: Path to the IDA Pro installation directory (containingidatandidalib).BINDIFF_PATH: Path to thebindiffexecutable.MCP_TIMEOUT: Timeout for analysis steps in seconds (default: 3600).
Installation
Clone this repository.
Install dependencies using
uv:uv sync
Usage
Running Remotely (SSE) - Recommended
Start the server in SSE mode so it can be accessed by remote or local clients via HTTP:
Linux (Docker/Server):
IDADIR=/app/ida-pro-9.1 BINDIFF_PATH=/usr/bin/bindiff uv run bindiff-mcp --transport sse --host 0.0.0.0 --port 8001macOS:
IDADIR="/Applications/IDA91/IDA Professional 9.1.app/Contents/MacOS" BINDIFF_PATH=/usr/local/bin/bindiff uv run bindiff-mcp --transport sse --host 0.0.0.0 --port 8001Client Configuration (Antigravity, Claude Desktop, etc.)
Configure your MCP client to connect via the /sse endpoint:
{
"mcpServers": {
"bindiff-mcp": {
"type": "remote",
"url": "http://127.0.0.1:8001/sse"
}
}
}Development
Structure:
src/server.py: Main MCP server entry point.src/core/: Core logic for IDA export, BinDiff execution, and parsing.src/config.py: Configuration handling.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
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/u21h2/bindiff-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server