Loading...
Loading...
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.
npx skill4agent add jasonjgardner/blockbench-mcp-project blockbench-modeling| Tool | Purpose |
|---|---|
| Create cubes with position, size, texture |
| Edit cube properties (position, rotation, UV, etc.) |
| Tool | Purpose |
|---|---|
| Create mesh with vertices |
| Create sphere mesh |
| Create cylinder mesh |
| Extrude faces/edges/vertices |
| Add geometry detail |
| Select vertices/edges/faces |
| Move selected vertices |
| Remove geometry |
| Weld nearby vertices |
| Create face from vertices |
| Cut edges into faces |
| Tool | Purpose |
|---|---|
| Create bone/group |
| View model hierarchy |
| Copy elements |
| Rename elements |
| Delete elements |
place_cube: elements=[{
name: "body",
from: [-4, 0, -2],
to: [4, 12, 2]
}], faces=true # Auto UVplace_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: id="body", rotation=[0, 45, 0], origin=[0, 6, 0]place_cube: elements=[{name: "block", from: [0,0,0], to: [16,16,16]}],
texture="stone", faces=truecreate_sphere: elements=[{
name: "ball",
position: [0, 8, 0],
diameter: 16,
sides: 12
}]create_cylinder: elements=[{
name: "pillar",
position: [0, 0, 0],
diameter: 8,
height: 24,
sides: 12,
capped: true
}]select_mesh_elements: mesh_id="pillar", mode="face", elements=["top_face"]
extrude_mesh: mesh_id="pillar", mode="faces", distance=4subdivide_mesh: mesh_id="sphere", cuts=2select_mesh_elements: mesh_id="mesh1", mode="vertex", elements=["v1", "v2"]
move_mesh_vertices: offset=[0, 2, 0]merge_mesh_vertices: mesh_id="mesh1", threshold=0.1knife_tool: mesh_id="cube_mesh", points=[
{position: [0, 8, -4]},
{position: [0, 8, 4]}
]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]place_cube: elements=[{name: "torso", from: [-4, 12, -2], to: [4, 24, 2]}],
group="body"duplicate_element: id="arm_left", newName="arm_right", offset=[-8, 0, 0]list_outline # Returns all groups and elements# 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"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"]list_outlinefaces=trueduplicate_element