Blockbench MCP Plus
Provides tools for AI agents to build, texture, rig, and animate models in the live Blockbench editor, including workflow operations for rig creation, face painting, multi-angle rendering, animation generation, and model auditing. Also supports headless editing, validation, conversion, and rendering of .bbmodel files.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Blockbench MCP Plus

An MCP server inside Blockbench that lets AI agents build, texture, rig and animate models in the live editor. It extends jasonjgardner/blockbench-mcp-plugin with workflow tools: higher-level operations that replace long chains of low-level calls and the coordinate math agents tend to get wrong.
Everything in the gallery below was built, painted, rigged, animated and rendered through these tools.
What this adds
Tool | What it does |
| Creates a whole bone hierarchy with its cubes in one undoable edit. On box UV projects it packs every new cube's UV net without overlaps (avoiding existing nets) and grows the project UV size when needed. |
| Paints faces in face-local pixels, where (0,0) is the face's top-left as seen on the model, whatever its texture position, mirroring or rotation. Ops: |
| Renders several labelled angles into one composite image through a temporary offscreen view, without moving your camera. Pass |
| Generates idle, walk, run, attack, hurt, death and jump cycles. Bone roles (head, body, arms, legs, tail, wings) come from bone names, with X/Z position as a fallback. Four-legged rigs trot when walking and bound when running, and armless creatures attack with a head snap. Any role can be overridden. |
| Reports box UV nets outside the UV canvas or overlapping, texture/UV size mismatches, unpainted faces, cubes outside bones, duplicate bone names, empty groups and left/right names that contradict their position. |
It also fixes two bugs from the original:
delete_offscreen_viewthrewonContextMenu is not definedon Blockbench 5.2 and leaked the view's input listeners.create_texturedid not adopt the first texture's size as the project UV size on box UV formats, as Blockbench's own import does. Box UV nets then addressed a 16x16 area of a larger texture.
In Blockbench editor space a model faces north (-Z), so its own right side is +X. The workflow tools follow that convention.
Related MCP server: Blockbench MCP
Gallery
Lantern Pilgrim
A hooded wanderer with one broken antler, holding a lantern and a staff, in a "Minecraft meets Soulsborne" voxel style. It uses the Generic format with 57 elements and ragged see-through hems on a 512px atlas. The geometry and texture were scripted through risky_eval. The animations come from generate_animation (idle, walk, hurt), and audit_model checked the result.
examples/lantern_pilgrim.bbmodel

Bramble Boar
A Bedrock entity with a quadruped rig, carrying a mossy back, brambles and a mushroom. The whole model took one build_rig call (20 cubes, auto-packed into a 64x128 box UV canvas) and one paint_cube_faces call. The eyes and nostrils are ASCII patterns. generate_animation detected the four legs and produced a trot (walk), a bound (run), an idle and a head-snap attack.

Runebound Golem
A boss-scale Bedrock entity: moss-covered stone with glowing runes, a crystal core and a single eye. It uses the same pipeline at a bigger size, with 21 cubes on a 128x128 canvas. Its five animations are idle, walk, an overhead slam, hurt and death. While it was being built, audit_model caught a hierarchy bug in an early version of build_rig that left most faces unpainted.
examples/runebound_golem.bbmodel

