Interposer V2 is an MCP-powered reverse engineering workstation for Windows binary analysis, malware analysis, debugger orchestration, and tool automation. It combines a desktop client with a Model Context Protocol (MCP) server so Codex, Claude, and other AI agents can drive Ghidra, x64dbg, Frida, and static binary triage from one place.
If someone is searching GitHub for an MCP server for reverse engineering, binary analysis, Ghidra automation, x64dbg automation, Frida workflows, or malware triage, this repo is meant to be that result.
Interposer has three practical faces:
- a desktop client for no-code use
- a dedicated MCP server that Codex, Claude, and other MCP clients can drive directly
- a portable bundle layout that can travel to another Windows workstation
It coordinates a local reverse engineering toolchain across:
BinaryAnalysis-MCPGhidra / GhidraMCPx64dbgFrida
Search-friendly keywords:
MCPModel Context Protocolreverse engineeringbinary analysismalware analysisGhidrax64dbgFridaWindows REAI agent tooling
- Target triage and analysis packets
- Registry-backed adapter action catalog
- Investigation cases, recent activity, and workflows
- Desktop operator client
- Dedicated MCP server entrypoint
- Cleanup/reset actions for stateful adapters
Validated live adapter flows:
Ghidra: launch/reuse, read, write, read-back, cleanupx64dbg: start, read, write, read-back, cleanupFrida: enumerate, spawn, attach/session, execute, cleanup
From the project root:
python -m pip install --upgrade pip
python -m interposer.bootstrap prepare-layout
python -m pip install -r requirements.txt
python -m pip install -e .Desktop client:
.\Launch Interposer.cmdMCP server:
$env:INTERPOSER_ROOT = (Get-Location).Path
.\Launch Interposer MCP.cmdHealth check:
.\Interposer Doctor.cmdPortable bundle:
.\Build Interposer Bundle.cmdPortable zip release:
.\Build Interposer Release Zip.cmdPortable workstation setup:
- Unzip the Interposer bundle.
- Drop third-party tools into
Tools\inside the bundle:Tools\Ghidra\Tools\X64dbg\Tools\DIE\
- Run
.\Install Interposer.cmd - Run
.\Interposer Doctor.cmd - Point Claude or Codex MCP at that bundle root
- Use the generated config at
mcp-config.generated.jsoninside the bundle as your ready-to-paste starting point
Interposer now prefers a bundle-local Tools\ directory before falling back to Desktop\Tools, so a downloaded zip can stay self-contained.
Basic target analysis:
python -m interposer.cli analyze ".\samples\target.exe" --root "$PWD"Ghidra read/write validation:
ghidra_launch_mcpghidra_get_program_infoghidra_set_bookmarkghidra_get_bookmarksghidra_remove_bookmark
x64dbg read/write validation:
x64dbg_start_sessionx64dbg_get_debugger_statusx64dbg_set_commentx64dbg_get_commentx64dbg_cleanup
Frida validation:
frida_spawn_processfrida_create_interactive_sessionfrida_execute_in_sessionfrida_cleanupfrida_kill_process
- MCP packaging guide: README-MCP.md
- portable setup guide: PORTABLE-INSTALL.txt
- operator notes: INTERPOSER-OPS.txt
- desktop quickstart: START HERE.txt