mcp-reverse-engineering
A sandboxed MCP (Model Context Protocol) tool for reverse engineering that provides a unified interface to various reverse engineering tools with security restrictions.

Purpose
This project provides a secure, sandboxed environment for executing reverse engineering tools via CLI or MCP protocol. It wraps common reverse engineering utilities (strings, objdump, readelf, binwalk, etc.) with safety features like filesystem isolation, timeouts, and argument validation.
Install
pip install mcp-reverse-engineering
Or for development:
pip install -e ".[dev]"
MCP Server Installation
To use as an MCP server with Claude Desktop:
mcp install src/mcp_reverse_engineering/server.py
Usage
CLI
mcp-re --tool strings --file /path/to/binary
mcp-re --tool objdump --args "['-d']" --file /path/to/binary
mcp-re --tool readelf --args "['-h', '-s']" --file /path/to/elf
mcp-re --tool binwalk --file /path/to/firmware.bin
Python API
from mcp_reverse_engineering import ReverseEngineeringEngine
engine = ReverseEngineeringEngine(
workspace="./workspace",
timeout=30,
)
print(engine.list_available_tools())
result = engine.execute_tool("strings", ["-n", "8"], "/path/to/binary")
print(result)
MCP Server
from mcp_reverse_engineering.server import mcp, strings, objdump, readelf, binwalk
if __name__ == "__main__":
mcp.run()
API
ReverseEngineeringEngine
Main class for executing reverse engineering tools.
engine = ReverseEngineeringEngine(
workspace: str = "./workspace",
timeout: int = 30,
config_path: str | Path | None = None,
)
Methods:
execute_tool(tool_name: str, args: List[str], file_path: Optional[str] = None) -> str - Execute a tool
list_available_tools() -> List[str] - List enabled tools
get_tool_documentation(tool_name: str) -> Dict[str, Any] - Get tool docs
get_mcp_tools() -> List[Dict[str, Any]] - Get MCP tool schemas
Available Tools
| file | file_tools | Determine file type |
| strings | file_tools | Extract printable strings |
| hexdump | file_tools | Hexadecimal dump |
| xxd | file_tools | Hexadecimal dump |
| objdump | binary_tools | Disassemble binary |
| readelf | binary_tools | Read ELF headers |
| binwalk | firmware_tools | Firmware analysis |
Development
git clone https://github.com/daedalus/mcp_reverse_engineering.git
cd mcp_reverse_engineering
pip install -e ".[test]"
pytest
ruff format src/ tests/
ruff check src/ tests/
mypy src/
pip install pre-commit
pre-commit install
MCP Server Configuration
mcp-name: io.github.daedalus/mcp-reverse-engineering
Requirements
- Python 3.11+
- External tools: binwalk, radare2, ghidra, etc. (must be installed separately)
License
MIT