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.
BY David-Li0406UPDATED Oct 27, 2026
INTENDED FOR◈OpenClawInstall in a listed agent.
instructions.md
---
name: blockbench-modeling
description: 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.
---
# 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_outline` to see current model structure
- Set group origins at joint/pivot points for animation
- Use `faces=true` for auto UV mapping on cubes
- Create bone hierarchy before adding geometry
- Use `duplicate_element` with offset for symmetrical parts
- Mesh editing is more flexible but cubes are simpler for Minecraft-style models
---
name: blockbench-modeling
description: 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.
---
# 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_outline` to see current model structure
- Set group origins at joint/pivot points for animation
- Use `faces=true` for auto UV mapping on cubes
- Create bone hierarchy before adding geometry
- Use `duplicate_element` with offset for symmetrical parts
- Mesh editing is more flexible but cubes are simpler for Minecraft-style models
COMPATIBILITY & REFERENCES
Platform guidance
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.
Creates comprehensive frontend UI/UX designs including user interfaces, design systems, component libraries, responsive layouts, and accessibility implementations. Produces wireframes, mockups, design specifications, and implementation guidelines. Use when designing user interfaces, creating desi...
Expert in building scalable design systems with Atomic Design, design tokens, and theming infrastructure. Use when creating component libraries, implementing dark mode, or establishing typography and color systems. Covers multi-brand support, Storybook-driven development, and accessibility-first ...
Deep CSS analysis tool for understanding specificity, cascade order, inheritance chains, and computed styles. Visualizes CSS complexity and suggests simplifications. Use when debugging specificity issues or understanding CSS behavior.