Reversecore MCP

MCP serverSecurity

Security-first MCP server for reverse engineering, malware analysis, forensics, and SAST.

Unavailable. This server has no hosted endpoint yet, so ahel can't serve it.

Connect ahel once, and every AI you use reads what you have installed.

From the project's README

As published by sjkim1127/reversecore_mcp in README.md.

AI-Powered Reverse Engineering & Security Analysis via Model Context Protocol

An MCP server that gives AI assistants like Claude and Cursor the ability to perform reverse engineering, malware analysis, vulnerability research, digital forensics, and source code auditing through natural language.



Table of Contents

  • What is Reversecore MCP?
  • Architecture
  • Tool Catalog (120 Tools)
  • Guided Analysis Prompts (22 Modes)
  • MCP Resources (11 URIs)
  • Quick Start
  • Connect to Your AI Client
  • Configuration
  • Security Model
  • Development
  • CI/CD Pipeline
  • Docker Build Architecture
  • System Requirements
  • Project Structure
  • Error Handling
  • Adding New Tools
  • Contributing
  • Documentation
  • License

What is Reversecore MCP?

Reversecore MCP is a Model Context Protocol server that wraps 120 analysis tools into a single interface that AI assistants can call through natural language.

Instead of learning the command-line syntax for a dozen different tools, you describe what you want:

"Decompile the main function of this malware sample, extract all network IOCs,
 map the behavior to MITRE ATT&CK, and generate a triage report."

The AI assistant breaks this into tool calls:

r2_decompile("sample.exe", "main")
  → extract_iocs("sample.exe")
    → add_mitre_technique(technique_id="T1071.001", ...)
      → create_analysis_report(template_type="quick_triage")

Each tool returns a structured ToolResult (either ToolSuccess or ToolError) with typed data that the AI can reason about, chain into follow-up queries, or render for the user.

What it covers

DomainWhat you can do
Static analysisDisassembly, decompilation (r2ghidra), binary parsing (LIEF), packer detection (DIE), capability detection (CAPA), string extraction, firmware scanning (binwalk)
Dynamic & symbolicESIL emulation, angr symbolic execution, taint analysis, fuzzing harness generation
Malware analysisIOC extraction, YARA scanning, dormant backdoor detection, adaptive vaccine generation, autonomous vulnerability hunting
Vulnerability researchDangerous API detection, ROP gadget discovery, heap exploit analysis, crash triage, PoC generation
Digital forensicsMemory forensics (Volatility3), PCAP analysis (Scapy), disk forensics (Sleuth Kit), artifact correlation
Source code auditPython AST scanning, C/C++ regex pattern scanning
ReportingSession-based reports with MITRE ATT&CK mapping, SIGMA rule generation, VEX reports, email delivery

Architecture

AI Client (Claude / Cursor / any MCP-compatible client)
        │  MCP Protocol (stdio or HTTP/SSE)
        ▼
┌──────────────────────────────────────────────────────┐
│                   FastMCP 3.4.4 Server               │
│          120 registered tools · Fully async          │
│                  Python 3.10–3.12                    │
├────────────────────┬─────────────────────────────────┤
│   Guided Prompts   │  Dynamic Resources              │
│  (22 analysis      │  (11 URI-based: per-binary      │
│   modes)           │   strings, IOCs, ASM, CFG, …)   │
├────────────────────┴─────────────────────────────────┤
│                  Core Infrastructure                 │
│  Config · Security · Validators · Exceptions (17)    │
│  R2 Pool · Metrics · Memory (SQLite) · Task Queue    │
│  MITRE Mapper · Evidence Engine · Resilience Layer   │
│  Arch Registry (x86/ARM/MIPS/RISC-V/PPC)            │
│  Result Cache (SHA256) · Analysis Cache (Redis+SQL)  │
│  SAST (Python AST + C/C++ Regex) · Plugin System     │
├──────────────────────────────────────────────────────┤
│                 Analysis Engines                     │
│  Radare2 6.0.4     │  YARA 4.3.1 · LIEF · Capstone  │
│  r2ghidra           │  CAPA · angr · Qiling          │
│  Volatility3 · Scapy│ DIE · Binwalk · Sleuth Kit    │
│  pwntools · ROPgadget│ Keystone (assembler)          │
└──────────────────────────────────────────────────────┘

