Reversecore MCP
OCI · GHCR.IO/SJKIM1127/REVERSECORE_MCP:3.0.4 · 2 COMPONENTS · SCANNED SEP 21
Security-first MCP server for reverse engineering, malware analysis, forensics, and SAST.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- Malware scan not yet available for this package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 1 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 17187 tokens (~121/item across 141 items; 137 tools + 4 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage97
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 89% of tool parameters carry a description.Partial
- Structured output schemas are declared (99% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "cve_fuzz_target" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 138 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 2 categories
Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the Reversecore MCP server?
Reversecore MCP runs locally as a container image, launched with docker run --rm -i ghcr.io/sjkim1127/reversecore_mcp:3.0.4. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
oci · ghcr.io/sjkim1127/reversecore_mcp:3.0.4
claude mcp add sjkim1127-reversecore-mcp -- docker run --rm -i ghcr.io/sjkim1127/reversecore_mcp:3.0.4
{
"mcpServers": {
"sjkim1127-reversecore-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
]
}
}
} {
"servers": {
"sjkim1127-reversecore-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
]
}
}
} codex mcp add sjkim1127-reversecore-mcp -- docker run --rm -i ghcr.io/sjkim1127/reversecore_mcp:3.0.4
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sjkim1127-reversecore-mcp": {
"type": "local",
"command": [
"docker",
"run",
"--rm",
"-i",
"ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
],
"enabled": true
}
}
} mcp_servers:
sjkim1127-reversecore-mcp:
command: "docker"
args: ["run", "--rm", "-i", "ghcr.io/sjkim1127/reversecore_mcp:3.0.4"] {
"McpServers": {
"sjkim1127-reversecore-mcp": {
"Transport": "stdio",
"Command": "docker",
"Arguments": [
"run",
"--rm",
"-i",
"ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
]
}
}
} {
"mcpServers": {
"sjkim1127-reversecore-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/sjkim1127/reversecore_mcp:3.0.4"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Sept 26 41
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed oci/ghcr.io/sjkim1127/reversecore_mcp:3.0.4
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | oci |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_relevant_context ~72
Get 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.
| Name | Type | Req | Description |
|---|---|---|---|
| current_session_id | – | – | Current session to exclude |
| description | string | yes | Description of what you're currently analyzing |
| limit | integer | – | Maximum relevant items |
Structured output declared, but exposes no named fields.
No examples provided.
get_server_health ~91
Get 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: 'healthy' or 'degraded' - tool_stats: Summary of tool execution success/failure
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
get_tool_metrics ~31
Get detailed execution metrics for specific or all tools.
| Name | Type | Req | Description |
|---|---|---|---|
| tool_name | – | – | Optional tool name to filter results |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
hunt_cve_vulnerabilities ~169
One-click automated CVE hunting pipeline for C/C++ libraries, parsers, and codecs. Performs end-to-end vulnerability discovery: 1. Harness & Dictionary auto-synthesis 2. Hybrid Fuzzing + angr concolic branch solving 3. ASan crash triage, CWE mapping, and CVSS v3.1 scoring 4. Testcase minimization & standalone PoC generation 5. Vendor-ready Security Advisory Markdown report draft
| Name | Type | Req | Description |
|---|---|---|---|
| options | – | – | Optional configuration dictionary (e.g. fuzz_duration, target_function). |
| sample_file_path | – | – | Optional path to a valid sample file. |
| target_path | string | yes | Path to target header (.h), source (.c/.cpp), or compiled binary. |
| timeout | – | – | Maximum execution timeout in seconds. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
list_memory_sessions ~67
List all analysis sessions with timestamps and status. Use this to see what analyses have been done before, or to find a session to resume.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of sessions to return |
| status | – | – | Filter by status ('in_progress', 'completed', 'paused') |
Structured output declared, but exposes no named fields.
No examples provided.
list_workspace ~28
List all files in the workspace directory. Returns: ToolResult with list of files in workspace
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
match_libraries ~279
Match and filter known library functions to focus on user code. This tool uses radare2's zignatures (FLIRT-compatible signature matching) to: - **Reduce Analysis Noise**: Skip analysis of known library functions (strcpy, malloc, etc.) - **Focus on User Code**: Identify which functions are original vs library code - **Save Time & Tokens**: Reduce analysis scope by 80% by filtering out standard libraries - **Improve Accuracy**: Focus AI analysis on the actual malicious/interesting code Common use cases: - Analyzing large binaries (>25MB) where most code is OpenSSL, zlib, MFC, etc. - Game client reverse engineering (filter out Unreal Engine / Unity standard library) - Malware analysis (focus on custom malware code, skip Windows API wrappers) The tool automatically uses built-in signature databases for common libraries and can optionally use custom signature databases for specialized analysis.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file to analyze |
| max_output_size | integer | – | Maximum output size in bytes (default: 10MB) |
| signature_db | – | – | Optional path to custom signature database file (.sig format). If None, uses radare2's built-in signature databases. |
| timeout | integer | – | Timeout in seconds (default: 600s) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
memory_analyze ~182
Run 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.
| Name | Type | Req | Description |
|---|---|---|---|
| _bypass_queue | boolean | – | Internal — set True to skip ARQ queueing. |
| dump_path | string | yes | Path to the memory dump file (.raw, .vmem, .mem, .dmp). |
| extra_args | – | – | Additional plugin arguments as a space-separated string (e.g., "--pid 1234"). |
| plugin | string | – | Volatility3 plugin name. Run ``memory_analyze`` with plugin='help' to see all supported plugins. |
| symbol_path | – | – | Optional path to an ISF symbol table file. Required for some plugins on unknown OS versions. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
memory_detect_injections ~86
Detect process injection and suspicious memory regions using Volatility3 malfind. Uses the ``malfind`` plugin to identify memory regions with executable permissions that contain suspicious patterns (MZ headers, shellcode signatures).
| Name | Type | Req | Description |
|---|---|---|---|
| _bypass_queue | boolean | – | Internal — set True to skip ARQ queueing. |
| dump_path | string | yes | Path to the memory dump file. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
memory_dump_module ~104
Dump a loaded module or DLL from a memory dump via Volatility3.
| Name | Type | Req | Description |
|---|---|---|---|
| dump_path | string | yes | Path to the memory dump file. |
| module_name | – | – | Name of the module/DLL to dump. If None, dumps all modules for the specified process. |
| output_dir | – | – | Directory to save the dumped module. Defaults to the workspace directory. |
| process_name | string | yes | Name of the target process (e.g., 'explorer.exe'). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
memory_extract_strings ~69
Extract ASCII and Unicode strings from a memory dump.
| Name | Type | Req | Description |
|---|---|---|---|
| dump_path | string | yes | Path to the memory dump file. |
| limit | integer | – | Maximum number of strings to return (default: 500). |
| min_length | integer | – | Minimum string length to include (default: 6). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
memory_list_processes ~65
List all running processes from a memory dump.
| Name | Type | Req | Description |
|---|---|---|---|
| dump_path | string | yes | Path to the memory dump file. |
| include_hidden | boolean | – | If True, also run psscan to detect hidden/unlinked processes. Hidden processes may indicate rootkits or process injection. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
memory_list_symbols ~95
List 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 plugins.
| Name | Type | Req | Description |
|---|---|---|---|
| dump_path | string | yes | Path to the memory dump file (e.g., .raw, .vmem, .mem). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
packer_fingerprint ~124
Deep fingerprinting of binary packers, cryptors, protectors, and compilers. Computes whole-file & block-level Shannon entropy, checks for known packer signatures (UPX, Themida, VMProtect, ASPack, PyInstaller, ConfuserEx, etc.), identifies section anomalies (e.g., W+X violations, 0-raw size sections, entrypoint in last section), and inspects appended overlays.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file to analyze. |
| timeout | integer | – | Execution timeout in seconds. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
parse_binary_with_lief ~89
Parse binary metadata using LIEF and return structured results. Memory-safe implementation with progressive limits: - Under 100MB: Full parsing with all details - 100-500MB: Warning + reduced extraction limits - Over 500MB: Minimal parsing (headers only) - Over config limit: Rejected
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | – |
| format | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
patch_diff_1day ~99
Analyze patch differences for 1-day vulnerability analysis. This tool focuses on identifying security fixes between two versions of a binary. It highlights changed functions, basic blocks, and potential vulnerability indicators that were patched (e.g. added bounds checks).
| Name | Type | Req | Description |
|---|---|---|---|
| file_path_a | string | yes | Path to pre-patch binary. |
| file_path_b | string | yes | Path to post-patch binary. |
| timeout | integer | – | Timeout in seconds. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
pcap_analyze ~116
Summarize 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.
| Name | Type | Req | Description |
|---|---|---|---|
| max_packets | integer | – | Maximum number of packets to process (default: 10,000). For large captures, use a smaller value or filter first. |
| pcap_path | string | yes | Path to a PCAP or PCAPNG capture file. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
pcap_extract_c2 ~123
Detect 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
| Name | Type | Req | Description |
|---|---|---|---|
| beacon_threshold_sec | integer | – | Maximum jitter window (seconds) to consider as beaconing. |
| max_packets | integer | – | Maximum packets to process (default: 100,000). |
| pcap_path | string | yes | Path to a PCAP or PCAPNG capture file. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
pcap_extract_dns ~108
Extract DNS queries and responses from a PCAP capture. Useful for identifying C2 domain lookups, DGA patterns, DNS tunneling, and suspicious resolution activity.
| Name | Type | Req | Description |
|---|---|---|---|
| include_responses | boolean | – | If True, also extract DNS response records (A, AAAA, MX, TXT). |
| max_packets | integer | – | Maximum packets to process (default: 50,000). |
| pcap_path | string | yes | Path to a PCAP or PCAPNG capture file. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
pcap_list_connections ~81
List all unique IP/port connections observed in a PCAP capture.
| Name | Type | Req | Description |
|---|---|---|---|
| max_packets | integer | – | Maximum packets to process (default: 50,000). |
| pcap_path | string | yes | Path to a PCAP or PCAPNG capture file. |
| protocol | – | – | Filter by protocol ('tcp', 'udp', or None for all). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
pcap_reconstruct_stream ~152
Reconstruct TCP stream payload from a PCAP capture. Reassembles the raw payload of a specific TCP conversation, useful for extracting transferred files, command output, or HTTP request/response bodies.
| Name | Type | Req | Description |
|---|---|---|---|
| dst_ip | string | yes | Destination IP address of the stream. |
| dst_port | integer | yes | Destination TCP port of the stream. |
| max_bytes | integer | – | Maximum payload bytes to reconstruct (default: 1 MB). |
| max_packets | integer | – | Maximum packets to process (default: 10,000). |
| pcap_path | string | yes | Path to a PCAP or PCAPNG capture file. |
| src_ip | string | yes | Source IP address of the stream. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_add_bookmark ~53
Add (or update) an annotated bookmark at a binary address.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | – |
| category | string | – | – |
| comment | string | yes | – |
| file_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_analyze_function ~96
Return 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.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary (must be inside the workspace). |
| function_address | string | yes | Function name or hex address. |
| timeout | integer | – | Maximum execution time in seconds. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_create_structure ~44
Save (or replace) a C struct definition in the annotation DB.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | – | yes | – |
| file_path | string | yes | – |
| name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_decompile ~177
Decompile 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.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary (must be inside the workspace). |
| function_address | string | yes | Function to decompile — name (``main``) or hex address (``0x401000``). |
| line_offset | integer | – | Starting line offset for windowed output (default: 0). |
| max_lines | integer | – | Maximum number of lines to return (default: 200). |
| timeout | integer | – | Maximum execution time in seconds (default 300). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_get_call_graph ~115
Generate 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.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | Maximum call depth to traverse (default 2). |
| file_path | string | yes | Path to the binary (must be inside the workspace). |
| function_address | string | yes | Root function name or hex address. |
| timeout | integer | – | Maximum execution time in seconds. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_get_structure ~34
Retrieve a single saved struct definition by name.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | – |
| name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_list_bookmarks ~49
List all saved bookmarks / address annotations for a binary.
| Name | Type | Req | Description |
|---|---|---|---|
| category | – | – | – |
| file_path | string | yes | – |
| limit | integer | – | – |
| offset | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_list_structures ~43
List all saved C struct definitions for a binary.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | – |
| limit | integer | – | – |
| offset | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_list_types ~42
List all custom type definitions saved for a binary.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | – |
| limit | integer | – | – |
| offset | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_read_memory ~44
Read raw bytes from a binary at a given virtual address.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | – |
| file_path | string | yes | – |
| size | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_recover_structures ~109
Recover 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.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary (must be inside the workspace). |
| function_address | string | yes | Function whose local variables / struct usage to analyse. |
| timeout | integer | – | Maximum execution time in seconds. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_simulate_patch ~171
Simulate a byte-level patch at an address and re-decompile. Opens the binary in write mode, applies ``patch_bytes`` (hex string) at ``address``, then runs r2ghidra's ``pdg`` to show the patched pseudo-C. **The original file is not modified** — radare2's ``-w`` flag patches a memory copy only.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Target address (e.g. ``0x401020``). |
| file_path | string | yes | Path to the binary (must be inside the workspace). |
| patch_bytes | string | yes | Hex string of bytes to write (e.g. ``"9090"`` for 2 NOPs). |
| timeout | integer | – | Maximum execution time in seconds. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
Radare2_analyze ~176
Run binary analysis with optional depth level.
| Name | Type | Req | Description |
|---|---|---|---|
| arch | – | – | Optional architecture (e.g., 'mips', 'arm64', 'riscv', 'x86_64') |
| bits | – | – | Optional architecture bits (e.g., 32, 64) |
| file_path | string | yes | Path to the binary file |
| level | integer | – | Analysis depth as an INTEGER from 0 to 4 (default: 2). IMPORTANT: Must be an integer. Do NOT pass strings like "full", "deep", or "auto" — those will be rejected. 0 = aa (basic, fastest) 1 = aaa (au… |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_calculate ~80
Evaluate a math expression using radare2's number parser. Useful for: 64-bit math, resolving addresses for symbols, avoiding hallucinated results.
| Name | Type | Req | Description |
|---|---|---|---|
| expression | string | yes | Math expression to evaluate (e.g., "0x100 + sym.flag - 4") |
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_close_file ~37
Close the currently open radare2 session for a file.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the file to close |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_decompile_function ~158
Show 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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Address of the function to decompile |
| cursor | – | – | Legacy pagination cursor (overridden by line_offset if provided) |
| file_path | string | yes | Path to the binary file |
| line_offset | integer | – | Starting line offset for windowed pseudocode (default: 0) |
| max_lines | integer | – | Maximum lines of pseudocode per window (default: 200) |
| page_size | integer | – | Legacy page size (overridden by max_lines if provided) |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_disassemble ~91
Disassemble a specific number of instructions from an address. Use this to inspect a portion of memory as code without depending on function analysis boundaries.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Address to start disassembly |
| file_path | string | yes | Path to the binary file |
| num_instructions | integer | – | Number of instructions to disassemble (default: 10, max: 1000) |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_disassemble_function ~174
Show assembly listing of the function at the specified address.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Address OR symbol name of the function to disassemble. Accepts hex addresses (e.g. '0x401000', '0x8d4') as well as function/symbol names (e.g. 'main', 'sym.secret_backdoor', 'sym.process_request'). S… |
| cursor | – | – | Pagination cursor |
| file_path | string | yes | Path to the binary file |
| format | string | – | Output format - 'compact' (compact instruction tuples [addr, mnemonic, ops, comment]) or 'raw' (raw visual text output). Default: 'compact'. |
| page_size | integer | – | Number of lines per page |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_get_current_address ~34
Show the current seek position and function name.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_get_function_prototype ~46
Retrieve the function signature at the specified address.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Address of the function |
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_all_strings ~75
Scan the entire binary for strings with optional regex filter. More thorough than list_strings, but slower.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | – | – | Pagination cursor |
| file_path | string | yes | Path to the binary file |
| filter | – | – | Regular expression to filter results |
| page_size | integer | – | Number of lines per page |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_classes ~53
List class names from various languages (C++, ObjC, Swift, Java, Dalvik).
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file |
| filter | – | – | Regular expression to filter results |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_decompilers ~34
Show all available decompiler backends.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_entrypoints ~35
Display program entrypoints, constructors and main function.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_functions ~58
List all functions discovered during analysis.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file |
| filter | – | – | Regular expression to filter results |
| only_named | boolean | – | If true, exclude functions with numeric suffixes |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_functions_tree ~34
List functions and their successors (call tree).
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_imports ~52
List imported symbols. Note: Use list_symbols for addresses with sym.imp. prefix.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file |
| filter | – | – | Regular expression to filter results |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_libraries ~34
List all shared libraries linked to the binary.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_methods ~48
List all methods belonging to the specified class.
| Name | Type | Req | Description |
|---|---|---|---|
| classname | string | yes | Name of the class to list methods for |
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.
What is the Reversecore MCP server?
Reversecore MCP is listed in the public MCP registry as io.github.sjkim1127/reversecore-mcp. Security-first MCP server for reverse engineering, malware analysis, forensics, and SAST. This page covers its container image (ghcr.io/sjkim1127/reversecore_mcp:3.0.4).
Is the Reversecore MCP server safe to use?
Reversecore MCP scores 41 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Reversecore MCP server expose?
Reversecore MCP exposes 137 tools: generate_advanced_yara_rule, diff_binaries, analyze_variant_changes, match_libraries, patch_diff_1day, and 132 more. Their descriptions and schemas cost roughly 17,131 tokens of context every time the server is loaded.
Is the Reversecore MCP server still maintained?
Reversecore MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Reversecore MCP server under?
Reversecore MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.