Reversecore MCP
A security-first MCP server that empowers AI agents to perform automated reverse engineering, malware analysis, forensics, vulnerability research, and SAST — powered by Radare2, YARA, LIEF, Capstone, and more.
Reversecore MCP is an open-source mcp server by sjkim1127, written mainly in Python, with 215 GitHub stars and the MIT license. Its code was last updated Oct 29, 2026.
Scan summary: scanned Nov 5, 2026 at commit ce5b8ce. Seen able to run shell commands, read or write files, read environment and secrets, connect to the internet. Scan policy
ce5b8ce · Nov 5, 2026Findings (7)
- highHigh. Something risky that needs a close look before you install.dependencies issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.network issueDetails are available to the maintainer after claiming this listing.
- mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.dnspython@2.8.0: 4 known vulnerabilitiesGHSA-45c3-73f7-pv4m, GHSA-45c3-73f7-pv4m, GHSA-45c3-73f7-pv4m, GHSA-45c3-73f7-pv4m
requirements-core.txt - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
docs/getting-started/configuration.md:95 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key2 matches in this file
tests/adversarial/test_m4_transport_resources_adversarial.py:450 - lowLow. Minor, or common in normal tools. Shown for information.mako@1.3.12: 4 known vulnerabilitiesPYSEC-2026-4243, PYSEC-2026-4243, PYSEC-2026-4243, PYSEC-2026-4243
requirements-core.txt - lowLow. Minor, or common in normal tools. Shown for information.Reads environment variables not listed in the manifestREVERSECORE_CLANG_PATH, _ENV_PLUGIN_DIRS, _ENV_R2_EXTENSIONS, _ENV_GHIDRA_EXTENSIONS, REVERSECORE_REDIS_URL, ALLOWED_ORIGINS, REVERSECORE_RATE_LIMIT_STRICT, R2GHIDRA_DB_PATH, REPORT_SMTP_SERVER, REPORT_SMTP_PORT, REPORT_SMTP_USERNAME, REPORT_SMTP_PASSWORD, REPORT_SMTP_USE_TLS, REPORT_SENDER_NAME, RE…
Network activity
Tools exposed (135)
audit_source_codePerform a security audit on a source code file (SAST). This tool analyzes source code (C, C++, Python, Go, etc.) to identify potential security vulnerabilities such as buffer overflows, injection flaws, and weak cryptography. It provides a structured breakdown of dangerous patterns found in the cod
run_fileIdentify file metadata using the ``file`` CLI utility.
copy_to_workspaceCopy any accessible file to the workspace directory. This tool allows copying files from any location (including AI agent upload directories) to the workspace where other reverse engineering tools can access them. Supports files from: - Claude Desktop uploads (/mnt/user-data/uploads) - Cursor uplo
create_directoryCreate a new sub-directory within the workspace. This tool allows AI agents to dynamically create isolated sub-workspaces for different tasks or sessions.
list_workspaceList all files in the workspace directory. Returns: ToolResult with list of files in workspace
scan_workspaceBatch scan all files in the workspace using multiple tools in parallel. This tool performs a comprehensive scan of the workspace to identify files, analyze binaries, and detect threats. It runs 'run_file', 'parse_binary_with_lief', and 'run_yara' (if rules exist) on all matching files concurrently.
retrieve_truncated_outputRetrieve a continuation slice of a truncated output artifact from the workspace. Enables AI agents to recover the omitted tail of large tool outputs without using lossy head/tail commands or causing response budget overflows.
batch_executeExecute a batch of repeated or heterogeneous analysis operations within bounded resources. Enables AI agents to perform bulk decompilations, cross-reference searches, tagging, and static analysis sweeps in a single MCP request, eliminating round-trips while isolating individual item failures and en
transaction_beginBegin a new state mutation transaction. Checkpoints current Reversecore state (annotation database, memory sessions, report sessions, and reversible workspace artifacts). Subsequent mutations can be committed atomically or rolled back cleanly to this checkpoint.
transaction_commitCommit the active transaction and persist changes into the undo history. Atomically commits all mutations executed since transaction_begin, records affected objects in the security audit trail, and adds the transaction to the undo stack.
transaction_rollbackRoll back the active transaction and restore pre-transaction Reversecore state. Restores the SQLite annotation database, memory sessions, report session metadata, and tracked workspace artifacts to their exact pre-transaction state.
transaction_statusInspect current transaction state, uncommitted mutations, and undo/redo history. Provides visibility into active transaction status, affected resources, whether non-reversible actions have occurred, and available undo/redo steps.
transaction_undoUndo the last committed transaction(s). Restores Reversecore state to the checkpoint prior to the committed transaction, and moves the undone transaction to the redo stack.
transaction_redoRedo the last undone transaction(s). Re-applies the committed state of previously undone transactions.
recommend_analysis_planRecommend a goal-aware, depth-tiered analysis plan composed of existing MCP tools. Given a file, objective, and depth tier, evaluates tool availability, active profile constraints, and external dependencies to synthesize a sequential tool pipeline with conditional branches, stop conditions, and rat
create_case_stateCreate a persistent machine-readable analysis case bound to sample SHA-256 integrity.
get_case_stateRetrieve persistent analysis case state by ID or sample path.
update_case_stateIncrementally update case state, phase, hypotheses, targets, blockers, or artifacts.
resume_case_stateResume an existing analysis case with hash verification and actionable guidance.
list_case_statesList persistent analysis cases.
export_handoff_bundleExport a portable analyst handoff bundle for a sample. The bundle records sample identity, scope and tool provenance, what is established vs. unresolved, relevant annotations, and integrity digests for every section and artifact reference.
import_handoff_bundleVerify and import an analyst handoff bundle. Integrity digests are checked first, then the sample hash, and only then is state written. Existing local cases and annotations are never overwritten: an already-known case is imported under a new ID and conflicting annotations are reported and left as-i
plan_next_analysis_targetsGenerate an evidence-ranked next-analysis plan for an active case. Ranks inspection targets deterministically based on evidence references, priority level, active hypotheses, and blocker readiness. Provides concrete recommended tools and next steps.
populate_case_queue_from_triageExtract prioritized inspection leads from triage results and populate the case queue. Parses suspicious APIs, high-entropy sections, anti-analysis checks, diff changes, and network/memory IOCs into prioritized targets with rationale and evidence links. Skips targets that are already completed.
add_priority_targetManually add an evidence-driven analysis target to the active case queue.
update_priority_targetUpdate a target's lifecycle status, unblock dependent targets on completion, and record findings.
resolve_target_blockerResolve an explicit blocking dependency for a target, transitioning it to pending status.
explain_patchAnalyze differences between two binaries and explain changes in natural language. This tool combines binary diffing with decompilation to help understand security patches. It identifies changed functions, decompiles them, and uses heuristics to explain the nature of the changes (e.g., "Added bounds
assemble_instructionsAssemble assembly instruction strings into raw machine byte values using Keystone.
create_memory_sessionCreate a new memory session to store memories. Use this when starting a new reverse engineering analysis. The session name should be descriptive and follow a template format like 'malware_analysis_2024_001' or 'game_cheat_detection'.
save_memory_itemSave important information to long-term memory. Use this to remember: - Function addresses and their purposes - Vulnerability patterns discovered - API call sequences - User instructions and preferences - Interesting strings or structures
recall_memory_itemSearch and recall memories from past analyses. Use this when you need to remember something from earlier, or when the user asks about previous findings.
list_memory_sessionsList all analysis sessions with timestamps and status. Use this to see what analyses have been done before, or to find a session to resume.
get_memory_session_detailGet complete details and context for a specific session. Use this when resuming an analysis or reviewing past work. Returns all memories and patterns associated with the session.
resume_memory_sessionResume a previous analysis session with full context restoration. Use this when the user says "continue where we left off" or "resume yesterday's analysis".
complete_memory_sessionMark an analysis session as completed with a summary. Use this when finishing an analysis to save a summary for future reference.
save_patternSave a code/behavior pattern for cross-session similarity search. Use this when you discover a notable pattern that might appear in other samples. This enables "Hey, this looks similar to before!"
find_similar_patternsFind similar patterns from previous analyses. Use this to check if current findings match anything from past analyses. Enables knowledge transfer across projects.
get_relevant_contextGet relevant context from past analyses for current work. Use this proactively when analyzing something new to check if there's relevant knowledge from previous sessions.
update_memory_session_timeUpdate the cumulative analysis time for a session. Call this periodically to track how long an analysis takes.
get_server_healthGet the current health status and resource usage of the MCP server. Use this to monitor the server's uptime, memory consumption, and tool execution statistics. Returns: ToolResult containing: - uptime_seconds: Server uptime - memory_usage_mb: Current memory usage in MB - status: 'h
get_tool_metricsGet detailed execution metrics for specific or all tools.
cve_synthesize_harnessSynthesize LibFuzzer/AFL++ C/C++ test harness and format dictionary (.dict) for target parser. Analyzes target headers, exports, and sample files to extract candidate parser functions, magic byte signatures, and generate ready-to-compile LLVMFuzzerTestOneInput harness code.
cve_fuzz_targetExecute hybrid fuzzing campaign with Sanitizer tracking and angr concolic seed solver. Runs target fuzzer binary with AddressSanitizer, detects coverage stalls, and uses angr symbolic execution to solve magic byte constraints.
cve_triage_crashTriage AddressSanitizer/UBSan crash log and compute CWE and CVSS v3.1 rating. Extracts bug class (heap-buffer-overflow, UAF, double-free), faulting PC, memory access type, allocation/free/crash callstacks, and calculates CVSS score and vector.
cve_minimize_pocMinimize crash testcase payload via delta-debugging and generate standalone PoC scripts. Bsects crash input to find the smallest reproducible byte sequence, and generates standalone Python (subprocess/pwntools) and C reproduction code.
hunt_cve_vulnerabilitiesRun one-click CVE hunting against a compiled LibFuzzer target executable. This pipeline does not compile source or header files. Generate and compile a harness for those targets separately, then pass the resulting executable here. Performs end-to-end vulnerability discovery: 1. Hybrid fuzzing and
deobfuscate_stringsRecover dynamically constructed stack strings and emulated loop strings in a binary. Scans function basic blocks for stack stores (byte/word/dword constants) and micro-emulates tight loops (XOR/additive/rolling ciphers) to capture decrypted strings.
resolve_api_hashesDetect dynamic PEB/TEB walking and resolve 32-bit API hashes to Windows export symbols. Matches constants found in instructions or data sections against precomputed hash tables (ROR13, CRC32, MurmurHash3, FNV-1a, DJB2, SDBM) for standard Windows libraries (ntdll, kernel32, user32, advapi32, ws2_32,
eliminate_dead_codeAnalyze opaque predicates and identify unreachable basic blocks in a function CFG. Detects algebraic/constant opaque predicates (e.g. zero-flag tests, constant comparisons, redundant jumps) and computes effective reachable blocks to simplify control flow analysis.
run_deobfuscation_pipelineRun all deobfuscation engines concurrently and assemble a unified intelligence report. Executes stack string recovery, emulated loop decryption, API hash resolution, and opaque predicate dead code elimination, producing a comprehensive report with threat tags and detected malware capabilities.
memory_list_symbolsList available Volatility3 symbol tables for a memory dump. Volatility3 requires OS-specific symbol tables (ISF files) to run most plugins. Use this tool to inspect which symbol tables are currently available, then load the appropriate one using ``memory_load_symbols`` before running analysis plugi
memory_analyzeRun a Volatility3 plugin against a memory dump file. Supports Windows, Linux, and macOS memory dumps. Heavy plugin operations (malfind, psscan, netscan) are queued via ARQ for non-blocking execution.
memory_list_processesList Windows processes from a memory dump.
memory_detect_injectionsDetect Windows process injection using the Volatility3 windows.malfind plugin. Uses the ``malfind`` plugin to identify memory regions with executable permissions that contain suspicious patterns (MZ headers, shellcode signatures).
memory_extract_stringsExtract ASCII and Unicode strings from a memory dump.
memory_dump_moduleDump a Windows module or DLL from a memory dump via Volatility3.
disk_list_partitionList partition layout of a disk image using Sleuth Kit mmls.
disk_list_filesList all files and directories in a disk/filesystem image.
disk_recover_deletedRecover a deleted file from a disk/filesystem image by inode number. Use ``disk_list_files`` with ``include_deleted=True`` first to find the inode number of the deleted file, then pass it to this tool.
disk_analyze_mftAnalyze the NTFS Master File Table (MFT) for file timeline and metadata. Provides full filesystem metadata including file creation/modification/access times, which is critical for establishing a forensic timeline.
disk_extract_fileExtract a live (non-deleted) file from a disk image by inode number.
disk_hash_verifyCompute and verify the integrity hash of a disk image or recovered file. Essential for forensic chain of custody — verifies that an image has not been tampered with since acquisition.
pcap_analyzeSummarize sessions, protocols, and packet statistics from a PCAP file. Provides a high-level overview including total packets, unique hosts, protocol distribution, top talkers, and session summary — ideal as a first-pass triage of a PCAP capture.
pcap_list_connectionsList all unique IP/port connections observed in a PCAP capture.
pcap_extract_dnsExtract DNS queries and responses from a PCAP capture. Useful for identifying C2 domain lookups, DGA patterns, DNS tunneling, and suspicious resolution activity.
pcap_extract_c2Detect potential C2 traffic patterns in a PCAP capture. Detects: - Beaconing behavior (periodic connections to same host) - Connections to known suspicious ports - Unusually long/persistent connections - DNS-over-HTTPS (DoH) patterns
pcap_reconstruct_streamReconstruct TCP stream payload from a PCAP capture. Selects one TCP flow using its four endpoint values and reassembles each direction independently by TCP sequence number. Gaps remain explicit, and retransmissions or conflicting overlaps are counted rather than duplicated.
artifact_collectCollect and normalize forensic artifacts from analysis results. Use this tool to register artifacts discovered during memory, disk, or network analysis. Artifacts are normalized and stored for subsequent correlation with ``artifact_correlate_ioc`` and YARA rule generation via ``artifact_generate_ya
artifact_correlate_iocCorrelate collected forensic artifacts against IoC patterns. Runs IoC extraction patterns (IP, URL, hash, CVE, registry) against all artifact values to automatically enrich them with threat intelligence signals. Uses the existing ``extract_iocs`` infrastructure from the malware module.
artifact_generate_yaraAuto-generate YARA rules from collected forensic artifacts. Integrates with the adaptive vaccine pipeline to create detection signatures from suspicious strings, process names, network indicators, and injection patterns found during forensics analysis.
artifact_timelineBuild a chronological event timeline from multi-source forensic artifacts. Aggregates artifacts from memory, disk (MFT timestamps), and network captures into a single unified timeline, sorted by timestamp.
artifact_reportExport a comprehensive forensics investigation report. Combines artifact collection summary, IoC correlation results, timeline, and optionally auto-generated YARA rules into a structured Markdown report.
Radare2_open_fileOpens a binary file with radare2 for analysis. Call this tool before any other r2mcp tool. Use an absolute file_path.
Radare2_close_fileClose the currently open radare2 session for a file.
Radare2_analyzeRun binary analysis with optional depth level.
Radare2_run_commandExecute a raw radare2 command directly. NOTE: Only analysis commands are allowed. Write and shell commands are blocked.
Radare2_calculateEvaluate a math expression using radare2's number parser. Useful for: 64-bit math, resolving addresses for symbols, avoiding hallucinated results.
Radare2_list_functionsList all functions discovered during analysis.
Radare2_list_functions_treeList functions and their successors (call tree).
Radare2_show_function_detailsDisplay detailed information about a function.
Radare2_get_current_addressShow the current seek position and function name.
Radare2_get_function_prototypeRetrieve the function signature at the specified address.
Radare2_set_function_prototypeSet the function signature (return type, name, arguments).
Radare2_show_headersDisplay binary headers and file information.
Radare2_list_sectionsDisplay memory sections and segments from the binary.
Radare2_list_importsList imported symbols. Note: Use list_symbols for addresses with sym.imp. prefix.
Radare2_list_symbolsShow all symbols (functions, variables, imports) with addresses.
Radare2_list_entrypointsDisplay program entrypoints, constructors and main function.
Radare2_list_librariesList all shared libraries linked to the binary.
Radare2_list_stringsList strings from data sections with optional regex filter.
Radare2_list_all_stringsScan the entire binary for strings with optional regex filter. More thorough than list_strings, but slower.
Radare2_list_classesList class names from various languages (C++, ObjC, Swift, Java, Dalvik).
Radare2_list_methodsList all methods belonging to the specified class.
Radare2_disassembleDisassemble a specific number of instructions from an address. Use this to inspect a portion of memory as code without depending on function analysis boundaries.
Radare2_disassemble_functionShow assembly listing of the function at the specified address.
Radare2_decompile_functionShow C-like pseudocode of the function at the given address. Use this to inspect code in a function. Do not run multiple times on the same offset. Includes smart line windowing and function summary header.
Radare2_list_decompilersShow all available decompiler backends.
Radare2_use_decompilerSelect which decompiler backend to use.
Radare2_xrefs_toFind all code references TO the specified address.
Radare2_rename_functionRename the function at the specified address.
Radare2_rename_flagRename a flag (variable or data reference) at the specified address.
Radare2_set_commentAdd a comment at the specified address.
run_radare2Execute vetted radare2 commands for binary triage.
trace_execution_pathTrace function calls backwards from a target function (Sink) to find potential execution paths. This tool helps identify "Exploit Paths" by finding which functions call a dangerous target function (like 'system', 'strcpy', 'execve'). It performs a recursive cross-reference analysis (backtrace) to m
generate_function_graphGenerate a Control Flow Graph (CFG) for a specific function. This tool uses radare2 to analyze the function structure and returns a visualization code (Mermaid by default) or PNG image that helps AI understand the code flow without reading thousands of lines of assembly.
analyze_xrefsAnalyze cross-references (xrefs) for a specific address using radare2. Cross-references show the relationships between code blocks - who calls this function (callers) and what it calls (callees). This is essential for: - Understanding program flow - Tracing data dependencies - Identifying attack su
r2_decompileDecompile a binary function to pseudo-C using the r2ghidra plugin. Uses the ``pdg`` command which invokes the embedded Ghidra decompiler engine inside radare2 — no separate Ghidra or JDK installation required. Includes smart line windowing and function summary header for token efficiency.
r2_recover_structuresRecover C struct layouts from a function's memory access patterns. Analyses local variables (``afvf``), function arguments (``afvj``), and cross-references (``axtj``) to infer struct field offsets and types.
r2_analyze_functionReturn full metadata for a binary function via radare2. Retrieves name, size, cyclomatic complexity, arguments, local variables, call targets, and cross-references using radare2's JSON APIs.
r2_get_call_graphGenerate a caller/callee call graph for a function. Uses radare2's ``agCd`` (call-graph dot) and ``axtj`` (cross-reference JSON) commands to build a structured graph.
r2_simulate_patchSimulate a byte-level patch at an address and re-decompile. Copies the binary to a temporary workspace cache file, opens that copy in write mode, applies ``patch_bytes`` at ``address``, then runs r2ghidra's ``pdg``. The original file remains read-only throughout the simulation.
r2_list_structuresList all saved C struct definitions for a binary.
r2_get_structureRetrieve a single saved struct definition by name.
r2_create_structureSave (or replace) a C struct definition in the annotation DB.
r2_list_typesList all custom type definitions saved for a binary.
r2_list_bookmarksList all saved bookmarks / address annotations for a binary.
r2_add_bookmarkAdd (or update) an annotated bookmark at a binary address.
r2_read_memoryRead raw bytes from a binary at a given virtual address.
emulate_machine_codeEmulate machine code execution using radare2 ESIL (Evaluable Strings Intermediate Language). This tool provides safe, sandboxed emulation of binary code without actual execution. Perfect for analyzing obfuscated code, understanding register states, and predicting execution outcomes without security
get_system_timeGet accurate system timestamp from the server. Returns OS-level time data to prevent AI date hallucination. Includes multiple formats (ISO, Unix, human-readable) and timezone info. Returns: JSON with report_id, date formats, time formats, timezone info
set_timezoneSet the default timezone for timestamps.
get_timezone_infoGet current timezone configuration and available options. Returns: JSON with current timezone, offset, and all available timezones
start_report_sessionStart a new malware analysis session. Automatically tracks start time, sample hashes, IOCs, and MITRE techniques.
end_report_sessionEnd the current analysis session.
get_report_session_statusGet current session information and collected data.
list_report_sessionsList all analysis sessions with their status and duration. Returns: List of all sessions with summary information
add_iocAdd an Indicator of Compromise to the current session.
add_analysis_noteAdd a timestamped note to the analysis session.
add_mitre_techniqueAdd a MITRE ATT&CK technique to the session.
set_severityUpdate the severity level of the analysis.
create_analysis_reportGenerate a comprehensive analysis report.
generate_vex_reportGenerate a CSAF 2.0 VEX JSON report from vulnerability findings. VEX (Vulnerability Exploitability eXchange) is a format for sharing the exploitability status of a software product in a machine-readable way.
generate_sigma_ruleGenerate a Sigma rule (YAML) for SIEM integration based on extracted IOCs or API calls.
get_job_resultRetrieve the status and result of a background job from the task queue.
Automated result for the commit shown. See our scan policy. View the scan log
Maintainers can claim the listing to rescan, or dispute a result.
Reversecore MCP alternatives
View more →Similar mcp servers in Security & Testing, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Reversecore MCP (this page) sjkim1127 | 215 | MIT | Oct 29, 2026 | Scanned, no flagged issues |
| Hexstrike AI 0x4m4 | 13k | MIT | Aug 3, 2026 | Scanned, no flagged issues |
| Viper FunnyWolf | 5.3k | None found | May 31, 2026 | Not scanned yet |
| Open Ontologies fabio-rovai | 2.7k | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| Qu1cksc0pe CYB3RMX | 2.1k | GPL-3.0 | Sep 18, 2026 | Scanned, no flagged issues |
| Cve MCP Server mukul975 | 1.7k | Apache-2.0 | Oct 1, 2026 | Scanned, no flagged issues |