Core Infrastructure (37 modules)

The reversecore_mcp/core/ directory contains the shared infrastructure that all tools build on:

ModulePurpose
config.pyPydantic BaseSettings with 34+ environment variables
security.pyInput sanitization, command argument validation
validators.pyFile and binary path validation with TOCTOU mitigation, symlink resolution
r2_pool.pyThread-safe Radare2 connection pool with configurable size
r2_helpers.pyStructured Radare2 output parsing
metrics.pyPer-tool execution times, call counts, error rates, cache statistics
memory.pyAsync SQLite-backed AI memory store for persisting analysis findings across sessions
mitre_mapper.pyMITRE ATT&CK technique ID mapping engine
evidence.pyEvidence classification system: OBSERVED, INFERRED, POSSIBLE
resilience.pyRetry, circuit-breaker, and timeout decorator patterns
task_queue.pyBackground task queue via Redis + arq
extension_registry.pyPlugin registration and lifecycle management
arch_registry.pyMulti-architecture mapping (x86, x86_64, ARM32, ARM64, MIPS, RISC-V, PPC → r2 arch/bits/registers)
result_cache.pySHA256-based tool result caching decorator (@cache_tool_result)
analysis_cache.pyMulti-level decompilation cache (L1: Redis, L2: SQLite)
result.pyToolSuccess / ToolError Pydantic models
exceptions.py17 exception classes with RCMCP-E* error codes
decorators.py@log_execution, @track_metrics
error_handling.py@handle_tool_errors decorator
error_formatting.pyStructured error response formatting
execution.pySafe subprocess execution with timeout and output limits
command_spec.pyCommand specification for subprocess calls
loader.pyDynamic tool module loader
plugin.pyPlugin base class
extension.pyExtension base class
container.pyContainer/sandbox execution support
audit.pyAudit logging
binary_cache.pyBinary file caching
json_utils.pyJSON serialization via orjson (3-5x faster than stdlib json)
logging_config.pyLoguru-based structured logging
report_generator.pyReport rendering engine (Markdown, PDF via xhtml2pdf)
resource_manager.pyMCP resource lifecycle management
sast/python_ast_scanner.pyPython AST-based vulnerability scanner
sast/regex_scanner.pyC/C++ regex-based vulnerability scanner
sast/rule_manager.pySAST rule loading and management

Tool Catalog (120 Tools)

Every tool returns a structured ToolResult — either a ToolSuccess with typed data or a ToolError with an RCMCP-E* error code. Tools are organized into 8 plugins.


🔍 Static Analysis Plugin (24 tools)

#ToolBackendDescription
1run_stringsstrings CLIASCII/Unicode string extraction with configurable min-length
2run_binwalkBinwalkFirmware deep-scan for embedded signatures and filesystems
3run_binwalk_extractBinwalkExtract embedded files discovered by binwalk
4parse_binary_with_liefLIEFFull PE/ELF/Mach-O header, section, import/export, TLS parsing
5detect_packerDIEQuick packer/compiler detection
6detect_packer_deepDIE (diec)Deep packer/protector analysis via Detect It Easy
7run_capaCAPA (Mandiant FLARE)Capability detection — "encrypts data", "creates persistence", etc.
8run_capa_quickCAPAQuick capability scan with a rule subset
9generate_signatureRadare2Generate binary signatures for identification
10generate_yara_ruleRadare2 + YARAGenerate YARA detection rules from binary patterns
11generate_advanced_yara_ruleRadare2 + YARAAdvanced YARA rules with behavioral indicators
12scan_for_versionsLIEF + stringsScan binary for embedded version strings
13extract_rtti_infoRadare2Extract C++ RTTI (Run-Time Type Information)
14diff_binariesRadare2Semantic binary diff between two file versions
15analyze_variant_changesRadare2Analyze changes between binary variants
16match_librariesRadare2Identify statically linked libraries by function fingerprint
17patch_diff_1dayRadare2 + heuristicsAutomated patch diff analysis for 1-day vulnerability research
18analyze_patch_diff_autoRadare2 + inferenceAutomated patch vulnerability inference
19emulate_binaryRadare2 ESILRegister/memory-traced code emulation
20generate_fuzzing_harnessQiling + AFL++Generate a fuzzing harness targeting a specific function
21run_fuzzing_campaignAFL++Run a full fuzzing campaign with crash collection
22triage_crashGDBCrash parsing and exploitability assessment
23verify_path_and_get_argsangrSymbolic execution — prove path reachability and compute concrete inputs
24taint_traceRadare2 + angrData-flow taint analysis from sources to sinks

