Tags: jtsylve/re-mcp
Tags
Migrate pyhidra → pyghidra, fix Ghidra save_database, and bump to 3.0.1 Migrate from the deprecated pyhidra package to pyghidra (adopted into Ghidra 12 as the official Python integration). Update all references, imports, launcher class names, and dependency declarations. Fix save_database failing with "Unable to lock due to active transaction" by draining stale Ghidra transactions before saving. The pyghidra environment leaves transactions open after tool mutations and analysis; the new _end_open_transactions() method on Session commits tool data then aborts any cascading listener transactions. Also drain before GhidraProject.analyze() in reanalyze_range so analysis starts with a clean transaction slate. Bump all packages to 3.0.1. Update Ghidra requirement to 12+.
Ghidra backend bug fixes, new struct tools, and bump to 3.0.0rc3 Fix Ghidra API misuse (enum remove-by-name, CParser import paths, TaskMonitor.DUMMY, HighFunctionDBUtil for regvar renames), add rename/delete struct member and delete structure tools, extract session.save() method, and improve supervisor save_database param forwarding.
v3.0.0rc1 — ida-mcp is now re-mcp ida-mcp has been renamed to re-mcp to reflect its evolution into a multi-backend reverse-engineering MCP server. The project now supports both IDA Pro and Ghidra, with a shared core and portable tool surface. What's new ---------- Project rename — ida-mcp → re-mcp: - The project is now re-mcp, published as three packages: re-mcp-core (shared infrastructure), re-mcp-ida (IDA backend), and re-mcp-ghidra (Ghidra backend). Install only the backend you need. - The ida-mcp package name on PyPI becomes a redirect that installs re-mcp-ida, so existing configurations continue to work. - CLI commands: `re-mcp-ida` (IDA), `re-mcp-ghidra` (Ghidra), or the generic `re-mcp --backend <name>`. Ghidra backend: - Full Ghidra/pyhidra backend with the same tool surface as the IDA backend — decompile, disassemble, strings, xrefs, types, structures, and all meta-tools (execute, batch, call, search_tools, get_schema). - Install re-mcp-ghidra and run `re-mcp-ghidra` to start. Requires a local Ghidra installation and pyhidra. Multi-backend architecture: - Backends are discovered via entry points — the supervisor loads whichever backend package is installed. - Tools, resources, and prompts are portable across backends. Agents can target either backend with the same workflow. Direct stdio as default transport: - The default CLI mode is now direct stdio instead of the persistent HTTP daemon with proxy. This is simpler and works out of the box with all MCP clients. The proxy/daemon modes remain available via the `proxy` and `serve` subcommands.
Release v2.2.1 — documentation refinements and meta-tool access fix Update docs for cross-platform state file paths, Windows process creation flags, clarified context.py scope, and _process.py module. Allow save_database and list_databases through call/execute/batch.
Add cross-platform process helpers and Windows compatibility Extract IS_WINDOWS, pid_alive, and pid_exit_code into _process.py and use them throughout daemon, proxy, and worker provider. Key Windows fixes: SO_EXCLUSIVEADDRUSE instead of SO_REUSEADDR, CREATE_NO_WINDOW for detached spawns, shim/launcher tolerance in _spawn_daemon, and platform-appropriate kill/reap logic in the death watcher. Bump version to 2.2.1rc1.
PreviousNext