minecraft-schematic-lab
Provides version control capabilities for Minecraft schematic projects, allowing users to initialize a git repository, commit versions, create and switch branches, and push to remotes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@minecraft-schematic-labbuild me a 50x40x80 fantasy castle"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
minecraft-schematic-lab
A fully-local lab that lets Claude build Minecraft schematics for you. You describe what you want
in plain language; Claude compiles it into a WorldEdit Sponge .schem, opens a browser preview so
both of you can see it, and you iterate by chatting. Nothing leaves your machine — no database, no
cloud, no account.
You (in Claude): "build me a 50×40×80 fantasy castle"
│
▼
MCP server ──compile──▶ BlockVolume ──▶ Sponge .schem
│ │
└── opens ──▶ http://127.0.0.1:8765 (live 3D preview + Export)Getting started — add one connector (no clone, nothing to build)
You don't clone or build anything. Add a single MCP connector that points at the public repo; npx
fetches it, installs its dependencies, caches it, and runs it. The only prerequisite is Node 22+
(which gives you npx) and Claude Code.
Don't have Node yet? Install it once from https://nodejs.org (the official installer is the most trouble-free, especially for the desktop app).
Claude Code (CLI)
claude mcp add --scope user minecraft-schematic-lab -- npx -y github:SimoneRecchia/minecraft-schematic-lab --mcpClaude Code (desktop app)
Open the MCP/connectors settings and add this server (or edit claude_desktop_config.json):
{
"mcpServers": {
"minecraft-schematic-lab": {
"command": "npx",
"args": ["-y", "github:SimoneRecchia/minecraft-schematic-lab", "--mcp"]
}
}
}Then just ask
Restart Claude Code once so the connector loads, then tell it what you want, in any language:
"build me a 50×40×80 fantasy castle"
On the first request npx downloads and caches the tool (a few seconds), Claude builds your schematic,
and the 3D preview opens by itself at http://127.0.0.1:8765. From then on:
Build / change: "make the roof brick", "add two round towers" — the preview updates by itself.
Export: click Export .schem in the browser (Sponge v2 by default, v3 optional), or ask Claude.
Use it in Minecraft (WorldEdit / FAWE): put the
.schemin your world'sschematicsfolder, then//schem load <name>and//paste.Versioning (optional): ask Claude to "version this in folder …" — it sets up git for you (git must be installed).
Pinning / updating
The command above tracks the repo's main. To pin a stable version once releases are tagged, append the
tag (this also sidesteps npx's git cache):
claude mcp add --scope user minecraft-schematic-lab -- npx -y "github:SimoneRecchia/minecraft-schematic-lab#v0.1.0" --mcpIf you ever get a stale build, refresh the cache once with npm cache clean --force.
Related MCP server: 3D MCP Server
Alternative: clone & let Claude Code set it up
Prefer to run from a local clone (e.g. to hack on it, or to let Claude Code install Node for you)? Clone
the repo and open the folder as a project in Claude Code (CLI: cd in and run claude; desktop:
add the folder as a project). Then ask it to build something — the first time, Claude Code reads
CLAUDE.md, runs scripts/setup.sh (installs Node 22+ via nvm if
missing, no admin password; enables pnpm; pnpm install && pnpm build; registers a local connector),
builds your schematic, and opens the preview. After a one-time restart the MCP tools take over.
Fully manual: pnpm setup (= pnpm install && pnpm build), then
claude mcp add --scope user minecraft-schematic-lab -- pnpm --dir <ABSOLUTE_PATH> mcp (CLI) or the
equivalent mcpServers entry (desktop). If Node/pnpm are installed via nvm, the desktop app may not
find them on its PATH — point the connector at scripts/mcp-launch.sh (the absolute-path wrapper
scripts/setup.sh generates) instead of a bare pnpm.
The MCP process binds HTTP on
127.0.0.1:8765. Don't also runpnpm devat the same time (port clash). To hack on the viewer with hot-reload usepnpm dev:web(port 5173).
MCP tools
Tool | What it does |
| Compile a BuildSpec, show it in the browser (opens automatically). |
| Current spec, stats, warnings, preview URL, project status. |
| Validate a spec without changing the current build. |
| Apply an RFC 6902 JSON Patch and rebuild (incremental edits). |
| Compact size + per-block-state counts + URLs. |
| Isometric PNG of the build, returned as an image (Claude sees). |
| Export |
| Make a git-versioned project folder (needs git). |
| Write + commit the current build. |
| Create/switch a branch. |
| Push to a remote (optionally set the URL first). |
| Manage independent in-memory builds. |
HTTP API
Method | Path | Purpose |
GET |
| Liveness + version. |
GET |
| Current spec + stats + project. |
POST |
| Compile a BuildSpec. |
POST |
| Validate only. |
POST |
| RFC 6902 patch + rebuild. |
GET |
| Instanced positions per state. |
GET |
| Server-rendered isometric PNG. |
GET |
| Download |
GET/POST |
| Session management. |
POST |
| Set up a project folder. |
POST |
| Git operations. |
GET |
| Git status. |
BuildSpec & operations
A BuildSpec has id, name, minecraftVersion, size {x,y,z}, optional origin, a palette
(friendly key → block id), and a list of operations:
box, hollow_box, wall_rect, gable_roof, cylinder, window_pattern, sphere, pyramid,
ramp, replace, block_entity.
Block ids may be given directly (minecraft:stone) or via a palette key. Out-of-bounds writes are
skipped and reported as warnings.
Schematic compatibility notes
Sponge v2 is the default (broadest WorldEdit / FAWE support); v3 is available via
?version=3.BlockDatais YZX-ordered unsigned LEB128 varints (stored as signed NBT bytes); the file is gzipped.DataVersionis an approximation derived fromminecraftVersion(boundary-aware prefix match).Tile entities are emitted from
block_entityoperations (best-effort generic JSON → NBT).Not modeled: biomes and mob entities.
Security
Binds loopback only (
127.0.0.1).Git runs via argument arrays (never shell strings), uses repo-local config only (never
--global), and never deletes. Project paths must live inside your home directory (symlink-safe).
Development
pnpm dev # web (5173) + server (8765) with hot reload
pnpm typecheck
pnpm lint
pnpm test # unit tests (vitest)
pnpm test:e2e # Playwright (run: pnpm exec playwright install chromium)Roadmap
Stairs/slabs orientation helpers, schematic import (read .schem back into a BuildSpec), more
parametric shapes (arches, domes, spiral stairs), and a richer materials estimator.
License
MIT © 2026 SimoneRecchia
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/SimoneRecchia/minecraft-schematic-lab'
If you have feedback or need assistance with the MCP directory API, please join our Discord server