Reversecore MCP
OCI · GHCR.IO/SJKIM1127/REVERSECORE_MCP:3.0.3 · 2 COMPONENTS · SCANNED AUG 22
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 →
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 8 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 15131 tokens (~117/item across 129 items; 125 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 Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 88% of tool parameters carry a description.Partial
- Structured output schemas are declared (97% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: 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.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
oci · ghcr.io/sjkim1127/reversecore_mcp:3.0.3
claude mcp add sjkim1127-reversecore-mcp -- docker run --rm -i ghcr.io/sjkim1127/reversecore_mcp:3.0.3
codex mcp add sjkim1127-reversecore-mcp -- docker run --rm -i ghcr.io/sjkim1127/reversecore_mcp:3.0.3
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sjkim1127-reversecore-mcp": {
"type": "local",
"command": [
"docker",
"run",
"--rm",
"-i",
"ghcr.io/sjkim1127/reversecore_mcp:3.0.3"
],
"enabled": true
}
}
} mcp_servers:
sjkim1127-reversecore-mcp:
command: "docker"
args: ["run", "--rm", "-i", "ghcr.io/sjkim1127/reversecore_mcp:3.0.3"] {
"mcpServers": {
"sjkim1127-reversecore-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/sjkim1127/reversecore_mcp:3.0.3"
]
}
}
} 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.
- 22 Aug 26 +4
- Stability: unverified → 0.30 ▲ functional
- 13 Aug 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 22 Aug 2026 · Analysed oci/ghcr.io/sjkim1127/reversecore_mcp:3.0.3
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 |
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.
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.
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 ~46
Save (or replace) a C struct definition in the annotation DB.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | array | yes | – |
| file_path | string | yes | – |
| name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
r2_decompile ~125
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.
| 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``). |
| 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 ~92
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Address of the function to decompile |
| cursor | – | – | Pagination cursor |
| file_path | string | yes | Path to the binary file |
| page_size | integer | – | Number of lines per page |
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 ~134
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 |
| 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.
Radare2_list_sections ~33
Display memory sections and segments from 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_strings ~82
List strings from data sections with optional regex filter.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | – | – | Pagination cursor (line number to start from) |
| file_path | string | yes | Path to the binary file |
| filter | – | – | Regular expression to filter results |
| page_size | integer | – | Number of lines per page (default: 1000, max: 10000) |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_list_symbols ~47
Show all symbols (functions, variables, imports) with addresses.
| 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_open_file ~66
Opens a binary file with radare2 for analysis. Call this tool before any other r2mcp tool. Use an absolute file_path.
| Name | Type | Req | Description |
|---|---|---|---|
| arch | – | – | – |
| bits | – | – | – |
| file_path | string | yes | Absolute path to the binary file to analyze |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_rename_flag ~71
Rename a flag (variable or data reference) at the specified address.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Address of the flag |
| file_path | string | yes | Path to the binary file |
| name | string | yes | Current flag name |
| new_name | string | yes | New flag name |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_rename_function ~56
Rename the function at the specified address.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Address of the function to rename |
| file_path | string | yes | Path to the binary file |
| name | string | yes | New function name |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_run_command ~62
Execute a raw radare2 command directly. NOTE: Only analysis commands are allowed. Write and shell commands are blocked.
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The radare2 command to execute |
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_set_comment ~52
Add a comment at the specified address.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Address to add comment |
| file_path | string | yes | Path to the binary file |
| message | string | yes | Comment text |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_set_function_prototype ~62
Set the function signature (return type, name, arguments).
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Address of the function |
| file_path | string | yes | Path to the binary file |
| prototype | string | yes | Function signature in C-like syntax |
Structured output declared, but exposes no named fields.
No examples provided.
Radare2_show_function_details ~45
Display detailed information about a function.
| Name | Type | Req | Description |
|---|---|---|---|
| address | – | – | Function address (uses current if not specified) |
| file_path | string | yes | Path to the binary file |
Structured output declared, but exposes no named fields.
No examples provided.