Skip to main content
Glama
daedalus

mcp-reverse-engineering

by daedalus

mcp-reverse-engineering

A sandboxed MCP (Model Context Protocol) tool for reverse engineering that provides a unified interface to various reverse engineering tools with security restrictions.

PyPI Python RuffAsk DeepWiki

Purpose

This project provides a secure, sandboxed environment for executing reverse engineering tools via CLI or MCP protocol. It wraps common reverse engineering utilities (strings, objdump, readelf, binwalk, etc.) with safety features like filesystem isolation, timeouts, and argument validation.

Related MCP server: APK Security Guard MCP Suite

Install

pip install mcp-reverse-engineering

Or for development:

pip install -e ".[dev]"

MCP Server Installation

To use as an MCP server with Claude Desktop:

mcp install src/mcp_reverse_engineering/server.py

Usage

CLI

# Extract strings from a binary
mcp-re --tool strings --file /path/to/binary

# Disassemble a binary
mcp-re --tool objdump --args "['-d']" --file /path/to/binary

# Analyze ELF headers
mcp-re --tool readelf --args "['-h', '-s']" --file /path/to/elf

# Run binwalk for firmware analysis
mcp-re --tool binwalk --file /path/to/firmware.bin

Python API

from mcp_reverse_engineering import ReverseEngineeringEngine

# Create engine with default config
engine = ReverseEngineeringEngine(
    workspace="./workspace",
    timeout=30,
)

# List available tools
print(engine.list_available_tools())

# Execute a tool
result = engine.execute_tool("strings", ["-n", "8"], "/path/to/binary")
print(result)

MCP Server

from mcp_reverse_engineering.server import mcp, strings, objdump, readelf, binwalk

# Run the server (stdio transport for Claude Desktop)
if __name__ == "__main__":
    mcp.run()

API

ReverseEngineeringEngine

Main class for executing reverse engineering tools.

engine = ReverseEngineeringEngine(
    workspace: str = "./workspace",  # Sandbox directory
    timeout: int = 30,               # Tool execution timeout
    config_path: str | Path | None = None,  # YAML config path
)

Methods:

  • execute_tool(tool_name: str, args: List[str], file_path: Optional[str] = None) -> str - Execute a tool

  • list_available_tools() -> List[str] - List enabled tools

  • get_tool_documentation(tool_name: str) -> Dict[str, Any] - Get tool docs

  • get_mcp_tools() -> List[Dict[str, Any]] - Get MCP tool schemas

Available Tools

Tool

Category

Description

file

file_tools

Determine file type

strings

file_tools

Extract printable strings

hexdump

file_tools

Hexadecimal dump

xxd

file_tools

Hexadecimal dump

objdump

binary_tools

Disassemble binary

readelf

binary_tools

Read ELF headers

binwalk

firmware_tools

Firmware analysis

Development

# Clone the repository
git clone https://github.com/daedalus/mcp_reverse_engineering.git
cd mcp_reverse_engineering

# Install dependencies
pip install -e ".[test]"

# Run tests
pytest

# Format code
ruff format src/ tests/

# Lint
ruff check src/ tests/

# Type check
mypy src/

# Install pre-commit hooks
pip install pre-commit
pre-commit install

MCP Server Configuration

mcp-name: io.github.daedalus/mcp-reverse-engineering

Requirements

  • Python 3.11+

  • External tools: binwalk, radare2, ghidra, etc. (must be installed separately)

License

MIT

Available Tools

8 tools
binwalkA

Run binwalk to find embedded files and code in a binary.

Binwalk is a tool for analyzing binary files to find embedded files and executable code. It uses entropy analysis and signature matching to identify compressed data, file systems, archives, and other embedded content.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYesAdditional arguments to pass to binwalk. Common options include: - -e: Extract found files automatically - -M: Enable signature matching - -B: Scan for common file signatures - -Y: Entropy analysis mode - -q: Quiet output (suppress banners)
fileNoOptional path to the file to analyze.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full behavioral context. It mentions what binwalk does but does not disclose side effects, execution behavior (e.g., subprocess invocation), or any destructive potential (though -e flag extracts files). The tool likely runs external commands, but this is not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two paragraphs, front-loaded with the key purpose and followed by details. It is clear and not overly verbose, though the second paragraph could be slightly more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose and parameters adequately, but lacks behavioral context and usage guidance. Given the presence of an output schema (not shown), return value documentation is not critical. However, the missing behavioral disclosure reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and description adds value for 'args' by listing common options with brief explanations. The 'file' parameter's description matches the schema. However, it does not explain each option in detail or clarify that args are command-line arguments passed to binwalk.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: find embedded files and code in a binary using entropy analysis and signature matching. It names specific content types (compressed data, file systems, archives). This distinguishes it from sibling tools like hexdump or strings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for binary analysis but lacks explicit guidance on when to use binwalk versus alternatives like objdump or readelf. No when-not-to-use or exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