🔐 Source Code Audit Plugin (1 tool)

#ToolBackendDescription
25audit_source_codeAST + RegexPython AST scanning + C/C++ regex scanning for dangerous patterns

🛠️ Common Utilities Plugin (20 tools)

File Operations (5 tools)

#ToolDescription
26run_fileFile type, architecture, and compiler fingerprinting
27copy_to_workspaceCopy a file into the analysis workspace
28create_directoryCreate a directory in the workspace
29list_workspaceList all files in the workspace
30scan_workspaceFull workspace scan with file metadata

Patch Explanation (1 tool)

#ToolDescription
31explain_patchExplain a binary patch in natural language

Assembler (1 tool)

#ToolBackendDescription
32assemble_instructionsKeystoneAssemble instructions to machine code (x86, ARM, MIPS, etc.)

AI Memory Management (11 tools)

These tools let the AI persist and recall findings across analysis sessions using an async SQLite database:

#ToolDescription
33create_memory_sessionStart a new memory session for an analysis
34store_analysis_findingPersist an analysis finding with tags
35query_analysis_memoriesSearch past findings by query
36get_binary_analysis_contextRetrieve all context for a specific binary
37tag_analysis_sessionAdd tags to a session for organization
38search_memories_by_tagFind sessions/findings by tag
39delete_analysis_sessionRemove a session and its findings
40cleanup_expired_sessionsRemove sessions older than a threshold
41list_analysis_sessionsList all active sessions
42export_memory_storeExport all memories to a portable format
43import_memory_storeImport memories from an export file

Server Monitoring (2 tools)

#ToolDescription
44get_server_healthUptime, memory usage, loaded tools, Python version
45get_tool_metricsPer-tool call counts, mean execution times, error rates, cache hit/miss

⚙️ Radare2 & r2ghidra Plugin (30 tools)

All Radare2 tools use a thread-safe connection pool (r2_pool.py) that automatically manages r2pipe sessions.

#ToolDescription
46Radare2_open_fileOpen a binary file in Radare2
47Radare2_close_fileClose a Radare2 session
48Radare2_list_open_filesList currently open files
49Radare2_analyze_binaryRun full auto-analysis (aaa)
50Radare2_list_functionsList all detected functions
51Radare2_disassemble_functionDisassemble a specific function
52Radare2_disassemble_addressDisassemble at a specific address
53Radare2_decompile_functionDecompile via r2ghidra (Ghidra engine embedded in r2, no JVM needed)
54Radare2_list_exportsList exported symbols
55Radare2_list_importsList imported functions
56Radare2_list_sectionsList binary sections with entropy
57Radare2_list_stringsList strings found in the binary
58Radare2_find_cross_referencesTrack function calls and data references
59Radare2_search_bytesSearch for byte patterns in the binary
60Radare2_get_binary_infoGet binary metadata (arch, format, endianness)
61Radare2_execute_commandExecute a raw Radare2 command
62Radare2_esil_emulateESIL emulation at a specific address
63Radare2_get_hexdumpHex dump at a virtual address
64Radare2_get_cfg_dataExtract control flow graph data
65Radare2_generate_cfg_pngGenerate CFG as PNG image
66Radare2_generate_callgraphGenerate function call graph
67Radare2_recover_structuresAuto-recover C structs and persist to annotation database
68Radare2_decompile_with_r2ghidraHigh-quality C decompilation with caching
69Radare2_annotate_binaryAdd annotations to the binary
70Radare2_get_annotationsRetrieve annotations
71Radare2_export_annotationsExport annotations to file
72Radare2_import_annotationsImport annotations from file
73Radare2_detect_crypto_constantsDetect cryptographic constants (AES S-box, etc.)
74Radare2_find_gadgetsFind ROP/JOP gadgets
75Radare2_calculate_entropyCalculate per-section entropy

