Skip to main content
Glama

web_decompile_shaders

Decompile client-side 3D assets and shaders: decode GLB/glTF PBR materials, analyze GLSL/WGSL code, identify rendering engines, and generate interactive visualizers and audit reports.

Instructions

Decompiles client-side 3D graphics and shader pipelines: decodes binary GLB container chunks and glTF 2.0 PBR materials, analyzes GLSL ES 1.00/3.00 and WebGPU WGSL shaders, fingerprints 3D rendering engines (Three.js/Babylon.js), and synthesizes interactive 3D visualizers.

Input Schema

NameRequiredDescriptionDefault
targetYesTarget website URL, GLB/glTF model file, shader file (.vert/.frag/.wgsl), or local folder with 3D client bundles
outputDirNoTarget directory for shader decompile artifacts (default: ./shader_report)
generateHtmlNoGenerate standalone interactive shader_pipeline_visualizer.html (default: true)
generateJsonNoGenerate structured shader_decompile_manifest.json (default: true)
generateMarkdownNoGenerate SHADER_DECOMPILE_REPORT.md audit report (default: true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.13.0

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does not state that the tool writes files to disk (via outputDir), overwrites existing artifacts, or requires specific permissions. The phrase 'synthesizes interactive 3D visualizers' hints at output generation but does not clarify side effects or safety profile.

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 a single, front-loaded sentence that efficiently lists the tool's capabilities without filler. It could be slightly more scannable (e.g., broken into bullet points), but it remains concise and informative.

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 tool with five parameters and no output schema, the description is missing key context about return values, file-writing behavior, and the relationship between the generateHtml/generateJson/generateMarkdown flags and the actual outputs. It covers what is analyzed but not what the agent should expect as a result.

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 five parameters in detail. The description does not add any parameter-specific meaning beyond what the schema provides; it mentions file types that are already covered in the target parameter's description.

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 a specific verb ('decompiles') and a precise resource scope: 3D graphics and shader pipelines, covering GLB chunks, glTF materials, GLSL/WGSL shaders, engine fingerprinting, and visualizer synthesis. This clearly distinguishes it from sibling tools like web_decompile_bundles (JS bundles) and web_decompile_wasm (WebAssembly).

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 3D/shader content by naming the file types and analysis tasks, but it provides no explicit guidance on when to choose this tool over alternatives such as web_decompile_bundles. No exclusions or prerequisites are mentioned.

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