file_cmdA

Run the file command to determine file type.

The file command performs a series of tests to identify the type of a file. It can detect file formats like ELF, PE, archives, images, and many others based on magic bytes and file structure.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYesAdditional arguments to pass to file command. Common options include: - -b: Brief output (don't show filename) - -z: Try to detect compressed files - -i: Output MIME type instead of human-readable
fileNoOptional path to the file to analyze.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description needs to disclose behavioral traits. It mentions 'series of tests' and detection of formats, but does not address safety, performance, or what happens when the 'file' parameter is null. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose, but the second paragraph largely restates the first. It is reasonably concise and avoids unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and high schema coverage, the description is fairly complete. It covers the tool's functionality and common file types, though it omits behavior when 'file' is null and does not confirm it is a read-only operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter already described. The tool description adds common options for 'args' (-b, -z, -i) but adds no additional semantics for 'file'. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs the 'file' command to determine file type, listing supported formats (ELF, PE, archives, images) and the mechanism (magic bytes). This specificity distinguishes it from sibling tools like binwalk or strings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives (e.g., binwalk for firmware, strings for text). No explicit conditions or exclusions are provided, leaving the agent to infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hexdumpA

Run hexdump on a file to display its contents in hexadecimal format.

The hexdump utility displays the contents of a file in hex and ASCII, useful for analyzing binary file formats, identifying file headers, and inspecting raw file contents.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYesAdditional arguments to pass to hexdump. Common options include: - -C: Canonical hex+ASCII output - -s OFFSET: Skip offset bytes from start - -n LENGTH: Only dump length bytes
fileNoOptional path to the file to analyze.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the tool displays hex/ASCII content and is useful for analysis, but does not explicitly disclose that it is a safe read-only operation or mention file permissions or other behavioral constraints. The output schema exists but is not shown, so some disclosure is still needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary purpose, and provides additional context in the second sentence. It is efficient with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, 100% schema coverage, output schema exists), the description covers the purpose and typical use cases adequately. However, it could be slightly more complete by comparing with sibling tools like xxd.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described in the input schema. The description does not add additional meaning beyond what the schema provides; it simply restates that hexdump runs on a file. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Run hexdump on a file to display its contents in hexadecimal format' with a specific verb and resource. It also mentions use cases like analyzing binary formats and file headers, but does not explicitly differentiate from sibling tool xxd which serves a similar purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for binary analysis and raw content inspection, but lacks explicit guidance on when to use hexdump vs alternatives (e.g., xxd, strings). No when-not or alternative tools are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_toolsA

List all available reverse engineering tools.

This function returns a list of all tools that are currently enabled in the configuration and available for use through the MCP server.

Returns: List[str]: List of available tool names.

Example: >>> list_tools() ['strings', 'hexdump', 'objdump', 'readelf', 'binwalk']

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but the description discloses that the tool returns a list of enabled tool names, is idempotent, and has no side effects. This adequately covers behavioral expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with purpose, and includes an example. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 0 parameters and a simple output (list of strings), the description fully covers what the tool does, its return type, and provides an example. No output schema needed beyond the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0 parameters with 100% coverage, so the baseline is 4. The description adds no param info, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists all available reverse engineering tools, with a specific verb and resource. It distinguishes from sibling tools (which are the tools themselves) by describing the function as listing them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use (to list available tools) and includes an example. It doesn't explicitly say when not to use or mention alternatives, but the context is clear for a simple listing operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

objdumpB

Run objdump to disassemble and analyze binary files.

The objdump utility displays information about object files, including disassembly, symbol tables, section headers, and relocation information. Essential for reverse engineering and analyzing compiled binaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYesAdditional arguments to pass to objdump. Common options include: - -d: Disassemble executable sections - -t: Display symbol table - -h: Display section headers - -x: Display all available headers - -s: Display full contents of sections
fileNoOptional path to the binary file to analyze.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It explains the tool's function and lists common options, but does not mention potential side effects such as file access, system command execution, or output size. The description is adequate but not detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two short paragraphs. The first sentence provides a clear action, and the second adds context. It is appropriately sized with no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no annotations, output schema present), the description covers the basic purpose but lacks details on prerequisites (e.g., objdump must be installed), error conditions, or behavior when the optional file parameter is missing. It is minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for both parameters. The tool description repeats some common options already in the schema's parameter description, adding no new meaning beyond what the schema provides. Hence, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs objdump for disassembling and analyzing binary files, specifying its use in reverse engineering and analyzing compiled binaries. While it identifies the tool's purpose, it does not explicitly differentiate it from similar tools like readelf or strings, though the mention of disassembly is unique among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides only a general statement that the tool is 'essential for reverse engineering and analyzing compiled binaries' but offers no explicit guidance on when to use it over sibling tools or when not to use it. It lacks any exclusions or alternative recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

