Skip to main content
Glama
DmitriyGolub

threejs-devtools-mcp

by DmitriyGolub

set_shadow

DestructiveIdempotent

Modify shadow settings (cast, receive, bias, map size, camera) for Three.js objects and lights. Runtime preview only; ask user for runtime or permanent code change.

Instructions

Modify shadow settings — runtime-only preview (lost on reload). ASK the user first: runtime preview or persistent code change?

Runtime preview — lost on page reload. You MUST ask the user first: runtime preview only, or also update source code?

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoObject/light name
uuidNoObject/light UUID
castShadowNoEnable/disable shadow casting
receiveShadowNoEnable/disable shadow receiving
biasNoShadow bias (light only, e.g. -0.0001)
normalBiasNoShadow normal bias (light only)
radiusNoShadow blur radius (light only)
blurSamplesNoShadow blur samples (light only)
mapSizeNo[width, height] shadow map resolution
cameraNearNoShadow camera near plane
cameraFarNoShadow camera far plane
cameraLeftNoShadow camera left (DirectionalLight)
cameraRightNoShadow camera right (DirectionalLight)
cameraTopNoShadow camera top (DirectionalLight)
cameraBottomNoShadow camera bottom (DirectionalLight)
Behavior4/5

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

Beyond annotations (destructiveHint, idempotentHint), description adds critical behavior: changes are runtime-only and lost on reload. No contradictions.

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?

Front-loaded with purpose, but repeats 'runtime preview lost on reload' and 'ASK user' twice, making it slightly verbose.

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 mutation tool with many parameters and no output schema, description provides essential behavioral context (runtime-only, user permission needed) and is complete enough.

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 100% with descriptions for all 15 parameters. Description adds no additional parameter meaning beyond what schema already provides.

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?

Clearly states it modifies shadow settings and specifies runtime-only preview. However, it does not differentiate from sibling tools like 'set_light' which also affect shadows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs the agent to ask the user first about runtime preview versus persistent code change, providing clear context on when to use. No mention of alternatives or exclusions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DmitriyGolub/threejs-devtools-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server