🦠 Malware Analysis Plugin (9 tools)

#ToolBackendDescription
76dormant_detectorRadare2 + heuristicsFind hidden backdoors, orphan functions, time-bombs, logic bombs
77adaptive_vaccineYARA + Radare2Generate detection YARA rules + binary patches to neutralize threats
78vulnerability_hunterRadare2 + analysisDetect dangerous API patterns (strcpy, sprintf) and ROP gadget chains
79extract_iocsRegex + LIEFExtract IPs, URLs, domains, hashes, registry keys, crypto addresses
80run_yaraYARAScan with custom rule files and built-in rulesets
81generate_poc_exploitpwntoolsGenerate proof-of-concept exploit code
82build_rop_chainROPgadget + pwntoolsAutomated ROP chain construction
83autonomous_vuln_huntRadare2 + angrAutonomous vulnerability hunting pipeline
84analyze_heap_exploitRadare2 + heuristicsHeap exploitation analysis (UAF, double-free, overflow)

🕵️ Digital Forensics Plugin (22 tools)

Memory Forensics (6 tools)

#ToolBackendDescription
85memory_analyzeVolatility3Full memory dump analysis
86memory_list_processesVolatility3List running processes from memory dump
87memory_detect_injectionsVolatility3Detect code injection in process memory
88memory_extract_stringsVolatility3Extract strings from process memory
89memory_dump_moduleVolatility3Dump a loaded module from memory
90memory_list_symbolsVolatility3List symbols from memory

Disk Forensics (6 tools)

#ToolBackendDescription
91disk_list_partitionSleuth KitList disk partitions
92disk_list_filesSleuth KitList files in a disk image
93disk_recover_deletedSleuth KitRecover deleted files
94disk_analyze_mftSleuth KitAnalyze NTFS Master File Table
95disk_extract_fileSleuth KitExtract a file from disk image
96disk_hash_verifySleuth KitVerify file integrity via hash

Network Forensics (5 tools)

#ToolBackendDescription
97pcap_analyzeScapyPCAP analysis: protocol breakdown, anomalies
98pcap_list_connectionsScapyList all network connections
99pcap_extract_dnsScapyExtract DNS queries and responses
100pcap_extract_c2ScapyIdentify potential C2 communication
101pcap_reconstruct_streamScapyReconstruct TCP streams

Artifact Analysis (5 tools)

#ToolBackendDescription
102artifact_collectCustom parsersCollect browser history, registry hives, event logs, prefetch
103artifact_correlate_iocCustom parsersCorrelate artifacts with known IOCs
104artifact_generate_yaraYARAGenerate YARA rules from artifact patterns
105artifact_timelineCustom parsersBuild timeline from multiple artifact sources
106artifact_reportCustom parsersGenerate artifact analysis report

📝 Report Generation Plugin (14 tools)

