BlockBenchMCP
Provides a bridge for Blockbench, enabling AI clients to create and manipulate 3D models through intent-based tools such as scaffolding bipeds, applying geometry batches, generating UVs, and exporting models.
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., "@BlockBenchMCPscaffold a biped model"
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.
BlockBenchMCP
Minecraft-oriented Model Context Protocol as a pure Blockbench desktop plugin (≥ 5.1.0).
Install the plugin → it hosts loopback HTTP MCP → point Cursor at the URL. No separate Node adapter. Closing Blockbench stops MCP.
Intent-level tools (scaffold_biped, check_model, …) — not a thin UI mirror.
Install
Artifact (recommended): download blockbench_mcp.js from GitHub Releases.
From source:
git clone https://github.com/SwagRee/BlockBenchMCP.git
cd BlockBenchMCP
npm install && npm run buildOutput: packages/plugin/dist/blockbench_mcp.js.
Blockbench: File → Plugins → Load Plugin from File
Allow network / net when prompted
Listens on
http://127.0.0.1:39741/mcp(or Tools → Start / Stop MCP Server)Settings: port + Bearer (default
dev-local-secret)
Related MCP server: Minecraft Dev MCP
Cursor
{
"url": "http://127.0.0.1:39741/mcp",
"headers": { "Authorization": "Bearer dev-local-secret" }
}Open Blockbench first, enable MCP, call health.
Architecture
AI client --HTTP MCP--> packages/plugin (inside Blockbench)Package | Role |
| Zod, guides, tool contracts, tests |
| Desktop plugin; in-process HTTP MCP + Host ports |
Security: loopback only; Bearer required; file export needs propose_scoped_directory confirmation.
Scope (v1)
Format | Priority |
| P0 |
| P0 |
| Supported |
Generic free-model / mesh brush | Out of scope |
Non-goals: trigger_action / emulate_clicks / risky_eval, full paint UI, Hytale, etc.
Main tools
Area | Tools |
Discover |
|
Review |
|
Project |
|
Geometry |
|
UV & texture |
|
Animation |
|
Files |
|
Mutations return explicit success/failure; unknown params hard-error. Prefer check_model over vision spam.
The safe edit loop is complete: inspect exact element geometry and per-face UVs with
get_elements, make bounded changes with update_elements / set_face_uv, then read
back and review. save_project writes a real .bbmodel; export_model compiles through
the active format codec. Both require an approved scoped directory and explicit overwrite.
Iterative modeling no longer requires recomputing every absolute coordinate:
transform_elements applies relative translation, scaling, and pivoted rotation;
array_cubes builds repeated geometry while explicitly sharing or regenerating UVs.
measure_model reports overall or subtree bounds, center, size, cube count, and volume,
while audit_symmetry reports left/right coordinate error. Dimension changes can choose
uv_policy: preserve|auto; re-check the UV layout before painting.
Advanced iteration adds rotation- and parent-hierarchy-aware world bounds, radial arrays,
deep hierarchy duplication, island-level UV transforms, and explicit intentional-overlap declarations. ensure_material_set creates channel sheets and audit_material_set validates
base/emissive/normal/specular channel consistency without pretending Blockbench formats all
export the same material semantics. analyze_view_silhouette turns multi-view captures into
numeric bounds and coverage, while animation keys can be inspected, retimed, scaled, or mirrored.
Workflow
get_guide(modeling)create_projectEntities:
scaffold_biped/ blocks:apply_geometry_batchFix errors, then texture
pack_box_uv→get_uv_layout(zero out-of-bounds; review overlaps/density) →get_uv_map→ paint →get_texture/capture_viewscapture_viewsonly if needed
For a real Blockbench integration gate, open a disposable project with the plugin loaded and run
npm run test:e2e. The command requires an explicit disposable confirmation and performs a live
create → geometry → UV → paint → audit → multi-view sequence; it is intentionally separate from
the deterministic unit suite.
capture_views and get_texture return native MCP image content so compatible
clients can render previews directly. For crisp pixel work, paint_pixel_batch
accepts multiple face-local paths with square or circle brushes, clips them to
their UV faces by default, and commits the whole batch as one undo step.
Each orthographic capture also reports visible_face (north, south, etc.).
This names the model face looking toward the camera; isometric captures report
null. Use it to place focal details deliberately instead of guessing front-face
orientation from a prior project.
get_uv_layout provides machine-readable islands, overlap pairs, texel density,
flips, rotation, and bounds. get_uv_map returns a labeled atlas preview.
Face-local painting honors rotated/flipped UVs; subset packing preserves existing
islands by default, and resize_texture can scale the bitmap and all UVs together.
For precision pixel art, paint_face_grid writes an exact palette-indexed grid
whose dimensions must match the face; palette values support CSS RGBA and null
for true transparent erase. get_face_grid reads the exact RGBA texels back in
the same face-local orientation. Surgical editing, tolerant color replacement,
face copy/mirror/rotation, palette statistics, and checkerboard pixel zooms are
also available. PNG import/export is confined to a directory explicitly approved
with propose_scoped_directory.
Long-running agents can use get_texture_revision and pass its token as
expected_revision to destructive texture operations; stale edits fail instead
of overwriting newer work. Bounded flood fill and lossless face/region transforms
cover enclosed areas and symmetry fixes. audit_texture_quality turns pixel-art
rules into per-face findings for palette excess, weak base coverage, isolated
pixels, flat fills, and optional transparent-glass edge/center alpha structure.
Check uv_mode on health / get_project_summary: java_block → face; Bedrock → preserve the project's box or per-face UV mode.
Bedrock workflow
Create a separate entity tab without GeckoLib:
create_project({format:"bedrock", name:"Costume", geometry_name:"costume", uv_mode:"face", texture_width:256, texture_height:256}).Use
bedrock_oldonly when legacy export is required. UV modes unsupported by the installed format are rejected before creating a project.Existing tabs are preserved. A missing native creation API fails rather than opening a wizard that could leave the reference active.
update_elementsimmediately refreshes transforms and visibility. Bone undo data is separate from cube undo data.transform_elementstransforms an entire selected subtree once, even if children are also selected. Coordinates are in the selected root's parent space. Rotation is composed around the requested pivot; non-uniform scale of rotated/inflated geometry is rejected because cuboids cannot represent shear.capture_viewsuses an offscreen orthographic camera fitted to visible geometry, including bone rotations and inflation. It does not translate the model or change the user's camera.Saving still requires
propose_scoped_directoryconfirmation, desktop module permission, andoverwrite:truefor existing files.save_projectwrites editable.bbmodel;export_modeluses the current Bedrock codec for geometry JSON. They are different deliverables.
Validation: npm test includes shared contracts and mocked desktop-host regressions; npm run typecheck and npm run build validate the plugin. The destructive live smoke suite is not part of npm test: run it only with a disposable project. Reload packages/plugin/dist/blockbench_mcp.js in Blockbench to activate a newly built version; an already running MCP server continues using its loaded code until reload.
Agent skill
Pixel-art modeling playbook: skills/blockbench-pixel-art/openai.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol (MCP) server for Selise Blocks Cloud integration
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create and edit 3D models in Blockbench via the Model Context Protocol.438GPL 3.0
- AlicenseNot gradedqualityAmaintenanceA Model Context Protocol server that gives AI assistants native access to Minecraft mod development tools — decompile, remap, search, and analyze Minecraft source code directly from your AI workflow.50 npm39MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to build Minecraft models, textures, and animations directly inside Blockbench through the Model Context Protocol.468MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Blockbench, a 3D modeling tool for Minecraft, through a plugin-based MCP server.GPL 3.0