Skip to main content
Glama

web_decompile_wasm

Decompiles WebAssembly binaries and embedded Base64 WASM from web bundles into WAT, then generates TypeScript memory interfaces, host loaders, secret extraction, and an interactive explorer.

Instructions

Decompiles WebAssembly binaries or carved Base64 WASM modules from web bundles into WebAssembly Text Format (WAT), synthesizes declarative TypeScript memory interfaces (.d.ts) and host loaders, carves data strings/secrets, and creates an interactive visual WebAssembly Explorer.

Input Schema

NameRequiredDescriptionDefault
targetYesTarget .wasm file path, URL, or JavaScript bundle/HTML file containing embedded Base64 WASM modules
outputDirNoOutput directory for decompiled artifacts (default: ./wasm_decompiled)
generateWatNoGenerate full WebAssembly Text Format (.wat) disassembly (default: true)
generateManifestNoGenerate structured wasm_decompile_manifest.json (default: true)
generateMarkdownNoGenerate WASM_DECOMPILE_REPORT.md audit report (default: true)
generateTypeScriptNoGenerate typed TypeScript memory interfaces (.d.ts) and loader bridge (default: true)
generateHtmlExplorerNoGenerate self-contained interactive wasm_explorer.html report (default: true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.13.0

TDQS

A3.5/5.0
Behavior3/5

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

No annotations, so the description carries the burden: it usefully reveals that the tool writes multiple artifact files, carves embedded strings/secrets from data sections, and produces a self-contained interactive HTML report — non-obvious side effects worth knowing. It omits whether outputDir is created or overwritten, whether URL targets require network egress, and whether the operation is purely read-only against the source target.

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?

A single front-loaded sentence led by the action verb, with the artifact list appended in priority order. Dense but every clause names a distinct capability that maps to a required flag or output; nothing is filler.

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?

For a 7-parameter tool with no annotations and no output schema, the description does explain the generated artifacts, which is the main unknown. It leaves gaps on filesystem side effects (overwrite behavior of outputDir), network requirements for URL targets, and what the tool returns to the caller, which an agent needs before invoking it in a loop.

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 per-parameter descriptions and defaults, so the schema already documents target, outputDir, and all five generate* toggles. The description restates that these outputs exist but adds no syntax, format, or default rationale beyond the schema. Baseline 3 applies.

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?

Opens with a specific verb ("Decompiles") and named resources (WebAssembly binaries or carved Base64 WASM modules), then enumerates the concrete artifacts produced (WAT, .d.ts interfaces, host loaders, carved secrets, HTML explorer). An agent immediately knows what it does and what it emits, though it never distinguishes itself from the adjacent web_decompile_bundles or web_decompile_shaders siblings.

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?

Usage context is implied by the accepted inputs (a .wasm file or a JS bundle/HTML containing embedded Base64 WASM), so the agent can infer this is the tool to reach for when the WASM payload is the target rather than the surrounding bundle. There is no explicit when-to-use / when-not guidance and no pointer to the decompile-bundles or decompile-shaders alternatives.

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