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 "Deploy 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.
VibeSchem
AI builder for Minecraft. Describe a build to Claude — a cottage, a fantasy castle on a floating island, a gothic cathedral, a whole village, a piston door or a redstone computer — and Claude designs it automatically, shows it in 3D with the real game textures, and exports an expert-quality schematic for WorldEdit, Litematica or structure blocks, or a vanilla data pack that needs no mods. It can also build straight on the terrain of your own world and give you back a copy of the world with the build in it.
Builds on your own world. Point Claude at a world and a spot ("build a village here, I'm at 120 70 -340"), or give it a schematic to start from. It reads that area straight from the save (Java 1.8 → newest, including the 26.1 folder layout), shows it in the viewer and builds on the real ground: plots levelled with slopes that blend into the hills, foundations down to the ground, paths that follow it, trees and props standing on it. It gives the result back in place: a copy of your world with the build in it (the original is only read), a vanilla data pack (
/function …/build,…/undoputs back what was there, no mods), or schematics that paste at the same coordinates (//paste -o).Builds like an experienced builder. Claude follows a building guide distilled from expert practice (massing, depth, palettes and gradients, roofs, styles, landscaping) and writes a compact BuildSpec with real roof generators, arches, procedural trees, terrain, reusable components, symmetry and scripts.
Live 3D viewer in your browser with the real Minecraft textures and block models, smooth lighting like the game, orbit/pan/zoom (Blender-style shortcuts), layer-by-layer cut, block inspector, material list, version history — a macOS-style glass interface, light and dark.
Claude sees what you see. It renders the build from any angle, close-ups and sections; you can pin numbered notes on blocks ("make this roof steeper") and Claude knows exactly which part of the spec made that block.
Redstone that works, like tested code. A simulator follows Minecraft Java's own redstone mechanics for the build's version: game ticks, neighbour and shape updates in the game's order, scheduled-tick priorities, quasi-connectivity, pistons with slime and honey, observers, comparators reading containers, torch burnout, and the differences between versions. Sand, gravel, concrete powder and anvils fall; water and lava flow, wash redstone away and make cobblestone and obsidian; hoppers, droppers and dispensers move items and buckets. A build can declare named inputs and outputs (single blocks or multi-bit buses) and tests (truth tables, delays, clock periods, memory). The tests run on every build like unit tests, and Claude fixes the circuit until they pass. It can try any scenario with the
simulatetool, and check that a design works wherever it is pasted, since update order depends on world position. In the viewer you right-click levers, buttons, pressure plates, targets, lecterns and trapped chests like in the game and the circuit starts by itself; you watch blocks fall and liquids flow, run it at ¼× to max speed, step tick by tick, watch inputs and outputs, and replay tests in 3D. The labels on the blocks show every bit, only the names, or nothing (I).Strict Minecraft versions from 1.8 to the newest release: only blocks that exist in the chosen version are accepted (experimental ones excluded), with suggestions for substitutes.
Export: WorldEdit
.schem(Sponge v2/v3), MCEdit.schematicfor 1.8–1.12, Litematica.litematic, vanilla structure.nbt, a vanilla data pack (1.13+:/functionbuilds it where you stand,…/undoremoves it) and a material list with stacks and shulker boxes. Files can be saved straight into your WorldEdit or Litematica folder, data packs into a world.
Everything runs locally. The textures come from the official Minecraft client: from your launcher if
that version is installed, otherwise downloaded once from Mojang's servers into
~/.minecraft-schematic-lab — they are never redistributed.
Changelog · Privacy · Security · Contributing · License
Install the plugin
Requirements: macOS, Windows 10/11 or Linux, and Claude Code (terminal or desktop app) or the Claude desktop app. Nothing else: Node 22+ is used if you have it, otherwise downloaded once (no admin rights). The plugin runs a small server on your computer, so it works in Claude Code and in desktop-app tasks that run on your computer, not in a browser or phone chat without a computer.
From Anthropic's plugin directory (once VibeSchem is listed there): in the Claude app open
Customize → Plugins → Discover, search for VibeSchem and click Add. In Claude Code, run
/plugin and look under Discover. A plugin added on claude.ai also reaches Claude Code.
From this repository, in Claude Code:
/plugin marketplace add SimoneRecchia/minecraft-schematic-lab
/plugin install vibeschem@vibeschemOn Claude Code 2.1.275 or later one line is enough:
/plugin install vibeschem --marketplace SimoneRecchia/minecraft-schematic-labIn the Claude app you can also open Customize → Plugins → Add → Add marketplace and enter
SimoneRecchia/minecraft-schematic-lab. Or from a terminal:
claude plugin marketplace add SimoneRecchia/minecraft-schematic-labclaude plugin install vibeschem@vibeschemThen open a new session (or restart Claude Code) and ask, in any language:
Costruiscimi un castello fantasy su un'isola fluttuante, per la 1.20.1, massimo 100×100.
or, on your own world (save and quit it first):
Nel mio mondo "Survival", costruisci un villaggio dove sono adesso, raggio 60, e passami il mondo.
The very first start prepares the builder once (about a minute, needs internet): it uses your Node
22+ if you have one, otherwise it downloads the official Node from nodejs.org into
~/.minecraft-schematic-lab/runtime — no admin password, nothing else on your computer changes. If
the tools don't show up the first time, open a new session.
The viewer opens in your browser. Ask for changes in chat or pin notes on blocks with the Note tool (N), then tell Claude "guarda le note". Export with the Export button. To build on a world, use Import in the viewer (pick the world, the centre and the radius, or drop a schematic) or just ask Claude.
In game:
WorldEdit: put the file in
config/worldedit/schematics(single player) orplugins/WorldEdit/schematics(server), then//schem load <name>and//paste(//paste -ofor a build made on your world: it goes back to its place).No mods: put the data pack
.zipin the world'sdatapacksfolder (or let Claude install it), then, with cheats on,/reloadand/function vibeschem:<name>/build;…/undoremoves it.A build made on your world: ask for the world copy, then open the new world (" (VibeSchem v2)") from Singleplayer. Your original world is never changed.
Update or remove it from the /plugin menu (or Customize → Plugins), or in a terminal with
claude plugin update vibeschem@vibeschem / claude plugin uninstall vibeschem@vibeschem. Your
builds stay in ~/.minecraft-schematic-lab.
Coming from minecraft-schematic-lab (the old name)? Remove it first, so the tools don't appear
twice: /plugin uninstall minecraft-schematic-lab@minecraft-schematic-lab, then
/plugin marketplace remove minecraft-schematic-lab, then install as above. Your builds are kept.
Set the tools up by hand before (scripts/setup.sh or npx github:…)? Remove that connector too:
claude mcp remove --scope user minecraft-schematic-lab.
Windows support is new: if the tools don't start there, please
open an issue with what Claude
shows in /mcp.
Related MCP server: meshy-youtube-mcp
Use it in a Claude desktop chat (extension)
A chat can't start a plugin's server, but it can run a desktop extension. Requirements: the Claude desktop app on macOS (Apple Silicon or Intel) or Windows (Windows not tested yet). Nothing else to install: the extension runs on the app's own Node.
Download
vibeschem.mcpbfrom the latest release.Double-click it (or drag it onto Settings → Extensions in the app) and click Install.
Open a new chat and ask, in any language:
Costruiscimi un castello fantasy su un'isola fluttuante, per la 1.20.1, massimo 100×100.
The viewer opens in your browser, exactly as with the plugin. To update, install the newer .mcpb
the same way; to remove it, use Settings → Extensions. Your builds stay in
~/.minecraft-schematic-lab, shared with the plugin. Installed the old Minecraft Schematic Lab
extension? Remove it in Settings → Extensions.
Optional, for better builds: the building skill. The plugin brings a skill that makes Claude
follow the expert workflow on every build request; an extension can't carry it. To add it to a chat,
download minecraft-builder-skill.zip from the same release, then in the app go to
Customize → Skills, upload the zip and turn the skill on. Skills need Code execution turned on
(Settings → Capabilities). Without the skill, Claude still gets the building guides from the
extension's read_guide tool.
Also using the plugin? Extensions load in the desktop app's Code tab too, so there you'd get the tools twice (two servers, two viewer tabs). Keep just one of them: turn the extension off in Settings → Extensions while you work in the Code tab, or uninstall the plugin.
From a clone (to work on the code)
git clone https://github.com/SimoneRecchia/minecraft-schematic-lab.git
cd minecraft-schematic-lab
bash scripts/setup.shRestart Claude Code once and open it in this folder: the setup registers a connector that runs the
sources directly, and the skill in .claude/skills loads from the project.
Privacy and security
Your worlds are only read. Building on a world reads its save; the result goes into a new copy of the world or a data pack folder, only when you ask. Existing world files are never changed.
Nothing leaves your computer except downloads: the Minecraft client from Mojang (only for game versions your launcher doesn't have), Node.js from nodejs.org and the server's npm packages (only on the first start, if missing). No account, analytics or telemetry. Details in PRIVACY.md;
MSL_OFFLINE=1turns the Mojang download off.The local server answers only its own viewer: it listens on
127.0.0.1and refuses requests from other websites (foreignHost,OriginorSec-Fetch-Site).Build scripts run in a sandbox: the JavaScript Claude writes for
scriptoperations runs in an isolated V8 context with a time limit and no way back to Node (files, network, processes).Downloads are verified: Node.js is pinned to an exact version with SHA-256 sums in the launchers, the Minecraft client is checked against Mojang's SHA-1, npm packages come from the lockfile. Exports never overwrite an existing file.
Found a vulnerability? Report it privately, as SECURITY.md explains.
Viewer shortcuts
Drag / right-drag or Shift-drag / scroll | orbit / pan / zoom (toward the cursor) |
Double-click | orbit around that block |
| front, right, top · 3D view |
| orbit in steps · orthographic |
| frame everything / the selection |
| layer cut |
| navigate / pin a note (Shift-click a second block for an area) |
Right-click · | use a block like in the game: levers, buttons, plates, targets, repeaters, comparators, doors… (redstone builds) · the hand tool, same with a left-click |
| run/pause the redstone simulation · advance one game tick |
| labels on the circuit's inputs and outputs: all bits, names only, hidden |
| builds on your world: show only what the build changes |
| grid · sidebar · clear |
Development
pnpm install
pnpm build # web viewer (apps/web/dist)
pnpm test # unit + integration tests
pnpm typecheck && pnpm lint
pnpm catalog # regenerate the per-version block catalog from minecraft-data
pnpm bundle # rebuild the plugin in plugin/ (server bundle, viewer, guides, skill)
pnpm mcpb # bundle + the desktop extension in dist/ (.mcpb + skill zip), smoke-tested
PORT=8790 pnpm --dir apps/server start # standalone server for development
claude plugin validate . # check the plugin and marketplace manifests
claude --plugin-dir ./plugin # try the plugin from this checkout without installing itplugin/ is committed — it's what players install — so run pnpm bundle before committing changes
to the server, viewer, guides or skill. Installed plugins only update when the version changes: bump
version in package.json (and packages/shared/src/version.ts), then pnpm bundle.
Anthropic's plugin directory
plugin/ is also what the directory lists. Its README.md is the listing page (it must say what the
plugin runs, downloads and stores), and plugin.json gives the name, description, keywords, icon
(mcpb/icon.svg, rendered to mcpb/icon.png and copied by pnpm bundle) and the documentation,
support and privacy links. The name vibeschem is permanent; apps/server/src/plugin.test.ts
checks the directory's blocking rules.
To submit or follow a submission, open the developer portal
(paid Claude plan, GitHub account connected) → Submit new → Plugin bundle: repository
SimoneRecchia/minecraft-schematic-lab, plugin path plugin, tracked branch main, then
Validate. Expect a reviewer on every version: the directory always holds plugins that install
npm packages from a lockfile, run launcher scripts from a repository subfolder, or ship files over
256 KiB or bundled code. After the first listing, every version merged into main is scanned and
published, so bump version for each release (and add it to CHANGELOG.md). See
Submit your plugin and the
pre-submission checklist.
Desktop extension
The extension is built from the same bundle by pnpm mcpb (manifest and icon in mcpb/): one
.mcpb for macOS and Windows that runs on Claude Desktop's built-in Node and carries the native
@napi-rs/canvas binary for each OS/CPU. It isn't committed: .github/workflows/release.yml
builds both files and publishes them in the GitHub release of each new version, with that version's
CHANGELOG section. The directory no longer lists desktop extensions, so
they're installed from the release. node scripts/mcpb.mjs --check [file] [--node <binary>] re-runs
the smoke test (an Electron binary works as --node, to try the app's runtime).
Releasing a version
Bump
versioninpackage.jsonandpackages/shared/src/version.ts, runpnpm bundle, and add a## <version>section to CHANGELOG.md.Merge into
main. Claude Code users and, after its review, Anthropic's directory pick it up, and the Release workflow publishes the GitHub releasev<version>with the desktop extension (it creates the tag; a version that already has a release is skipped).
See CLAUDE.md for the architecture, API and the protocol Claude follows.
License
Copyright © 2026 SimoneRecchia.
VibeSchem is free software: you can redistribute it and/or modify it under the terms of the
GNU Affero General Public License as published by the Free Software Foundation, version 3
(AGPL-3.0-only). It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
license for details.
In short: everyone can install, use, study and change it, and share it, as long as every copy and every changed version stays under the AGPL with its source code available, also when it is offered as an online service. Versions up to 0.2.0 were released under the MIT license and stay available under it.
Additional term under section 7(e) of the AGPL: the license grants no rights to the name VibeSchem or its logo; see TRADEMARKS.md. Contributions are accepted under the same license (CONTRIBUTING.md).
Third-party code shipped in the plugin: plugin/THIRD_PARTY_NOTICES.md. Block data from
PrismarineJS/minecraft-data (MIT). Minecraft
textures and models are © Mojang and are read from your own game files at runtime.
Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.
This server cannot be deployed
Maintenance
Related MCP Connectors
Minecraft builds and skins made by your AI agent, live in your browser tab. Export .schem.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Generate AI images and videos from any compatible MCP client.
Create, inspect, validate, and save editable 3D building scenes with Pascal's MCP server.
125,062
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control a Minecraft bot for movement, building, crafting, and instant schematic-based structure spawning via MCP tools.46 npm2Apache 2.0
- AlicenseAqualityCmaintenanceEnables generating 3D models from text prompts, rendering turntable animations, and uploading them directly to YouTube via an MCP interface.1415MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude to generate Minecraft structures from natural language descriptions, creating .schem files for WorldEdit import.11-
- FlicenseBqualityBmaintenanceEnables designing Minecraft structures through Claude Code and exporting them as Sponge Schematic v3 (.schem) files.14-