io.github.DmitriyGolub/threejs-devtools · version 0.5.0 · 4,560 weekly npm downloads · audited 2026-11-03
Notes
No hidden-instruction or invisible-character findings in any tool, prompt, or resource description.
Checks the directory's published tool requirements that are visible from tools/list. Passing them does not guarantee acceptance.
remove_helperNot a vulnerability by itself. It tells you what an injected prompt could ask this server to do, so you can decide which tools need approval.
| Name | Title | Hint | Description |
|---|---|---|---|
scene_tree | read-only | [INSPECT] Read-only. Scene hierarchy. Compact text tree by default (~2KB); compact=false for full JSON with positions/geometry. | |
object_details | read-only | [INSPECT] Read-only. Detailed info about one object by name, uuid, or dot path. | |
find_objects | read-only | [INSPECT] Read-only. Search objects by type, material, visibility, name pattern, or custom property. | |
raycast | read-only | [INSPECT] Read-only. Cast a ray from the camera through screen coordinates and return hit objects. | |
click_inspect | read-only | [INSPECT] Read-only. Click-to-inspect: the cursor becomes a crosshair — tell the user to click an object in the 3D view. Returns that object. | |
scene_diff | read-only | [INSPECT] Read-only. Compare scene state over time: first call saves a snapshot, next call lists added/removed/modified objects. | |
layer_details | read-only | [INSPECT] Read-only. Camera layer mask and objects with non-default layers. | |
set_object_transform | writes | [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. Set position, rotation, scale, or visibility o… | |
set_layers | writes | [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. Set layers on an object or the camera. | |
material_list | read-only | [INSPECT] Read-only. All materials in the scene with type, color, transparency. | |
material_details | read-only | [INSPECT] Read-only. Full material properties: colors, PBR/physical params, maps, uniforms, defines, NodeMaterial (TSL) slots. | |
shader_list | read-only | [INSPECT] Read-only. Compiled shader programs with their materials (WebGL). | |
shader_source | read-only | [INSPECT] Read-only. Vertex/fragment GLSL source and uniforms of a material. NodeMaterial (TSL) has no GLSL — use material_details. | |
texture_list | read-only | [INSPECT] Read-only. All textures: size, format, wrap, filter settings. | |
texture_details | read-only | [INSPECT] Read-only. Detailed info about one texture. | |
texture_preview | read-only | [INSPECT] Read-only. Show a texture as a PNG image. Use texture_list to find names/UUIDs. | |
set_material_property | writes | [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. Set a material property. Accepts the material … | |
set_uniform | writes | [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. Set a ShaderMaterial uniform. | |
set_texture | writes | [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 texture sampling and transform: wrap, f… | |
shadow_details | read-only | [INSPECT] Read-only. Shadow maps: global settings, per-light bias/mapSize/camera frustum, casters and receivers. | |
scene_background | read-only | [INSPECT] Read-only. Scene background, environment map (IBL), backgroundBlurriness/Intensity, color management. | |
env_map_details | read-only | [INSPECT] Read-only. Environment maps: scene.environment, scene.background, per-material envMap. | |
fog_details | read-only | [INSPECT] Read-only. Scene fog: type (Fog/FogExp2), color, near/far or density. | |
set_light | writes | [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 a light: color, intensity, position, ca… | |
set_shadow | writes | [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 shadow casting/receiving on any object,… | |
set_fog | writes | [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 scene fog (color, near/far or density) … | |
camera_details | read-only | [INSPECT] Read-only. Active camera: type, position, FOV, near/far, aspect. | |
renderer_info | read-only | [INSPECT] Read-only. Renderer stats and backend (WebGL / WebGPU): draw calls, triangles, memory, capabilities. | |
renderer_settings | read-only | [INSPECT] Read-only. Renderer configuration: toneMapping, exposure, colorSpace, shadowMap, pixelRatio. | |
clipping_details | read-only | [INSPECT] Read-only. Clipping planes: renderer global, per-material, ClippingGroup objects. | |
postprocessing_list | read-only | [INSPECT] Read-only. EffectComposer passes: render passes, shader passes, effects (bloom, SSAO, …). | |
set_camera | writes | [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, … | |
set_renderer | writes | [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 renderer settings: tone mapping, exposu… | |
set_clipping | writes | [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 clipping planes on the renderer (global… | |
set_postprocessing | writes | [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 ef… | |
geometry_details | read-only | [INSPECT] Read-only. Geometry of a mesh: vertices, attributes, index, bounding box, morph attributes. | |
instanced_mesh_details | read-only | [INSPECT] Read-only. InstancedMesh: count, capacity, sample transforms, instance colors and custom attributes. | |
batched_mesh_details | read-only | [INSPECT] Read-only. BatchedMesh: geometry counts, draw ranges, instance visibility. Lists all if no name/uuid. | |
morph_targets | read-only | [INSPECT] Read-only. Meshes with morph targets: target names and current influences. | |
skeleton_details | read-only | [INSPECT] Read-only. Skeletons and bones of SkinnedMesh objects. | |
animation_details | read-only | [INSPECT] Read-only. AnimationMixers with their actions, clips, weights and playback state. | |
set_instanced_mesh | writes | [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 InstancedMesh count, visibility, frustu… | |
set_morph_target | writes | [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. Set a morph target influence. | |
set_animation | writes | [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. Control playback: mixer timeScale/time, action… | |
web_audit | read-only | [INSPECT] Read-only. Website health check: pixel ratio, canvas resize, idle/off-screen rendering, antialias cost, oversized or uncompressed textures, shadow cost, color space, draw calls. Each finding has a concrete fix. | |
performance_snapshot | read-only | [INSPECT] Read-only. Draw calls, triangles, instanced meshes, object counts by type. | |
perf_monitor | read-only | [INSPECT] Read-only. Record FPS and frame times for N seconds: avg/min/max, percentiles, spikes, jank. | |
draw_call_breakdown | read-only | [INSPECT] Read-only. Per-object draw call and triangle cost, sorted by cost. Flags multi-material objects and hidden geometry. | |
memory_stats | read-only | [INSPECT] Read-only. GPU memory: geometry buffers, texture VRAM, instance data, top textures by size. | |
dispose_check | read-only | [INSPECT] Read-only. Leak detection: geometries/textures tracked by the renderer but no longer in the scene. | |
console_capture | read-only | [INSPECT] Read-only. Recent browser console output (log/warn/error). | |
toggle_overlay | writes | [DEBUG VISUAL] Temporary visual aid in the browser. Nothing to put in code. In-browser inspector panel: live FPS, draw calls, scene tree, materials, lights. Clicking a tree item highlights it. | |
overlay_selected | read-only | [INSPECT] Read-only. Everything about the object the user selected in the overlay: materials, geometry, transforms, textures, uniforms, shadows. | |
highlight_object | writes | [DEBUG VISUAL] Temporary visual aid in the browser. Nothing to put in code. Highlight an object with wireframe, or toggle its visibility, to point it out. | |
toggle_wireframe | writes | [DEBUG VISUAL] Temporary visual aid in the browser. Nothing to put in code. Wireframe on all materials or one object. | |
bounding_boxes | writes | [DEBUG VISUAL] Temporary visual aid in the browser. Nothing to put in code. Show/hide bounding boxes — debug frustum culling and object bounds. | |
add_helper | writes | [DEBUG VISUAL] Temporary visual aid in the browser. Nothing to put in code. Add a debug helper to an object: box, axes, skeleton, arrow, grid, camera frustum, light helpers, plane. | |
remove_helper | writes | [DEBUG VISUAL] Temporary visual aid in the browser. Nothing to put in code. Remove a helper added with add_helper. | |
run_js | destructive | [DEBUG VISUAL] Temporary visual aid in the browser. Nothing to put in code. Run JavaScript in the page with scene, renderer, camera, gl in scope; `return` a value to get it back. Changes made here are NOT recorded in pen… | |
take_screenshot | read-only | [INSPECT] Read-only. Screenshot of the current scene (also saved as PNG in screenshots/). | |
annotated_screenshot | read-only | [INSPECT] Read-only. Screenshot with object names drawn at their screen positions ([M]esh, [L]ight, [G]roup, [C]amera). Best for understanding layout. | |
capture_frames | read-only | [INSPECT] Read-only. Record a frame sequence for a video. Time is virtualised, so frames are exactly 1/fps apart and smooth even if rendering is slow. Saves numbered images to screenshots/sequence-<time>/ and returns an … | |
scene_export | read-only | [INSPECT] Read-only. Export the scene or one object as GLB/glTF into screenshots/. Needs GLTFExporter in the app (the error explains setup). | |
pending_changes | read-only | [FOR CODE] Output is meant to be written into the project source files. Everything changed with live-preview tools since the last clear: before → after per property, plus ready-to-paste code (vanilla Three.js and/or Reac… | |
revert_changes | writes | [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,… | |
gltf_to_r3f | read-only | [FOR CODE] Output is meant to be written into the project source files. Convert a GLB/glTF file into a React Three Fiber component (like gltfjsx). | |
bridge_status | writes | [CONNECTION] Configures the devtools server. Bridge connection, proxy target, and how to attach Playwright to the same browser. | |
set_dev_port | writes | [CONNECTION] Configures the devtools server. Point the proxy at another local dev server port. | |
set_dev_url | writes | [CONNECTION] Configures the devtools server. Inspect a remote Three.js app by URL. Source code changes are not possible in remote mode. |
npx mcpvetter scan --liveAdd this to a README:
[](https://mcpvetter.com/servers/threejs-devtools-mcp)Get the MCPVetter verified badge, a re-audit within 24 hours of every npm release, and an email whenever tools, findings, or Claude directory readiness change. $29 per server per month. You prove ownership first, free.