Plugin Installation
Open the desktop version of Blockbench, go to File > Plugins, click Load Plugin from URL and paste this URL:
https://itsashn.github.io/blockbench-mcp-plus/mcp.js
You can also save that mcp.js file, or build it yourself with bun install && bun run build (output in dist/mcp.js), and use Load Plugin from File. The plugin keeps the original's id (mcp), so it replaces jasonjgardner's plugin rather than running beside it. Uninstall that one first.
Then connect your client, for example Claude Code:
claude mcp add blockbench --transport http http://localhost:3000/bb-mcpModel Context Protocol Servers
This repository contains two MCP server options.
Headless .bbmodel (stdio)
A separate stdio MCP server edits, validates, converts and renders .bbmodel files directly, without Blockbench running. Each agent can start its own process, so several can work in parallel while you keep using the editor. Run it straight from GitHub:
npx -y github:ItsAshn/blockbench-mcp-plus --root ./modelsSee headless/README.md for client configuration, the tool list and limits.
Blockbench Desktop Plugin (HTTP)
Configure the MCP server under Blockbench settings: Settings > General > MCP Server Port and MCP Server Endpoint.
The following installation settings examples use the default values of
:3000/bb-mcp
Installation
The examples below configure the desktop plugin over HTTP and the headless server over stdio. You can use either server or both. HTTP requires Blockbench running with the plugin installed; stdio requires Node.js with npm and starts its own server process.
For headless examples, replace /path/to/models with an absolute path to your model directory (for example, C:/Users/you/models on Windows). --root is required and limits file access to that directory.
On Windows, clients that cannot launch
npxdirectly should use"command": "cmd"and prepend"/c", "npx"toargs, as shown for Claude Desktop.
# Desktop plugin (HTTP)
npx mcp-add --type http --url "http://localhost:3000/bb-mcp" --scope project
# Headless (stdio)
npx mcp-add --name bbmodel --type stdio --command "npx -y github:ItsAshn/blockbench-mcp-plus --root /path/to/models" --scope project.vscode/mcp.json
{
"servers": {
"blockbench": {
"url": "http://localhost:3000/bb-mcp",
"type": "http"
},
"bbmodel": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"github:ItsAshn/blockbench-mcp-plus",
"--root",
"${input:rootDir}"
]
}
},
"inputs": [
{
"id": "rootDir",
"type": "promptString",
"description": "Root directory for headless Blockbench models",
"default": "${workspaceFolder}/models"
}
]
}claude_desktop_config.json (macOS/Linux)
{
"mcpServers": {
"blockbench": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:3000/bb-mcp"]
},
"bbmodel": {
"command": "npx",
"args": ["-y", "github:ItsAshn/blockbench-mcp-plus", "--root", "/path/to/models"]
}
}
}claude_desktop_config.json (Windows)
{
"mcpServers": {
"blockbench": {
"command": "cmd",
"args": ["/c", "npx", "-y", "mcp-remote", "http://localhost:3000/bb-mcp"]
},
"bbmodel": {
"command": "cmd",
"args": ["/c", "npx", "-y", "github:ItsAshn/blockbench-mcp-plus", "--root", "C:/Users/you/models"]
}
}
}# Desktop plugin (HTTP)
claude mcp add blockbench --transport http http://localhost:3000/bb-mcp
# Headless (stdio)
claude mcp add bbmodel --transport stdio -- npx -y github:ItsAshn/blockbench-mcp-plus --root /path/to/modelscodex plugin marketplace add jasonjgardner/blockbench-mcp-project --ref codex
codex plugin add blockbench-mcp@blockbench-mcp-projectOr register the servers directly:
# Desktop plugin (HTTP)
codex mcp add blockbench --url http://localhost:3000/bb-mcp
# Headless (stdio)
codex mcp add bbmodel -- npx -y github:ItsAshn/blockbench-mcp-plus --root /path/to/models{
"mcpServers": {
"blockbench": {
"serverUrl": "http://localhost:3000/bb-mcp"
},
"bbmodel": {
"command": "npx",
"args": ["-y", "github:ItsAshn/blockbench-mcp-plus", "--root", "/path/to/models"]
}
}
}cline_mcp_settings.json
{
"mcpServers": {
"blockbench": {
"url": "http://localhost:3000/bb-mcp",
"type": "streamableHttp",
"disabled": false,
"autoApprove": []
},
"bbmodel": {
"type": "stdio",
"command": "npx",
"args": ["-y", "github:ItsAshn/blockbench-mcp-plus", "--root", "/path/to/models"],
"disabled": false,
"autoApprove": []
}
}
}# Desktop plugin (HTTP)
uvx ollmcp -u http://localhost:3000/bb-mcp
# Headless (stdio): register, then start the client
uvx ollmcp mcp add bbmodel -- npx -y github:ItsAshn/blockbench-mcp-plus --root /path/to/models
uvx ollmcpRecommended: jonigl/mcp-client-for-ollama
opencode mcp addChoose a remote server for the desktop HTTP URL, or a local server for the headless command. You can also configure both in opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"blockbench": {
"type": "remote",
"url": "http://localhost:3000/bb-mcp",
"enabled": true
},
"bbmodel": {
"type": "local",
"command": ["npx", "-y", "github:ItsAshn/blockbench-mcp-plus", "--root", "/path/to/models"],
"enabled": true
}
}
}See the OpenCode MCP configuration reference for local and remote server options.
Usage
See sample project for prompt examples.
Skills
Use Agent Skills to orchestrate tool usage.
Extending from another plugin
Other Blockbench plugins can register their own MCP tools through a global MCP_QUEUE, without bundling or importing this plugin. See docs/plugin.md for the API and an example.
Plugins in the official Blockbench plugin repository are not allowed to use AI features, so a plugin that registers MCP tools has to be distributed some other way.
Plugin Development
See CONTRIBUTING.md for detailed instructions on setting up the development environment and how to add new tools, resources, and prompts.
Security
The desktop plugin's HTTP server listens on this computer only (127.0.0.1 and ::1) by default, so http://localhost:3000/bb-mcp works whether a client resolves localhost to IPv4 or IPv6. Requests with a non-loopback Origin or Host header get 403 Forbidden, which keeps web pages, including DNS rebinding attacks, from driving Blockbench through your browser.
To accept connections from other computers (for example a client inside WSL2 without mirrored networking, a VM, or another machine), set Settings > General > MCP Server Host to 0.0.0.0 or :: and reload the plugin. In that mode the Host header is no longer checked, since other computers reach the server by its address, but requests with a non-loopback Origin header are still refused. The server has no authentication: anyone who can reach the port can call every tool, including risky_eval. Only do this on a trusted network and keep your firewall rules restrictive.
risky_eval runs any JavaScript a client sends. To turn it off, clear Settings > General > Enable risky_eval: connected clients stop seeing the tool and its calls are refused.
Credits and license
Built on jasonjgardner/blockbench-mcp-plugin by Jason J. Gardner and its contributors. Licensed under the GNU GPL v3.0, as the original is (see LICENSE). The workflow tools take ideas from sosadly/blockbench-mcp (MIT). No code was copied from it.
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Minecraft builds and skins made by your AI agent, live in your browser tab. Export .schem.
Generate and edit images, video, voice, lip-sync and 3D models from your AI agent.
Connect your AI assistant to Blender for 3D modeling, Geometry Nodes, materials, lighting, animation, rendering and export. Inspect real scenes and viewport images, refine the result and restore checkpoints. OAuth connects your chat to Blender Bridge Desktop on an online Windows 10/11 x64 computer running Blender 4.2+. The chat can run on another device. Requires an active Blender Bridge account; 7-day trial available. AI model access is separate.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI assistants to build Minecraft models, textures, and animations directly inside Blockbench through the Model Context Protocol.4650MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control Blockbench for Minecraft 3D modeling, including project creation, cube placement, UV layout, and texture painting.GPL 3.0
- AlicenseNot gradedqualityAmaintenanceEnables AI-driven creation and editing of Minecraft creature models, textures, and skeletal animations in Blockbench, targeting BetterModel and ModelEngine workflows.5GPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to control Blockbench for 3D modeling, including geometry, UV, texturing, animation, procedural generation, quality gates, and human review via 95 tools over HTTP or stdio.MIT