Skip to main content
Glama
threejs-devtools-mcp

threejs-devtools-mcp

by DmitriyGolub

revert_changes

Idempotent

Undo live-preview changes in the browser from pending_changes, either all or selected ids, newest first.

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. Undo live-preview changes in the browser (all, or selected ids from pending_changes), newest first.

Input Schema

NameRequiredDescriptionDefault
idsNoChange ids to revert (default: all)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare non-destructive, idempotent, non-readOnly behavior, and the description adds real context: changes are browser-only, not written to source, lost on reload, and tracked in pending_changes. It could go further on what happens to the pending_changes entries after a revert.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The [LIVE PREVIEW] tag is well front-loaded, but the two sentences overlap: undoability via revert_changes is announced in sentence one and restated as the tool's action in sentence two. Tightening would remove the redundancy without losing information.

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?

With no output schema and annotations covering the safety profile, the description supplies the key behavioral facts an agent needs: scope of the undo, id source, default, and ordering. Error behavior for stale or invalid ids is the only notable omission.

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

Parameters4/5

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

Schema coverage is 100% and documents the ids array with a default, so the schema already carries the load. The description still adds value by naming where the ids originate (pending_changes) and confirming the all-or-selected semantics plus newest-first ordering.

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?

The description names a specific verb+resource: 'Undo live-preview changes in the browser,' which is distinguishable from siblings like pending_changes (lists changes) and scene_export. The lead sentence about live-preview semantics is slightly circuitous, but the operative purpose is unambiguous.

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?

It implies the usage context by tying ids to 'pending_changes' and specifying all-vs-selected, and 'newest first' hints at iteration order. However it never states when NOT to use it or an explicit alternative path (e.g., when to promote changes to code instead of reverting).

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