Blockbench Mcp Overview

jasonjgardner/blockbench-mcp-project/.claude/skills/blockbench-mcp-overview

by jasonjgardnere9c29a93e54bdd9aaa8a308196dfd4147e47d88cNo licenseListed Oct 9, 2026Updated Oct 9, 2026

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.

Instructions onlyAI & Agents
AI-generated overview

Reference overview of the Blockbench MCP server's tools, resources, and prompts for AI-assisted 3D modeling.

What it does
This skill is a documentation-style overview of the Blockbench MCP server, which exposes Blockbench 3D modeling functionality to AI agents. It lists tool categories (animation, camera, cubes, elements, mesh, paint, texture, UI, UV, Hytale), read-only resources with their URI patterns, and reusable prompts. It also provides example workflows for creating models, animating, painting textures, and building PBR materials, plus error-handling notes and best practices. It produces guidance rather than files or code.
When to use it
Use it to understand the full set of Blockbench MCP capabilities, see how tools work together, or start a new Blockbench project. It is also useful as a reference for the available resources and prompts before invoking specific tools.
Requirements
No scripts are included; it is instructions only. It assumes access to a Blockbench MCP server, and some Hytale-specific tools and resources require the Hytale plugin.

Blockbench MCP Overview

Complete guide to the Blockbench MCP server for AI-assisted 3D modeling.

What is Blockbench MCP?

An MCP server that exposes Blockbench functionality to AI agents through:

  • Tools: Actions that create, modify, or query the 3D model
  • Resources: Read-only data endpoints for model information
  • Prompts: Reusable guidance for specific workflows

Tool Categories

DomainToolsPurpose
Animation7Keyframes, rigs, curves, timeline
Camera3Screenshots, camera control
Cubes2Cube creation and modification
Elements5Groups, outliner, duplication
Import1GeoJSON import
Mesh11Spheres, cylinders, extrusion, vertices
Paint12Brushes, fill, shapes, layers
Texture13Textures, PBR materials
UI4Actions, evaluation, dialogs
UV3UV mapping
Hytale12Hytale-specific (requires plugin)

Resources

ResourceURI PatternData
projectsprojects://{id}Project info, formats
texturestextures://{id}Texture metadata
nodesnodes://{id}3D node data
hytale-formathytale://formatHytale format info
hytale-attachmentshytale://attachments/{id}Attachment collections
hytale-pieceshytale://pieces/{id}Attachment pieces
hytale-cubeshytale://cubes/{id}Hytale cube properties

Prompts

PromptPurpose
blockbench_native_apisBlockbench v5.0 API security guide
blockbench_code_eval_safetySafe code evaluation patterns
model_creation_strategyModel creation guidance
hytale_model_creationHytale modeling guide
hytale_animation_workflowHytale animation guide
hytale_attachmentsHytale attachments guide

Quick Start Workflows

Create a Simple Model

# 1. Create projectcreate_project: name="my_model", format="bedrock"
# 2. Create texturecreate_texture: name="skin", width=64, height=64
# 3. Add bone structureadd_group: name="root", origin=[0, 0, 0]add_group: name="body", parent="root", origin=[0, 12, 0]
# 4. Add geometryplace_cube: elements=[{name: "torso", from: [-4, 12, -2], to: [4, 24, 2]}], group="body"
# 5. Apply textureapply_texture: id="torso", texture="skin"
# 6. View resultcapture_screenshot

Create and Animate

# 1. Build model (see above)
# 2. Create animationcreate_animation: name="idle", animation_length=2.0, loop=true
# 3. Add keyframesmanage_keyframes: bone_name="body", channel="rotation",  keyframes=[    {time: 0, values: [0, 0, 0]},    {time: 1.0, values: [0, 5, 0]},    {time: 2.0, values: [0, 0, 0]}  ]
# 4. Play animationanimation_timeline: action="play"

Paint a Texture

# 1. Create texturecreate_texture: name="block", width=16, height=16, fill_color="#8B4513"
# 2. Add detailsdraw_shape_tool: shape="rectangle", start={x: 2, y: 2}, end={x: 14, y: 14}, color="#A0522D"paint_with_brush: coordinates=[{x: 8, y: 8}], brush_settings={color: "#654321", size: 2}
# 3. View textureget_texture: texture="block"

Tool Patterns

Information Gathering

list_outline            # View model hierarchylist_textures           # View textureslist_materials          # View PBR materialshytale_get_format_info  # View Hytale format (if active)

Modification Pattern

Most modification tools follow:

  1. Identify target by ID or name
  2. Specify changes
  3. Changes are recorded for undo

Screenshot Workflow

set_camera_angle: position=[0, 20, 50], rotation=[0, 0, 0], projection="perspective"capture_screenshot      # 3D view onlycapture_app_screenshot  # Entire Blockbench window

Evaluation (Advanced)

risky_eval: code="Cube.all.length"  # Query Blockbench directlytrigger_action: action="undo"       # Trigger Blockbench actions

Domain Integration

Model + Texture

# Create modelplace_cube: elements=[{name: "block", from: [0,0,0], to: [16,16,16]}]
# Create texturecreate_texture: name="block_tex", width=16, height=16
# Paint texturepaint_fill_tool: texture_id="block_tex", x=0, y=0, color="#00FF00", fill_mode="element"
# Applyapply_texture: id="block", texture="block_tex"

Model + Animation

# Create bone hierarchy (important for animation)add_group: name="root", origin=[0, 0, 0]add_group: name="arm", parent="root", origin=[4, 12, 0]
# Add geometry to bonesplace_cube: elements=[{name: "arm_geo", from: [0, 0, -1], to: [2, 10, 1]}], group="arm"
# Animate the bonecreate_animation: name="wave", animation_length=1.0manage_keyframes: bone_name="arm", channel="rotation",  keyframes=[{time: 0, values: [0, 0, 0]}, {time: 0.5, values: [0, 0, 90]}]

PBR Material Workflow

# Create textures for each channelcreate_texture: name="stone_color", width=16, height=16create_texture: name="stone_normal", width=16, height=16, fill_color="#8080FF"create_texture: name="stone_mer", width=16, height=16, fill_color=[0, 0, 200, 255]
# Create materialcreate_pbr_material: name="stone", textures={  color: "stone_color",  normal: "stone_normal",  mer: "stone_mer"}
# Configureconfigure_material: material_id="stone", config={  metalness_emissive_roughness: {metalness: 0, emissive: 0, roughness: 0.9}}

Error Handling

Tools throw descriptive errors with suggestions:

  • Element not found: "Use list_outline tool to see available elements"
  • Texture not found: "Use list_textures tool to see available textures"
  • Invalid format: "Current project is not using a Hytale format"

Best Practices

  1. Query first: Use list_* tools to understand current state
  2. Build hierarchy: Create bone structure before geometry
  3. Set origins: Place group origins at pivot points for animation
  4. Name elements: Use descriptive names for easy reference
  5. Validate: Use hytale_validate_model for Hytale projects
  6. Screenshot: Capture progress with capture_screenshot

Tool Status

  • stable: Production-ready
  • experimental: Working but may change

Most tools are experimental but functional. Check tool annotations for current status.

Source and attribution

Source:jasonjgardner/blockbench-mcp-projectin.claude/skills/blockbench-mcp-overviewat commite9c29a9

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal