Reversecore_MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Reversecore_MCPdecompile sample.exe and list imported functions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Reversecore_MCP
![]()
An enterprise-grade MCP (Model Context Protocol) server for AI-powered reverse engineering. Enables AI agents to perform comprehensive binary analysis through natural language commands.
๐ Prerequisites
Ghidra (Required for Decompilation)
Ghidra is required for advanced decompilation features. The installation scripts automatically install Ghidra to <project>/Tools directory.
Option 1: Automatic Installation (Recommended)
# Windows (PowerShell)
.\scripts\install-ghidra.ps1
# With custom version/path (optional)
.\scripts\install-ghidra.ps1 -Version "12.1" -InstallDir "C:\CustomPath"# Linux/macOS
chmod +x ./scripts/install-ghidra.sh
./scripts/install-ghidra.sh
# With custom version/path (optional)
./scripts/install-ghidra.sh -v 12.1 -d /custom/pathWhat the scripts do:
Downloads Ghidra 12.1 from GitHub (~400MB)
Extracts to
<project>/Tools/ghidra_12.1_PUBLIC_YYYYMMDDSets
GHIDRA_INSTALL_DIRenvironment variableUpdates project
.envfile
Option 2: Manual Installation
Download: Ghidra 12.1
Extract to
<project>/Tools/or any directorySet environment variable:
# Linux/macOS (~/.bashrc or ~/.zshrc) export GHIDRA_INSTALL_DIR=/path/to/ghidra_12.1_PUBLIC_YYYYMMDD # Windows (PowerShell - permanent) [Environment]::SetEnvironmentVariable("GHIDRA_INSTALL_DIR", "C:\path\to\ghidra", "User")Or add to
.envfile (copy from.env.example)
โ ๏ธ Note: JDK 21+ is required for Ghidra 12.1. Install via your OS package manager (e.g.,
apt install openjdk-21-jdk) or Adoptium.
Related MCP server: cutterMCP
๐ Quick Start
Docker (Recommended)
# Auto-detect architecture (Intel/AMD or Apple Silicon)
./scripts/run-docker.sh
# Or manually:
# Intel/AMD
docker compose --profile x86 up -d
# Apple Silicon (M1/M2/M3/M4)
docker compose --profile arm64 up -dMCP Client Configuration (Cursor AI)
Step 1: Build Docker Image
The unified Dockerfile automatically detects your system architecture:
# Automatic architecture detection (works for all platforms)
docker build -t reversecore-mcp:latest .
# Or use the convenience script
./scripts/run-docker.shStep 2: Configure MCP Client
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"reversecore": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USERNAME/Reversecore_Workspace:/app/workspace",
"-e", "REVERSECORE_WORKSPACE=/app/workspace",
"-e", "MCP_TRANSPORT=stdio",
"reversecore-mcp:latest"
]
}
}
}{
"mcpServers": {
"reversecore": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/path/to/workspace:/app/workspace",
"-e", "REVERSECORE_WORKSPACE=/app/workspace",
"-e", "MCP_TRANSPORT=stdio",
"reversecore-mcp:latest"
]
}
}
}{
"mcpServers": {
"reversecore": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "C:/Reversecore_Workspace:/app/workspace",
"-e", "REVERSECORE_WORKSPACE=/app/workspace",
"-e", "MCP_TRANSPORT=stdio",
"reversecore-mcp:latest"
]
}
}
}โ ๏ธ IMPORTANT: File Path Usage in Docker
The MCP server runs inside a Docker container. When using analysis tools, use only the filename, not the full local path.
โ Wrong
โ Correct
run_file("/Users/john/Reversecore_Workspace/sample.exe")
run_file("sample.exe")Why? Your local path (e.g.,
/Users/.../Reversecore_Workspace/) is mounted to/app/workspace/inside the container. Tools automatically look for files in the workspace directory.Tip: Use
list_workspace()to see all available files in your workspace.
โจ Key Features
๐ Static Analysis
Comprehensive file analysis and metadata extraction:
File Type Detection: Identify binary format, architecture, and compiler information (
run_file)String Extraction: Extract ASCII/Unicode strings with configurable limits (
run_strings)Firmware Analysis: Deep scan for embedded files and signatures (
run_binwalk)Binary Parsing: Parse PE/ELF/Mach-O headers and sections with LIEF (
parse_binary_with_lief)
โ๏ธ Disassembly & Decompilation
Multi-architecture binary analysis with intelligent tooling:
Radare2 Integration: Full r2 command access with connection pooling (
run_radare2,Radare2_disassemble)Ghidra Decompilation: Enterprise-grade decompilation with 16GB JVM heap (
smart_decompile,get_pseudo_code)Multi-Architecture Support: x86, x86-64, ARM, ARM64, MIPS, PowerPC via Capstone (
disassemble_with_capstone)Smart Fallback: Automatic Ghidra-first, r2-fallback strategy for best results
๐งฌ Advanced Analysis
Deep code analysis and behavior understanding:
Cross-Reference Analysis: Track function calls, data references, and control flow (
analyze_xrefs)Structure Recovery: Infer data structures from pointer arithmetic and memory access patterns (
recover_structures)Emulation: ESIL-based code emulation for dynamic behavior analysis (
emulate_machine_code)Binary Comparison: Diff binaries and match library functions (
diff_binaries,match_libraries)
๐ฆ Malware Analysis & Defense
Specialized tools for threat detection and mitigation:
Dormant Threat Detection: Find hidden backdoors, orphan functions, and logic bombs (
dormant_detector)IOC Extraction: Automatically extract IPs, URLs, domains, emails, hashes, and crypto addresses (
extract_iocs)YARA Scanning: Pattern-based malware detection with custom rules (
run_yara)Adaptive Vaccine: Generate defensive measures (YARA rules, binary patches, NOP injection) (
adaptive_vaccine)Vulnerability Hunter: Detect dangerous API patterns and exploit paths (
vulnerability_hunter)
๐ Server Health & Monitoring
Built-in observability tools for enterprise environments:
Health Check: Monitor uptime, memory usage, and operational status (
get_server_health)Performance Metrics: Track tool execution times, error rates, and call counts (
get_tool_metrics)Auto-Recovery: Automatic retry mechanism with exponential backoff for transient failures
๐ฅ๏ธ Web Dashboard (NEW)
Visual interface for binary analysis without LLM:
# Start server in HTTP mode
MCP_TRANSPORT=http MCP_API_KEY=your-secret-key python server.py
# Access dashboard
open http://localhost:8000/dashboard/Features:
Overview: File list with upload stats
Analysis: Functions list, disassembly viewer
IOCs: Extracted URLs, IPs, emails, strings
Security:
XSS protection with HTML sanitization
Path traversal prevention
API key authentication (optional)
๐ Report Generation (v3.1)
Professional malware analysis report generation with accurate timestamps:
One-Shot Submission: Generate standardized JSON reports with a single command (
generate_malware_submission)Session Tracking: Start/end analysis sessions with automatic duration calculation (
start_analysis_session,end_analysis_session)IOC Collection: Collect and organize indicators during analysis (
add_session_ioc)MITRE ATT&CK Mapping: Document techniques with proper framework references (
add_session_mitre)Email Delivery: Send reports directly to security teams with SMTP support (
send_report_email)Multiple Templates: Full analysis, quick triage, IOC summary, executive brief
# Example 1: One-Shot JSON Submission
generate_malware_submission(
file_path="wannacry.exe",
analyst_name="Hunter",
tags="ransomware,critical"
)
# Example 2: Interactive Session Workflow
get_system_time()
start_analysis_session(sample_path="malware.exe")
add_session_ioc("ips", "192.168.1.100")
add_session_mitre("T1059.001", "PowerShell", "Execution")
end_analysis_session(summary="Ransomware detected")
create_analysis_report(template_type="full_analysis")
send_report_email(to="security-team@company.com")โก Performance & Reliability (v3.1)
Resource Management:
Zombie Killer: Guaranteed subprocess termination with
try...finallyblocksMemory Guard: Strict 2MB limit on
stringsoutput to prevent OOMCrash Isolation: LIEF parser runs in isolated process to handle segfaults safely
Optimizations:
Dynamic Timeout: Auto-scales with file size (base + 2s/MB, max +600s)
Ghidra JVM: 16GB heap for modern systems (24-32GB RAM)
Sink-Aware Pruning: 39 dangerous sink APIs for intelligent path prioritization
Trace Depth Optimization: Reduced from 3 to 2 for faster execution path analysis
Infrastructure:
Stateless Reports: Timezone-aware reporting without global state mutation
Robust Retries: Decorators now correctly propagate exceptions for auto-recovery
Config-Driven: Validation limits synchronized with central configuration
๐ ๏ธ Core Tools
Category | Tools |
File Operations |
|
Static Analysis |
|
Disassembly |
|
Decompilation |
|
Advanced Analysis |
|
Binary Parsing |
|
Binary Comparison |
|
Malware Analysis |
|
Report Generation |
|
Server Management |
|
๐ Analysis Workflow
๐ฅ Upload โ ๐ Triage โ ๐ X-Refs โ ๐๏ธ Structures โ ๐ Decompile โ ๐ก๏ธ DefenseUse built-in prompts for guided analysis:
full_analysis_mode- Comprehensive malware analysis with 6-phase expert reasoning and evidence classificationbasic_analysis_mode- Quick triage for fast initial assessmentgame_analysis_mode- Game client analysis with cheat detection guidancefirmware_analysis_mode- IoT/Firmware security analysis with embedded system focusreport_generation_mode- Professional report generation workflow with MITRE ATT&CK mapping
๐ก AI Reasoning Enhancement: Analysis prompts use expert persona priming, Chain-of-Thought checkpoints, structured reasoning phases, and evidence classification (OBSERVED/INFERRED/POSSIBLE) to maximize AI analysis capabilities and ensure thorough documentation.
๐๏ธ Architecture
reversecore_mcp/
โโโ core/ # Infrastructure & Services
โ โโโ config.py # Configuration management
โ โโโ ghidra.py, ghidra_manager.py, ghidra_helper.py # Ghidra integration (16GB JVM)
โ โโโ r2_helpers.py, r2_pool.py # Radare2 connection pooling
โ โโโ security.py # Path validation & input sanitization
โ โโโ result.py # ToolSuccess/ToolError response models
โ โโโ metrics.py # Tool execution metrics
โ โโโ report_generator.py # Report generation service
โ โโโ plugin.py # Plugin interface for extensibility
โ โโโ decorators.py # @log_execution, @track_metrics
โ โโโ error_handling.py # @handle_tool_errors decorator
โ โโโ logging_config.py # Structured logging setup
โ โโโ memory.py # AI memory store (async SQLite)
โ โโโ mitre_mapper.py # MITRE ATT&CK framework mapping
โ โโโ resource_manager.py # Subprocess lifecycle management
โ โโโ validators.py # Input validation
โ
โโโ tools/ # MCP Tool Implementations
โ โโโ analysis/ # Basic analysis tools
โ โ โโโ static_analysis.py # file, strings, binwalk
โ โ โโโ lief_tools.py # PE/ELF/Mach-O parsing
โ โ โโโ diff_tools.py # Binary comparison
โ โ โโโ signature_tools.py # YARA scanning
โ โ
โ โโโ radare2/ # Radare2 integration
โ โ โโโ r2_analysis.py # Core r2 analysis
โ โ โโโ radare2_mcp_tools.py # Advanced r2 tools (CFG, ESIL)
โ โ โโโ r2_session.py # Session management
โ โ
โ โโโ ghidra/ # Ghidra decompilation
โ โ โโโ decompilation.py # smart_decompile, pseudo-code
โ โ โโโ ghidra_tools.py # Structure/Enum management
โ โ
โ โโโ malware/ # Malware analysis & defense
โ โ โโโ dormant_detector.py # Hidden threat detection
โ โ โโโ adaptive_vaccine.py # Defense generation
โ โ โโโ vulnerability_hunter.py # Vulnerability detection
โ โ โโโ ioc_tools.py # IOC extraction
โ โ โโโ yara_tools.py # YARA rule management
โ โ
โ โโโ common/ # Cross-cutting concerns
โ โ โโโ file_operations.py # Workspace file management
โ โ โโโ server_tools.py # Health checks, metrics
โ โ โโโ memory_tools.py # AI memory operations
โ โ
โ โโโ report/ # Report generation (v3.1)
โ โโโ report_tools.py # Core report engine
โ โโโ report_mcp_tools.py # MCP tool registration
โ โโโ session.py # Analysis session tracking
โ โโโ email.py # SMTP integration
โ
โโโ prompts.py # AI reasoning prompts (5 modes)
โโโ resources.py # Dynamic MCP resources (reversecore:// URIs)
โโโ server.py # FastMCP server initialization & HTTP setup๐ณ Docker Deployment
Multi-Architecture Support
The unified Dockerfile automatically detects your system architecture:
Architecture | Auto-Detected | Support |
x86_64 (Intel/AMD) | โ | Full support |
ARM64 (Apple Silicon M1-M4) | โ | Full support |
Run Commands
# Using convenience script (auto-detects architecture)
./scripts/run-docker.sh # Start
./scripts/run-docker.sh stop # Stop
./scripts/run-docker.sh logs # View logs
./scripts/run-docker.sh shell # Shell access
# Manual Docker build (works for all architectures)
docker build -t reversecore-mcp:latest .
# Or using Docker Compose
docker compose up -dEnvironment Variables
Variable | Default | Description |
`MCP_TRANSPORT` | `http` | Transport mode (`stdio` or `http`) |
`REVERSECORE_WORKSPACE` | `/app/workspace` | Analysis workspace path |
`LOG_LEVEL` | `INFO` | Logging level |
`GHIDRA_INSTALL_DIR` | `/opt/ghidra` | Ghidra installation path |
๐ Security
No shell injection: All subprocess calls use list arguments
Path validation: Workspace-restricted file access
Input sanitization: All parameters validated
Rate limiting: Configurable request limits (HTTP mode)
CI checks: Bandit (static analysis), pip-audit (dependency vulnerabilities), Gitleaks (secrets)
๐งช Development
# Install dependencies
pip install -r requirements-dev.txt
# Run tests
pytest tests/ -v
# Run with coverage
pytest tests/ --cov=reversecore_mcp --cov-fail-under=54
# Code quality
ruff check reversecore_mcp/
black reversecore_mcp/Test Status
โ 700+ tests passed (unit + integration)
๐ 55% coverage (minimum 54% enforced in CI)
โฑ๏ธ Bandit security scan, pip-audit dependency check, pytest
๐ API Reference
Tool Response Format
All tools return structured `ToolResult`:
{
"status": "success",
"data": "...",
"metadata": { "bytes_read": 1024 }
}{
"status": "error",
"error_code": "VALIDATION_ERROR",
"message": "File not found",
"hint": "Check file path"
}Common Error Codes
Code | Description |
`VALIDATION_ERROR` | Invalid input parameters |
`TIMEOUT` | Operation exceeded time limit |
`PARSE_ERROR` | Failed to parse tool output |
`TOOL_NOT_FOUND` | Required CLI tool missing |
๐ป System Requirements
Component | Minimum | Recommended |
CPU | 4 cores | 8+ cores |
RAM | 16 GB | 32 GB |
Storage | 512 GB SSD | 1 TB NVMe |
OS | Linux/macOS | Docker environment |
๐ค Contributing
Fork the repository
Create a feature branch
Make changes with tests
Run `pytest` and `ruff check`
Submit a pull request
๐ License
MIT License - see LICENSE for details.
๐ Links
This server cannot be installed
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sjkim1127/Reversecore_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server