Skip to main content
Glama
threejs-devtools-mcp

threejs-devtools-mcp

by DmitriyGolub

set_postprocessing

Idempotent

Enable or disable post-processing passes and set pass uniforms or effect parameters in a live Three.js scene; with no pass, list available passes.

Instructions

[LIVE PREVIEW] Changes the scene in the browser only — NOT saved to source code, lost on reload. Recorded in pending_changes (→ code edits) and undoable with revert_changes. Enable/disable passes, set pass uniforms or effect parameters. Without a pass, lists passes.

Input Schema

NameRequiredDescriptionDefault
enabledNo
passNameNoPass name or class, e.g. "UnrealBloomPass"
uniformsNo{ "threshold": 0.5, "strength": 1.0 }
passIndexNoFrom postprocessing_list
effectIndexNoEffect inside an EffectPass (postprocessing library)
effectParamsNo{ "intensity": 2.0 }

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.0

TDQS

A3.9/5.0
Behavior5/5

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

Excellent disclosure beyond annotations: browser-only mutation, NOT persisted to source, lost on reload, recorded in pending_changes as pending code edits, and reversible via revert_changes. This tells the agent exactly what side effects and reversibility to expect, complementing the idempotent/non-destructive hints.

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 critical caveat ('changes the browser only — NOT saved, lost on reload') is front-loaded before the functional sentence, which is good information hierarchy. It is tight overall, losing only a small amount of clarity to the ambiguous 'without a pass, lists passes' clause.

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?

For a six-parameter nested-object mutation with annotations and no output schema, the description covers behavior, persistence and undo well. It hints that a passless call lists passes, partially covering return behavior, but does not fully describe the response of a listing call.

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 83%, so the schema already documents passName, passIndex, effectIndex, uniforms and effectParams with examples. The description only restates these categories ('disable passes, set pass uniforms or effect parameters') without adding format or constraint detail, so the 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?

States a specific verb+resource: enable/disable passes and set pass uniforms or effect parameters. The scope is clear and distinguishable from generic setters. However it doesn't name the postprocessing_list sibling, and the phrase 'without a pass, lists passes' blurs the line with that sibling's listing role.

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 is implied by the live-preview framing and the note that changes are undoable via revert_changes, which gives the agent workflow context. But there is no explicit when-to-use/when-not or named alternative (e.g., postprocessing_list for listing, set_uniform for other uniforms).

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