Skip to main content
Glama
threejs-devtools-mcp

threejs-devtools-mcp

by DmitriyGolub

set_camera

Idempotent

Adjust the active camera's position, rotation, FOV, zoom, and orthographic bounds for live Three.js scene previews without editing source code.

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. Change the active camera: position, rotation, FOV, near/far, zoom, ortho bounds.

Input Schema

NameRequiredDescriptionDefault
farNo
fovNoPerspectiveCamera
topNoOrthographicCamera
leftNoOrthographicCamera
nearNo
zoomNo
rightNoOrthographicCamera
aspectNoPerspectiveCamera
bottomNoOrthographicCamera
positionNo[x, y, z]
rotationNo[x, y, z] in radians

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv0.5.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / aspect / description
      Previous value: -"Aspect ratio (PerspectiveCamera)"New value: +"PerspectiveCamera"
    • changedInput schema / properties / bottom / description
      Previous value: -"Bottom plane (OrthographicCamera)"New value: +"OrthographicCamera"
    • removedInput schema / properties / far / description
      Removed value: -"Far clipping plane"
    • changedInput schema / properties / fov / description
      Previous value: -"Field of view (PerspectiveCamera)"New value: +"PerspectiveCamera"
    • changedInput schema / properties / left / description
      Previous value: -"Left plane (OrthographicCamera)"New value: +"OrthographicCamera"
    • removedInput schema / properties / near / description
      Removed value: -"Near clipping plane"
    • changedInput schema / properties / right / description
      Previous value: -"Right plane (OrthographicCamera)"New value: +"OrthographicCamera"
    • changedInput schema / properties / top / description
      Previous value: -"Top plane (OrthographicCamera)"New value: +"OrthographicCamera"
    • removedInput schema / properties / zoom / description
      Removed value: -"Zoom factor"
  2. First observedv0.4.1

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only supply the generic safety profile (not read-only, not destructive, idempotent). The description adds material behavioral context the annotations lack: changes are browser-only, not persisted to source, lost on reload, tracked in pending_changes for later code edits, and reversible via revert_changes.

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?

Two sentences, zero waste, and the highest-stakes fact — [LIVE PREVIEW]/lost on reload — is front-loaded before the field enumeration. Every clause carries distinct 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?

For an 11-parameter, no-required, no-output-schema mutation tool, the description covers the critical operational semantics (ephemeral preview, pending_changes linkage, undo). It is nearly complete, though it could note defaults or the effect of omitting parameters since none are required.

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 73%, so most parameters are already documented in the schema (which even tags fov/aspect as PerspectiveCamera and left/right/top/bottom as OrthographicCamera). The description adds only a vague 'ortho bounds' grouping and no syntax or unit details beyond the schema, so it lands at the 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 (Change) and resource (the active camera) and enumerates the affected properties: position, rotation, FOV, near/far, zoom, ortho bounds. This cleanly separates it from read-oriented siblings like camera_details and from the generic set_object_transform.

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 contextualizes usage by flagging that changes are live-preview only, uncommitted to source, and undoable via revert_changes / visible in pending_changes. However it does not explicitly state when to choose this over alternatives, nor any preconditions, so guidance is implied rather than spelled out.

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