Agent skill
blockbench-modeling
Create and edit 3D models in Blockbench using MCP tools. Use when building geometry with cubes, creating meshes, placing spheres/cylinders, editing vertices, extruding faces, or organizing models with groups. Covers both cube-based Minecraft modeling and freeform mesh editing.
Install this agent skill to your Project
npx add-skill https://github.com/jasonjgardner/blockbench-mcp-project/tree/main/skills/blockbench-modeling
SKILL.md
Blockbench Modeling
Build 3D models using cubes and meshes in Blockbench.
Available Tools
Cube Tools
| Tool | Purpose |
|---|---|
place_cube |
Create cubes with position, size, texture |
modify_cube |
Edit cube properties (position, rotation, UV, etc.) |
Mesh Tools
| Tool | Purpose |
|---|---|
place_mesh |
Create mesh with vertices |
create_sphere |
Create sphere mesh |
create_cylinder |
Create cylinder mesh |
extrude_mesh |
Extrude faces/edges/vertices |
subdivide_mesh |
Add geometry detail |
select_mesh_elements |
Select vertices/edges/faces |
move_mesh_vertices |
Move selected vertices |
delete_mesh_elements |
Remove geometry |
merge_mesh_vertices |
Weld nearby vertices |
create_mesh_face |
Create face from vertices |
knife_tool |
Cut edges into faces |
Element Tools
| Tool | Purpose |
|---|---|
add_group |
Create bone/group |
list_outline |
View model hierarchy |
duplicate_element |
Copy elements |
rename_element |
Rename elements |
remove_element |
Delete elements |
Cube Modeling
Place a Cube
place_cube: elements=[{
name: "body",
from: [-4, 0, -2],
to: [4, 12, 2]
}], faces=true # Auto UV
Place Multiple Cubes
place_cube: elements=[
{name: "head", from: [-4, 12, -4], to: [4, 20, 4]},
{name: "arm_left", from: [4, 4, -1], to: [6, 12, 1]},
{name: "arm_right", from: [-6, 4, -1], to: [-4, 12, 1]}
], group="body"
Modify Cube
modify_cube: id="body", rotation=[0, 45, 0], origin=[0, 6, 0]
Cube with Texture
place_cube: elements=[{name: "block", from: [0,0,0], to: [16,16,16]}],
texture="stone", faces=true
Mesh Modeling
Create Sphere
create_sphere: elements=[{
name: "ball",
position: [0, 8, 0],
diameter: 16,
sides: 12
}]
Create Cylinder
create_cylinder: elements=[{
name: "pillar",
position: [0, 0, 0],
diameter: 8,
height: 24,
sides: 12,
capped: true
}]
Extrude Face
select_mesh_elements: mesh_id="pillar", mode="face", elements=["top_face"]
extrude_mesh: mesh_id="pillar", mode="faces", distance=4
Subdivide for Detail
subdivide_mesh: mesh_id="sphere", cuts=2
Move Vertices
select_mesh_elements: mesh_id="mesh1", mode="vertex", elements=["v1", "v2"]
move_mesh_vertices: offset=[0, 2, 0]
Merge Close Vertices
merge_mesh_vertices: mesh_id="mesh1", threshold=0.1
Knife Cut
knife_tool: mesh_id="cube_mesh", points=[
{position: [0, 8, -4]},
{position: [0, 8, 4]}
]
Organization
Create Group Hierarchy
add_group: name="root", origin=[0, 0, 0], rotation=[0, 0, 0]
add_group: name="body", parent="root", origin=[0, 12, 0]
add_group: name="head", parent="body", origin=[0, 24, 0]
Add Cubes to Groups
place_cube: elements=[{name: "torso", from: [-4, 12, -2], to: [4, 24, 2]}],
group="body"
Duplicate Element
duplicate_element: id="arm_left", newName="arm_right", offset=[-8, 0, 0]
View Hierarchy
list_outline # Returns all groups and elements
Common Patterns
Minecraft Character
# Create hierarchy
add_group: name="root", origin=[0, 0, 0]
add_group: name="body", parent="root", origin=[0, 24, 0]
add_group: name="head", parent="body", origin=[0, 24, 0]
add_group: name="arm_left", parent="body", origin=[5, 22, 0]
add_group: name="arm_right", parent="body", origin=[-5, 22, 0]
add_group: name="leg_left", parent="root", origin=[2, 12, 0]
add_group: name="leg_right", parent="root", origin=[-2, 12, 0]
# Add geometry
place_cube: elements=[{name: "head", from: [-4, 24, -4], to: [4, 32, 4]}], group="head"
place_cube: elements=[{name: "body", from: [-4, 12, -2], to: [4, 24, 2]}], group="body"
place_cube: elements=[{name: "arm", from: [-1, 0, -1], to: [1, 10, 1]}], group="arm_left"
place_cube: elements=[{name: "arm", from: [-1, 0, -1], to: [1, 10, 1]}], group="arm_right"
place_cube: elements=[{name: "leg", from: [-2, 0, -2], to: [2, 12, 2]}], group="leg_left"
place_cube: elements=[{name: "leg", from: [-2, 0, -2], to: [2, 12, 2]}], group="leg_right"
Smooth Organic Shape
create_sphere: elements=[{name: "base", position: [0, 8, 0], diameter: 16, sides: 16}]
subdivide_mesh: mesh_id="base", cuts=1
# Select and move vertices to shape
select_mesh_elements: mesh_id="base", mode="vertex"
move_mesh_vertices: offset=[0, 4, 0], vertices=["top_verts"]
Tips
- Use
list_outlineto see current model structure - Set group origins at joint/pivot points for animation
- Use
faces=truefor auto UV mapping on cubes - Create bone hierarchy before adding geometry
- Use
duplicate_elementwith offset for symmetrical parts - Mesh editing is more flexible but cubes are simpler for Minecraft-style models
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
blockbench-hytale
Create Hytale models and animations using Blockbench MCP tools. Use when working with Hytale character/prop formats, creating attachments, setting shading modes, using quads, or animating with visibility keyframes. Requires the Hytale Blockbench plugin to be installed.
blockbench-mcp-overview
Overview of the Blockbench MCP server tools, resources, and prompts. Use to understand the full MCP capability set, learn how tools work together, or when starting a new Blockbench project. Covers all domains (modeling, animation, texturing, PBR, UI, camera) and their MCP interfaces.
blockbench-plugins
Blockbench plugin/extension development for the 3D modeling tool. Use when creating, modifying, or debugging JavaScript plugins for Blockbench including actions, dialogs, panels, menus, toolbars, model manipulation, animation APIs, and custom formats/codecs. Triggers on Blockbench plugin, Blockbench extension, Blockbench API, BBPlugin, model editor plugin, or 3D modeling tool extension.
blockbench-texturing
Create and paint textures in Blockbench using MCP tools. Use when creating textures, painting on models, using brush tools, filling colors, drawing shapes, applying gradients, managing texture layers, or working with UV mapping. Covers pixel art texturing, procedural painting, and UV manipulation.
blockbench-pbr-materials
Create and manage PBR (Physically Based Rendering) materials in Blockbench using MCP tools. Use when working with texture_set.json files, creating normal/height/MER maps, configuring material properties for Minecraft Bedrock RTX, or setting up multi-channel texture workflows.
blockbench-animation
Create and manage animations in Blockbench using MCP tools. Use when animating 3D models, creating keyframes, managing bone rigs, editing animation curves, or working with animation timelines. Covers walk cycles, idle animations, combat animations, and complex multi-bone animations.
Didn't find tool you were looking for?