A sandboxed MCP tool for reverse engineering with multiple tool integrations
This server exposes 8 tools that wrap system binaries (strings, hexdump, xxd, file, objdump, readelf, binwalk, list_tools). All tools have descriptions (10-50 chars, below the 50-200 char LLM-optimized baseline). Input schemas are present but minimal: most tools accept only 'args' (array of strings) and optional 'file' (string). Schemas lack granularity, 'args' is a free-form array with no validation, enum constraints, or format guidance. Parameter descriptions exist but are generic ('Additional arguments to pass to...'). No output schemas documented. No error handling guidance. No tool annotations (readOnlyHint, destructiveHint). The 'list_tools' tool has an empty input schema ({}), which is correct but offers no discovery value. Overall, definitions are skeletal, they satisfy the minimum MCP registration requirement but fall far short of LLM-optimized patterns (pattern:tool, pattern:tool-description, pattern:constrained-input).
Run binwalk to find embedded files and code in a binary.
Run the file command to determine file type.
Run hexdump on a file to display its contents in hexadecimal format.
List all available reverse engineering tools.
Run objdump to disassemble and analyze binary files.
Run readelf to display ELF binary information.
Run the strings command on a binary file to extract printable strings.
No output schemas documented. LLMs cannot predict what fields to expect from tool responses, forcing them to parse unstructured output or make assumptions about downstream tool chaining.
Input parameter 'args' is a free-form array with no validation, enum constraints, or format guidance. LLMs cannot determine valid argument combinations and may pass invalid flags or malformed command sequences.
Descriptions are generic and under 50 characters (e.g., 'Run the strings command on a binary file...'). They lack WHEN-to-use guidance, prerequisites, or differentiation from similar tools. Baseline for LLM-optimized descriptions is 50-200 chars.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Run xxd on a file to create a hex dump.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only, but this is not declared in the schema, forcing LLMs to infer safety from descriptions alone.
No error handling guidance. If a binary file is not found, a tool fails silently or returns a raw error. LLMs receive no recovery hints (e.g., 'Try list_tools() to see available binaries' or 'File not found, check the path').