threenative-sculpt-mcp
Provides five fail-closed MCP tools for validating reference images and sculpting plans, enabling user-owned procedural Three.js source creation through validated gates and grimoire lookups.
README
threenative-sculpt-mcp
Five fail-closed MCP tools for turning a reference image into user-owned procedural Three.js
source. The server evaluates plans, ObjectSculptSpec depth, captured frames, and pass gates;
it never generates source or launches a browser.
Run locally
pnpm install --frozen-lockfile
pnpm build
node dist/server.js
The server communicates over stdio. Configure an MCP host to launch
./node_modules/.bin/threenative-sculpt-mcp from the generated project.
Surface
sculpt_plan— validate a reference and return the locked pass order plus relevant grimoire URIs.sculpt_spec_gate— validate the retainedObjectSculptSpeccontract and depth minimums.sculpt_compare— compare an existing capture with the reference globally and by normalized region.sculpt_pass_gate— returnadvance,retry, orstop; uncertainty can never advance.sculpt_grimoire— read a topic; unknown topics fail with the complete valid-topic list.
Every technique-safe page is exposed as sculpt://grimoire/<topic>.
The source repository retains the complete upstream grimoire verbatim. The served resource
index is narrower: pages containing concrete fenced GLSL or material recipes are rejected by
both resource discovery and sculpt_grimoire. This keeps the MCP surface technique-oriented;
the agent authors the game's materials and shaders in src/render/.
Upstream does not contain a standalone JSON Schema for ObjectSculptSpec. This fork documents
its explicit MCP runtime subset in schema/object-sculpt-spec.runtime.schema.json and applies
the upstream simple/moderate/complex/ultra-complex depth thresholds in code. The eight locked
passes are blockout, structural, form, material, surface, lighting, interaction, and optimization.
The nested shapes consumed by sculpt_spec_gate are objects: the tier is
preSpecAssessment.complexity.tier, and inventory entries are in
preSpecAssessment.detailInventory.details. This complete simple-tier example is also packaged
as examples/simple-object-sculpt-spec.json:
{
"schemaVersion": "2.1",
"targetName": "Reference object",
"suitability": "pass",
"coordinateFrame": {},
"silhouette": {},
"componentTree": [{ "id": "root", "level": "macro", "localFeatures": [] }],
"materials": [{ "id": "base" }],
"repetitionSystems": [],
"proceduralStrategy": ["Build the observed silhouette"],
"preSpecAssessment": {
"complexity": { "tier": "simple" },
"detailInventory": {
"details": [
{ "id": "primary-outline" },
{ "id": "dominant-proportion" },
{ "id": "material-break" }
]
}
},
"qualityContract": {
"minimumSpecDepth": {
"macroComponents": 1,
"mesoComponents": 0,
"microFeatureGroups": 0,
"materialLayers": 1,
"repetitionSystems": 0,
"reviewViewpoints": 2
}
},
"qualityTargets": { "reviewViewpoints": ["front", "three-quarter"] }
}
Deterministic pixel comparison is diagnostic evidence. sculpt_pass_gate requires a semantic
review of the same image pair and its critical features; absent or ambiguous review evidence
returns retry (or stop at the configured final attempt), never advance.
Low deterministic scores and regional confidence produce correction guidance but do not block
an otherwise passing semantic review when compareResult.ambiguous is false. An explicitly
ambiguous comparison still blocks advancement.
sculpt_compare reads PNG, JPEG, WebP, GIF, AVIF, and TIFF through Node's sharp package.
It rejects missing, zero-byte, undecodable, and all-one-colour captures. It does not include
Python, uv, Playwright, browser automation, source generation, or runtime game code.
Verify
pnpm typecheck
pnpm test
pnpm pack --dry-run
The retained material, adaptations, ports, and resource-safety filter are described in
NOTICE; the package is Apache-2.0.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.