#ToolDescription
107get_system_timeGet server timestamp (prevents AI from hallucinating dates)
108set_timezoneSet the reporting timezone
109get_timezone_infoGet current timezone information
110start_report_sessionStart a timed analysis session with unique ID
111end_report_sessionFinalize session: compute duration, lock IOC/ATT&CK lists
112get_report_session_statusCheck session status
113list_report_sessionsList all active/completed sessions
114add_iocCollect and tag IOCs during a live session
115add_analysis_noteAdd categorized notes (finding, warning, behavior)
116add_mitre_techniqueDocument MITRE ATT&CK technique IDs
117set_severitySet session severity (low/medium/high/critical)
118create_analysis_reportRender report in 4 modes: full_analysis, quick_triage, ioc_summary, executive_brief
119generate_vex_reportGenerate a VEX (Vulnerability Exploitability eXchange) report
120generate_sigma_ruleGenerate SIGMA detection rules

Guided Analysis Prompts (22 Modes)

Prompts are pre-built analysis workflows that prime the AI with a structured persona, step-by-step tool usage sequences, and evidence classification rules. You activate them by referencing the prompt name in your AI client.

Malware Analysis (9 prompts)

PromptUse Case
full_analysis_mode6-phase comprehensive analysis: triage → disassembly → behavior → network → persistence → report
malware_analysis_modeFocused malware analysis with threat classification
basic_analysis_modeRapid triage for initial assessment and quick verdicts
apt_hunting_modeAPT-specific hunting: lateral movement, persistence, data exfiltration
malware_defense_modeDefense-oriented: generate detection rules and mitigations
unpacking_modeAnalyze and bypass packing/obfuscation (Themida, VMProtect, UPX)
c2_extraction_modeExtract and analyze C2 communication infrastructure
ransomware_triage_modeRansomware-specific triage: encryption analysis, key recovery assessment
code_similarity_modeCompare binaries for code similarity and shared lineage

Security Research (6 prompts)

PromptUse Case
vulnerability_research_modeBug hunting: buffer overflows, UAF, command injection
crypto_analysis_modeCryptographic implementation analysis and weakness detection
firmware_analysis_modeIoT/embedded firmware: binwalk extraction, UART strings, hardcoded credentials
patch_analysis_modeSecurity patch analysis and regression testing
source_code_audit_modeSource code security audit (Python, C, C++)
autonomous_vuln_hunt_modeAutonomous vulnerability hunting pipeline

CVE Research & Exploit Development (5 prompts)

PromptUse Case
taint_analysis_modeData-flow taint analysis: automated source→sink path discovery
heap_exploit_modeHeap exploitation analysis and PoC generation
fuzzing_modeFuzzing campaign setup and crash triage
patch_diff_auto_modeAutomated patch diff for 1-day vulnerability research
cve_discovery_pipeline_modeFull CVE discovery pipeline: from patch diff to working exploit

Other (2 prompts)

PromptUse Case
game_analysis_modeGame client analysis: anti-cheat detection, protocol RE, memory inspection
report_generation_modeStructured session workflow with MITRE ATT&CK technique mapping

How prompts work: Each prompt primes the AI with a structured analysis persona. It includes Chain-of-Thought reasoning checkpoints (where the AI must stop and evaluate before proceeding) and evidence classification rules that prevent the AI from stating speculation as fact. Every finding must be labeled as OBSERVED (directly verified), INFERRED (logically derived from static analysis), or POSSIBLE (requires further verification).


MCP Resources (11 URIs)

Resources are read-only data endpoints that AI clients can access through URI templates. They complement tools by providing structured data without requiring explicit tool calls.

Static Resources

URIDescription
reversecore://guideTool usage guide with file path rules and best practices
reversecore://guide/structuresStructure recovery and cross-reference analysis technical guide
reversecore://toolsComplete documentation for all 120 registered tools
reversecore://logsApplication logs (last 100 lines)

Dynamic Resources (Per-Binary Virtual Filesystem)

These URIs resolve per-binary and invoke the corresponding analysis tools on demand:

Shortened here. Read the whole README on GitHub.

Signals

GitHub stars
201
Forks
20
Last commit
Sep 2026
Advanced
Delivery
reversecore-mcp MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
io-github-sjkim1127-reversecore-mcp
Source
github.com/sjkim1127/reversecore_mcp