Skip to main content
Glama
sbergeron42

gdb-multiarch-mcp

by sbergeron42

switch_xxd

Generate a hex dump of memory at a specified address to analyze Nintendo Switch executable data during debugging sessions.

Instructions

Print a hex dump (xxd-style) of memory at the given address.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addressYesStart address for hex dump
sizeYesNumber of bytes to dump (hex)

Implementation Reference

  • The handler for switch_xxd which executes a command via the session object.
    elif name == "switch_xxd":
        a = XxdArgs(**arguments)
        result = session.execute_command(f"xxd {a.address} {a.size}")
  • The input argument schema for switch_xxd.
    class XxdArgs(BaseModel):
        address: str = Field(..., description="Start address for hex dump")
        size: str = Field(..., description="Number of bytes to dump (hex)")
  • Registration of the switch_xxd tool in the list of available tools.
    Tool(
        name="switch_xxd",
        description="Print a hex dump (xxd-style) of memory at the given address.",
        inputSchema=XxdArgs.model_json_schema(),
    ),
Behavior3/5

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

No annotations provided, so description carries full burden. It indicates read-only behavior via 'Print' and specifies output format 'xxd-style', but omits safety details (what happens on invalid addresses), size limits, or whether this pauses target execution. Minimum viable disclosure for a debugging inspection tool.

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?

Single sentence, front-loaded with action verb 'Print', zero redundancy. Every word earns its place: 'xxd-style' specifies format, 'memory' distinguishes from registers/variables, 'given address' links to required parameter.

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?

Adequate for a simple 2-parameter inspection tool with no output schema. Describes what the tool does and its format. Could be improved by noting address format (hex string expected) or confirming read-only nature, but sufficient for agent selection among debugging siblings.

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 'address' and 'size' well-documented in the schema. Description mentions 'at the given address' which links to the parameter, but adds no semantic details beyond schema (e.g., address format expectations, hex vs decimal). Baseline 3 appropriate for high schema coverage.

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 uses specific verb 'Print' with clear resource 'hex dump (xxd-style) of memory', distinguishing it from siblings like gdb_get_registers (registers) or switch_print_trace (execution trace). The 'xxd-style' qualifier and 'memory' scope make the purpose unambiguous.

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?

No explicit when-to-use or alternative recommendations provided. However, the specificity of 'hex dump' and 'xxd-style' implies usage context (raw memory inspection vs. structured variables). Lacks guidance on when to prefer this over gdb_evaluate_expression for memory viewing.

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

Install Server

Other Tools

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/sbergeron42/gdb-multiarch-mcp'

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