readelfA

Run readelf to display ELF binary information.

The readelf utility displays information about ELF (Executable and Linkable Format) files, including headers, sections, symbols, dynamic linking information, and more. Specific to Linux/Unix ELF binaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYesAdditional arguments to pass to readelf. Common options include: - -h: Display ELF file header - -S: Display section headers - -s: Display symbol table - -d: Display dynamic section - -l: Display program headers - -r: Display relocations
fileNoOptional path to the ELF file to analyze.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention that the tool is read-only, requires a valid ELF file, or has any side effects. The description only states it 'displays information,' which is insufficient for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences: first states the purpose, second explains what readelf does, and third adds context. Every sentence serves a clear function with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (2 parameters, no annotations) and the presence of an output schema explaining return values, the description is adequate but incomplete. It does not cover error cases (e.g., non-ELF files, missing files) or clarify that 'args' is required and 'file' is optional. It provides minimal context beyond the purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters ('args' and 'file') clearly described in the schema. The tool description adds no additional semantic information beyond what the schema already provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Run readelf to display ELF binary information,' clearly specifying the verb 'display' and resource 'ELF binary information.' It differentiates the tool from siblings like binwalk, file_cmd, hexdump, objdump, strings, and xxd by emphasizing its focus on ELF binaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'Specific to Linux/Unix ELF binaries,' providing context for when to use the tool. However, it offers no explicit guidance on when not to use it or alternatives like objdump, which also handles ELF files. Usage guidelines are implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stringsA

Run the strings command on a binary file to extract printable strings.

The strings utility searches for printable strings in a binary file and outputs them. This is useful for extracting embedded strings, URLs, function names, and other text from compiled binaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYesAdditional arguments to pass to the strings command. Common options include: - -n MIN: Only print strings of length MIN or greater - -t FORMAT: Select output format (d, o, x)
fileNoOptional path to the file to analyze. If not provided, the file must be specified in args.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the full burden of behavioral disclosure. It explains that the tool runs the strings command and outputs printable strings, implying a read-only operation. However, it does not explicitly state safety or permissions needed, though the use case suggests no destructive intent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise and front-loaded with the core purpose. Every sentence adds value, and there is no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity, 100% schema coverage, and presence of an output schema, the description is sufficient for an agent to understand when and how to use the tool. It covers the main use case without gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage for both parameters (args, file) with descriptions. The tool description does not add additional meaning beyond what the schema states, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Run the strings command') and the resource ('binary file'), and specifies the purpose ('extract printable strings'). It distinguishes from sibling tools like hexdump or objdump by focusing on extracting text strings from binaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (e.g., for extracting embedded strings, URLs, function names). However, it does not explicitly mention when not to use it or suggest alternative tools among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

xxdA

Run xxd on a file to create a hex dump.

The xxd utility creates a hexadecimal representation of a file, similar to hexdump but with additional features like reverse conversion (hex to binary).

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYesAdditional arguments to pass to xxd. Common options include: - -r: Reverse operation (hex to binary) - -p: Plain hex dump format - -s OFFSET: Skip offset bytes - -l LENGTH: Limit output to length bytes
fileNoOptional path to the file to analyze.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description covers basic behavior (create hex dump, reverse), but does not disclose permissions, side effects, or output format details beyond what is standard.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, efficiently front-loading the main purpose and key feature, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple utility with output schema and full param coverage, description is adequate. Could mention output format variations, but overall complete for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description does not add significant meaning beyond the schema's parameter descriptions for 'file' and 'args'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool runs xxd to create a hex dump, with additional reverse conversion feature. It distinguishes from sibling tool hexdump by noting extra functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for hex dumps with reverse capability, but lacks explicit when-to-use vs alternatives like hexdump or binwalk. No exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.8/5.0
Disambiguation5/5

Each tool targets a distinct reverse engineering task: file type identification, hex dump, disassembly, ELF analysis, string extraction, and tool listing. No overlapping descriptions.

Naming Consistency5/5

All tool names follow a consistent snake_case convention, directly derived from the underlying Unix utilities (e.g., binwalk, file_cmd, hexdump, objdump, readelf, strings, xxd) plus a descriptive list_tools.

Tool Count5/5

8 tools is well-scoped for a reverse engineering server covering core analysis tasks without being overwhelming.

Completeness3/5

Covers basic file analysis, hex viewing, disassembly, and ELF-specific info, but notably missing decompilation, debugging, support for non-ELF formats (PE, Mach-O), and a hex editor.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/daedalus/mcp_reverse_engineering'

If you have feedback or need assistance with the MCP directory API, please join our Discord server