Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/nirholas/three.ws/generate-3d-modelnpx skills add nirholas/three.ws --skill generate-3d-modelgit clone --depth 1 https://github.com/nirholas/three.wsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00116 | $0.01158 |
| Opus 5 | $0.00058 | $0.00579 |
| Sonnet 5 | $0.00023 | $0.00232 |
| Haiku 4.5 | $0.00012 | $0.00116 |
Grade A, and why
generate-3d-model scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s -X POST https://three.ws/api/mcp-studio \ How it starts
The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Generate a 3D model from text
Turn a natural-language prompt into a textured, downloadable GLB model on the free three.ws text→3D lane (NVIDIA NIM / Microsoft TRELLIS). No API key and no account — the platform's server-side keys cover provider cost.
The result is always two things: a durable glbUrl (download / import into any
3D tool) and a viewer link that renders the model in the browser.
When to use which tool
| Goal | Use |
|---|---|
| A single object / prop / creature from text | this skill (free lane) |
| A posable humanoid character with a skeleton | create-3d-avatar |
| Add a skeleton to a GLB you already have | rig-a-model |
Fastest path — the MCP tool
If the three.ws MCP server is connected, call the free tool directly:
- Tool:
forge_free - Input:
{ "prompt": "<description>", "tier": "draft" }prompt— 3–1000 chars. Lead with the subject, then its key materials and colors. The free lane conditions on ~77 characters, so front-load what matters:"a friendly round robot mascot, glossy white plastic, big blue eyes".tier—draft(fast, default),standard, orhigh. All free; higher tiers only take longer.
- Returns:
glbUrl,viewerUrl,tier,backend,durationMs.
This is text-only (the free TRELLIS preview does not accept uploaded photos). For image / multi-view → 3D, use the art-directed lanes described in reference.md.
Portable path — the hosted HTTP endpoint
No MCP client required. The same free lane is a public JSON-RPC endpoint at
https://three.ws/api/mcp-studio (no auth, no account):
curl -s -X POST https://three.ws/api/mcp-studio \
-H 'content-type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "forge_free",
"arguments": { "prompt": "a small glossy green ceramic frog figurine", "tier": "draft" }
}
}'
Response (structuredContent) carries the model:
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 105 lines · 116 tokens per session scan A c0957db52ba5
generate-3d-model is a skill published in the GitHub repository nirholas/three.ws (107 stars, last pushed 4d ago), licensed Apache-2.0. It adds 116 tokens to every session and 1,158 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
blender-mcp
Control Blender directly from Hermes via socket connection to the blender-mcp addon. Create 3D objects, materials, animations, and run arbitrary Blender Python (bpy) code. Use when user wants to create or modify anything in Blender.
unreal-mcp
Automate Unreal Engine editor scenes, actors, and renders.
img2threejs
Turn an object or character reference image into a quality-gated, animation-ready procedural Three.js model built in code. Use for image-to-3D reconstruction, detail-accurate object rebuilds, stylized/likeness-maximized human characters, sculpt specs, and staged code generation.
sceneview-web
Build 3D and WebXR (AR/VR) experiences in the browser with SceneView for Web — Filament.js (WebGL2/WASM) wrapped in a Kotlin/JS DSL and a plain-JavaScript API on window.sceneview. Use whenever the user asks for "3D in the browser", "a web model viewer", "WebXR AR/VR", or any browser 3D/AR app where the dependency is…
animation-blueprint
Navigate, inspect, and author Animation Blueprints — state machines, states, transitions, and transition rules (AnimGraphService). Use when the user asks to create or edit an Animation Blueprint/AnimBP, add a state machine or states, wire transitions between states, set a state's animation, or inspect AnimGraph…
animation-montage
Create and manipulate Animation Montages — sections, slots, segments, branching points, notifies, and blend settings (AnimMontageService). Use when the user asks to create a montage (from an animation or empty), add or link montage sections, set up slots/segments, add branching points, or adjust montage blend timing.