Skip to main content
Glama
retrace-mcp

retrace-mcp

by anthoo582

ghidra_import

Imports an authorized ROM or ELF into Ghidra Headless for analysis, creating a project and requiring explicit write confirmation.

Instructions

Import and analyze an authorized ROM/ELF using Ghidra Headless. Requires explicit write confirmation because Ghidra creates a project.

Input Schema

NameRequiredDescriptionDefault
applyNo
projectYes
romPathYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full burden, and it does disclose one important trait: the call is a write operation because Ghidra materializes a project, and it demands explicit confirmation. It says nothing about whether an existing project at the same path is overwritten, whether the import is idempotent, how long the headless analysis runs, or what the caller receives back.

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?

Two short sentences with the action front-loaded and the confirmation requirement immediately after, so nothing is buried. The word 'authorized' adds a small amount of policy flavor that could be trimmed, but overall there is no filler.

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

Completeness2/5

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

This is a mutating, side-effecting tool with no annotations, no output schema, and zero parameter documentation, so the description should be doing far more work. Critical facts for correct invocation — project collision behavior, what 'apply' toggles, expected runtime, and the result of the call — are all absent.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters, so the description must compensate and largely fails to. 'Explicit write confirmation' gestures at the 'apply' boolean without naming it or stating its default, and neither 'romPath' (format, authorization expectations) nor 'project' (path? name? must it pre-exist?) is explained.

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?

States a specific verb pair ('Import and analyze') and resource ('authorized ROM/ELF') and names the engine ('Ghidra Headless'), which is clear enough to act on. It does not distinguish itself from nearby siblings such as ghidra_analyze or analyze_n64_rom, so an agent cannot tell from the description alone which of these to pick.

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 mention of 'Requires explicit write confirmation because Ghidra creates a project' implies a prerequisite gate before invocation, which is useful context. However, there is no explicit when-to-use vs when-not guidance and no reference to the competing analysis/import siblings, so routing must be inferred.

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