Skip to main content
Glama

torch_export_archive

Extract N64 ROM assets into O2R (ZIP) or OTR (StormLib) archives for modding. Specify format, version, and optional files to package.

Instructions

Extract assets from an N64 ROM into an O2R (ZIP resource archive) or OTR (StormLib archive) file using Torch.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoTarget archive format. o2r is ZIP-based (default). otr requires Torch built with StormLib (BUILD_STORMLIB=ON).o2r
singleNoExtract only a single asset YAML file (resolved relative to the matched game asset path)
srcdirNoDirectory containing config.yml (defaults to cwd or ROM parent directory)
destdirNoOutput directory where the archive and debug files will be written
verboseNoEnable verbose logging and diagnostic output
versionNoArchive port-version string (e.g. "1.0.0"). Must be 3 uint16 numbers (0-65535 each).
rom_pathYesPath to the N64 ROM file
timeout_msNoTimeout in milliseconds (default 600000 = 10 minutes)
torch_pathNoOptional custom path to torch binary
additional_filesNoOptional additional files to package into the root of the archive (o2r only)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure dirty. It names the operation 'Extract' and the archive formats, but does not disclose side effects (e.g., writing debug files), external dependencies (the torch binary), or success/failure behavior. This is minimal for a tool that wraps an external process.

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 a single clear, front-loaded sentence with no filler. Every word contributes to identifying the tool's core function and output formats.

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?

Given the tool's complexity (10 parameters, two archive formats, and an external binary), this description is too sparse. It omits the need for a config.yml, the distinction between o2r and otr behavior beyond the schema enum, debug output, and the external Torch dependency. The schema covers parameter names but not the overall execution context.

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 the schema already documents all 10 parameters. The description itself adds no parameter-level meaning beyond the general concept of extracting assets into archives; it does not compensate beyond that baseline.

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?

States a specific verb ('Extract assets') and resource ('an N64 ROM') with explicit target formats (O2R and OTR). This clearly distinguishes it from likely sibling tools such as torch_pack_archive, which would more likely package already-extracted assets.

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 gives no guidance about when to choose this tool over alternatives like torch_pack_archive, torch_export_code, or torch_export_modding. It implies the general use case of extracting from a ROM, but does not state any exclusions, prerequisites, or recommended scenarios.

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