{
  "markdown": "# mcp-reverse-engineering\n\nA sandboxed MCP (Model Context Protocol) tool for reverse engineering that provides a unified interface to various reverse engineering tools with security restrictions.\n\n[![PyPI](https://img.shields.io/pypi/v/mcp-reverse-engineering.svg)](https://pypi.org/project/mcp-reverse-engineering/)\n[![Python](https://img.shields.io/pypi/pyversions/mcp-reverse-engineering.svg)](https://pypi.org/project/mcp-reverse-engineering/)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/daedalus/mcp_reverse_engineering)\n\n## Purpose\n\nThis 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.\n\n## Install\n\n```bash\npip install mcp-reverse-engineering\n```\n\nOr for development:\n\n```bash\npip install -e \".[dev]\"\n```\n\n### MCP Server Installation\n\nTo use as an MCP server with Claude Desktop:\n\n```bash\nmcp install src/mcp_reverse_engineering/server.py\n```\n\n## Usage\n\n### CLI\n\n```bash\n# Extract strings from a binary\nmcp-re --tool strings --file /path/to/binary\n\n# Disassemble a binary\nmcp-re --tool objdump --args \"['-d']\" --file /path/to/binary\n\n# Analyze ELF headers\nmcp-re --tool readelf --args \"['-h', '-s']\" --file /path/to/elf\n\n# Run binwalk for firmware analysis\nmcp-re --tool binwalk --file /path/to/firmware.bin\n```\n\n### Python API\n\n```python\nfrom mcp_reverse_engineering import ReverseEngineeringEngine\n\n# Create engine with default config\nengine = ReverseEngineeringEngine(\n    workspace=\"./workspace\",\n    timeout=30,\n)\n\n# List available tools\nprint(engine.list_available_tools())\n\n# Execute a tool\nresult = engine.execute_tool(\"strings\", [\"-n\", \"8\"], \"/path/to/binary\")\nprint(result)\n```\n\n### MCP Server\n\n```python\nfrom mcp_reverse_engineering.server import mcp, strings, objdump, readelf, binwalk\n\n# Run the server (stdio transport for Claude Desktop)\nif __name__ == \"__main__\":\n    mcp.run()\n```\n\n## API\n\n### ReverseEngineeringEngine\n\nMain class for executing reverse engineering tools.\n\n```python\nengine = ReverseEngineeringEngine(\n    workspace: str = \"./workspace\",  # Sandbox directory\n    timeout: int = 30,               # Tool execution timeout\n    config_path: str | Path | None = None,  # YAML config path\n)\n```\n\n**Methods:**\n\n- `execute_tool(tool_name: str, args: List[str], file_path: Optional[str] = None) -> str` - Execute a tool\n- `list_available_tools() -> List[str]` - List enabled tools\n- `get_tool_documentation(tool_name: str) -> Dict[str, Any]` - Get tool docs\n- `get_mcp_tools() -> List[Dict[str, Any]]` - Get MCP tool schemas\n\n### Available Tools\n\n| Tool | Category | Description |\n|------|----------|-------------|\n| file | file_tools | Determine file type |\n| strings | file_tools | Extract printable strings |\n| hexdump | file_tools | Hexadecimal dump |\n| xxd | file_tools | Hexadecimal dump |\n| objdump | binary_tools | Disassemble binary |\n| readelf | binary_tools | Read ELF headers |\n| binwalk | firmware_tools | Firmware analysis |\n\n## Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/daedalus/mcp_reverse_engineering.git\ncd mcp_reverse_engineering\n\n# Install dependencies\npip install -e \".[test]\"\n\n# Run tests\npytest\n\n# Format code\nruff format src/ tests/\n\n# Lint\nruff check src/ tests/\n\n# Type check\nmypy src/\n\n# Install pre-commit hooks\npip install pre-commit\npre-commit install\n```\n\n## MCP Server Configuration\n\nmcp-name: io.github.daedalus/mcp-reverse-engineering\n\n## Requirements\n\n- Python 3.11+\n- External tools: binwalk, radare2, ghidra, etc. (must be installed separately)\n\n## License\n\nMIT\n",
  "bytes": 3882,
  "sha": "9c36fbff7ee8183df148441bc0c2fb8c9147b3ee6337ccf073fc7119db0b116b",
  "repo_slug": "daedalus/mcp_reverse_engineering",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_daedalus_mcp_reverse_engineeri_263dc4e7/readme"
}