Skip to main content
Glama

Create Prop

create_prop
DestructiveIdempotent

Builds editable Minecraft-style props from natural-language requests, generating cube parts, groups, materials, and a UV atlas in a new Blockbench tab for artist approval.

Instructions

Create a Minecraft-style prop from the user’s natural-language request: bags/backpacks, staffs, swords, shields, furniture, chests, lanterns, or other objects representable by cubes. YOU design a structured PropSpec with 1–128 named cube parts and 1–16 named hex-color materials. There is NO category whitelist or keyword parser. Y is up, front is negative Z, coordinates/pivots must be -128..128 pixels, from < to, rotations in degrees. Organize related parts with group names; include recognizable silhouette and details. This tool builds real geometry, part groups, PNG atlas and UVs in a NEW Blockbench tab. It creates a static prop, not a humanoid or a registered game item. Returns pending_approval; wait for the artist to approve in Blockbench, then poll get_operation. Do not claim emissive materials or gameplay behavior.

Input Schema

NameRequiredDescriptionDefault
specYes
request_idYesUnique operation ID. Reuse the SAME ID and parameters when retrying; never regenerate on a timeout.

Output Schema

NameRequiredDescriptionDefault
okYes
dataNo
errorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.2

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the annotations: it discloses that geometry, part groups, PNG atlas and UVs are generated in a NEW Blockbench tab, that the call returns pending_approval and requires human approval followed by get_operation polling, and it warns not to claim emissive materials or gameplay behavior. The 'creates a new tab' framing is consistent with destructiveHint=true and idempotentHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool does, then constraints, then the async/human-approval caveat. Dense but nearly every clause carries either a hard constraint or a behavioral warning. The listing of prop categories is somewhat enumerable-but-redundant with 'other objects representable by cubes'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nested, 2-parameter creation tool with an output schema, the description supplies the missing operational picture: the approval/polling lifecycle, the scope exclusions, and the design contract (bounds, axes, materials). Nothing an agent needs to call it correctly is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, and the description compensates with real design semantics: 1–128 named cube parts, 1–16 hex-color materials, coordinate/pivot bounds of -128..128, from < to, rotations in degrees, and axis convention (Y up, front negative Z). The 'organize related parts with group names; include recognizable silhouette' guidance adds meaning the schema cannot express. Minor gap: request_id semantics live only in the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource ('Create a Minecraft-style prop') and enumerates the supported object families, then draws explicit boundaries against sibling concerns: 'static prop, not a humanoid or a registered game item.' An agent can distinguish this from create_model, generate_rig, and apply_prop_materials without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operating context — design a PropSpec yourself, no category whitelist or keyword parser, and the follow-up flow is spelled out ('wait for the artist to approve in Blockbench, then poll get_operation'). It doesn't name create_model or apply_prop_materials as the alternative for those cases, so routing for adjacent goals is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.