mcpField
M
mcp-reverse-engineering

mcp-reverse-engineering

Local
github.com/daedalusSecurity1Updated 26w ago

About mcp-reverse-engineering

mcp-reverse-engineering provides a sandboxed interface for running common reverse-engineering utilities, for analysts working with files and binaries. Filesystem isolation, timeouts, and argument validation constrain tool execution.

Key features

  1. 01Run file and binary analysis tools
  2. 02Inspect file types and printable strings
  3. 03Disassemble binaries and read ELF headers
  4. 04Analyze firmware with binwalk
  5. 05Sandbox execution with timeouts and validation

Use cases

  1. 01Identify a file type or extract strings
  2. 02Inspect binary instructions and ELF metadata
  3. 03Analyze firmware images
  4. 04Run reverse-engineering utilities in an isolated workspace

MCP support

It exposes reverse-engineering tools to MCP clients, including strings, objdump, readelf, and binwalk. Execution is sandboxed with filesystem isolation, timeouts, and argument validation.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"daedalus-mcp-reverse-engineering-2": {
"command": "uvx",
"args": [
"mcp-reverse-engineering"
]
}
}
}
Run commanduvx mcp-reverse-engineering

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimcp-reverse-engineering0.1.4

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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.

PyPI Python RuffAsk DeepWiki

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
# Extract strings from a binary
mcp-re --tool strings --file /path/to/binary

# Disassemble a binary
mcp-re --tool objdump --args "['-d']" --file /path/to/binary

# Analyze ELF headers
mcp-re --tool readelf --args "['-h', '-s']" --file /path/to/elf

# Run binwalk for firmware analysis
mcp-re --tool binwalk --file /path/to/firmware.bin
Python API
from mcp_reverse_engineering import ReverseEngineeringEngine

# Create engine with default config
engine = ReverseEngineeringEngine(
    workspace="./workspace",
    timeout=30,
)

# List available tools
print(engine.list_available_tools())

# Execute a tool
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

# Run the server (stdio transport for Claude Desktop)
if __name__ == "__main__":
    mcp.run()

API

ReverseEngineeringEngine

Main class for executing reverse engineering tools.

engine = ReverseEngineeringEngine(
    workspace: str = "./workspace",  # Sandbox directory
    timeout: int = 30,               # Tool execution timeout
    config_path: str | Path | None = None,  # YAML config path
)

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
ToolCategoryDescription
filefile_toolsDetermine file type
stringsfile_toolsExtract printable strings
hexdumpfile_toolsHexadecimal dump
xxdfile_toolsHexadecimal dump
objdumpbinary_toolsDisassemble binary
readelfbinary_toolsRead ELF headers
binwalkfirmware_toolsFirmware analysis

Development

# Clone the repository
git clone https://github.com/daedalus/mcp_reverse_engineering.git
cd mcp_reverse_engineering

# Install dependencies
pip install -e ".[test]"

# Run tests
pytest

# Format code
ruff format src/ tests/

# Lint
ruff check src/ tests/

# Type check
mypy src/

# Install pre-commit hooks
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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.