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…
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for Studex tools, notifications, and profile integrations
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create and edit 3D models in Blockbench via the Model Context Protocol.493GPL 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.94 npm42MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Blockbench, a 3D modeling tool for Minecraft, through a plugin-based MCP server.GPL 3.0
- AlicenseNot gradedqualityBmaintenanceA local MCP server that runs inside Blockbench, enabling Codex and other MCP clients to control and inspect Blockbench projects through 95 tools for modeling, animation, UV editing, painting, and more.1GPL 3.0