
Threesmith
three.js for coding agents: version-pinned API and review, assets, headless runs, perf, 3D models.
- tools
- 31
- transport
- STDIO
- env var
- 1
- last updated
- Nov 12, 2026
Tools
31 toolsPublic tool metadata for what this MCP can expose to an agent.
three_doctorStart here when something is broken: versions and imports, why the scene shows nothing, assets that will not load, removed APIs, colour, performance and cleanup, grouped by cause, most urgent first, with what `three_fix` does and numbered next steps
Start here when something is broken: versions and imports, why the scene shows nothing, assets that will not load, removed APIs, colour, performance and cleanup, grouped by cause, most urgent first, with what `three_fix` does and numbered next steps
No parameter schema in public metadata yet.
three_scanMap the project: bundler and framework, three vs `@types/three` vs package.json, the libraries around it, pages and import maps, every file that uses three with what it creates and where its loop is, renderer settings, assets
Map the project: bundler and framework, three vs `@types/three` vs package.json, the libraries around it, pages and import maps, every file that uses three with what it creates and where its loop is, renderer settings, assets
No parameter schema in public metadata yet.
three_apiExact API of a class, member or constant in the installed three: signature, deprecation, import path; did-you-mean for unknown names
Exact API of a class, member or constant in the installed three: signature, deprecation, import path; did-you-mean for unknown names
No parameter schema in public metadata yet.
three_searchFind classes, constants and members by part of a name
Find classes, constants and members by part of a name
No parameter schema in public metadata yet.
three_reviewScored review (0-100) with 97 rules pinned to the installed release; `code` + `file` for unsaved code, `only_new` in a fix loop, `files` to focus
Scored review (0-100) with 97 rules pinned to the installed release; `code` + `file` for unsaved code, `only_new` in a fix loop, `files` to focus
No parameter schema in public metadata yet.
three_typesThe project's own `tsc --noEmit`, with each three.js type error answered from the installed release (the member that exists, the real import path)
The project's own `tsc --noEmit`, with each three.js type error answered from the installed release (the member that exists, the real import path)
No parameter schema in public metadata yet.
three_fixThe renames that mean exactly the same, dry run first, undoable
The renames that mean exactly the same, dry run first, undoable
No parameter schema in public metadata yet.
three_explainCause and fix of a console, build or test message (35 kinds), with the right import path for the installed release
Cause and fix of a console, build or test message (35 kinds), with the right import path for the installed release
No parameter schema in public metadata yet.
three_lessons100 lessons from real three.js and react-three-fiber projects (symptom, cause, fix, test) by error message, words, rule or topic
100 lessons from real three.js and react-three-fiber projects (symptom, cause, fix, test) by error message, words, rule or topic
No parameter schema in public metadata yet.
three_lesson_addKeep a lesson learned here, scrubbed of names, paths and code; it comes back under the same error
Keep a lesson learned here, scrubbed of names, paths and code; it comes back under the same error
No parameter schema in public metadata yet.
three_rulesEvery review rule with its category, release gating and fix
Every review rule with its category, release gating and fix
No parameter schema in public metadata yet.
three_feedbackMark a finding as a false alarm (hidden from then on) or right
Mark a finding as a false alarm (hidden from then on) or right
No parameter schema in public metadata yet.
three_undoUndo the last Threesmith writes, newest first
Undo the last Threesmith writes, newest first
No parameter schema in public metadata yet.
three_versionWhich three release is installed
Which three release is installed
No parameter schema in public metadata yet.
three_checkHeadless Chromium (software WebGL 2): console and page errors with causes, shader errors at your file and line, failed requests, no context, lost context, blank frames, screenshot, baselines with a diff, interaction steps
Headless Chromium (software WebGL 2): console and page errors with causes, shader errors at your file and line, failed requests, no context, lost context, blank frames, screenshot, baselines with a diff, interaction steps
No parameter schema in public metadata yet.
three_inspectThe live scene graph, camera, draw calls, GPU memory growth, and why each object is not visible
The live scene graph, camera, draw calls, GPU memory growth, and why each object is not visible
No parameter schema in public metadata yet.
three_playSteps (click, press, hold, drag, wheel, frames, eval, until), watched values per frame and step, claims judged at the end, any moment or every frame
Steps (click, press, hold, drag, wheel, frames, eval, until), watched values per frame and step, claims judged at the end, any moment or every frame
No parameter schema in public metadata yet.
three_scenarioKeep a passing play run as a regression test in `.threesmith/scenarios/`; `ci` runs them and writes JUnit
Keep a passing play run as a regression test in `.threesmith/scenarios/`; `ci` runs them and writes JUnit
No parameter schema in public metadata yet.
three_perfDraw calls, triangles, programs, geometries, textures (exact) and frame-time percentiles with the slowest frames and their cause, against a budget and the last run
Draw calls, triangles, programs, geometries, textures (exact) and frame-time percentiles with the slowest frames and their cause, against a budget and the last run
No parameter schema in public metadata yet.
three_leaksRepeat a cycle of steps with garbage collection and report what grows per cycle, down to the GPU resources never disposed, by type
Repeat a cycle of steps with garbage collection and report what grows per cycle, down to the GPU resources never disposed, by type
No parameter schema in public metadata yet.
three_sessionKeep a headless page open between calls (start, status, stop)
Keep a headless page open between calls (start, status, stop)
No parameter schema in public metadata yet.
three_pageDrive that page without reloading: eval JS against the live scene, steps, frames, until, screenshot, inspect, reload, new errors after every answer
Drive that page without reloading: eval JS against the live scene, steps, frames, until, screenshot, inspect, reload, new errors after every answer
No parameter schema in public metadata yet.
three_assetsEvery asset path resolved like the dev server and a static host: missing files, wrong capitals, decoder folders, glTF decoders the code never sets up, huge textures, unused files
Every asset path resolved like the dev server and a static host: missing files, wrong capitals, decoder folders, glTF decoders the code never sets up, huge textures, unused files
No parameter schema in public metadata yet.
three_buildRun the build, check the output (copies of three, missing assets, sub-path URLs, decoders) and open the built page headless
Run the build, check the output (copies of three, missing assets, sub-path URLs, decoders) and open the built page headless
No parameter schema in public metadata yet.
three_model_briefOne page before you build a model: the nearest ready-made kind, parts, real size, rules, the order of tools
One page before you build a model: the nearest ready-made kind, parts, real size, rules, the order of tools
No parameter schema in public metadata yet.
three_model_identifyWhat a thing is (English or Dutch): parts, pivots, typical size, variants, usual mistakes
What a thing is (English or Dutch): parts, pivots, typical size, variants, usual mistakes
No parameter schema in public metadata yet.
three_model_specThe JSON model spec, an example, and the 110 ready-made kinds
The JSON model spec, an example, and the 110 ready-made kinds
No parameter schema in public metadata yet.
three_model_buildBuild a clean, deterministic `.glb` from a kind or a spec, and lint it
Build a clean, deterministic `.glb` from a kind or a spec, and lint it
No parameter schema in public metadata yet.
three_model_viewA `.glb` as text: front, side and top views, parts with sizes, parts that do not touch
A `.glb` as text: front, side and top views, parts with sizes, parts that do not touch
No parameter schema in public metadata yet.
three_model_lintScore a `.glb` for the web (geometry, materials, triangles, draw calls, texture memory, loading), and against what it should be
Score a `.glb` for the web (geometry, materials, triangles, draw calls, texture memory, loading), and against what it should be
No parameter schema in public metadata yet.
three_model_inspectWhat is in a `.glb` and which loaders and decoders three.js needs, with the setup code, checked against the project's code
What is in a `.glb` and which loaders and decoders three.js needs, with the setup code, checked against the project's code
No parameter schema in public metadata yet.
Sponsors
Configuration
THREESMITH_CHROMIUMPath to a Chromium binary for three_check (default: Playwright's Chromium)
Readme
Threesmith logo
Threesmith
Less debugging. More dimension.
MCP server, CLI and Claude Code plugin. Works with Claude Code, Codex, Cursor, VS Code, Gemini CLI and any MCP client.
Details
- Repository
- github.com/laaielichter/threesmith
- Categories
- Web & Browser Automation, Design & Creative
- Package
threesmith- Transport
- STDIO
- Registry
- MCP registry, active