Skip to main content
Glama

Create Model

create_model
DestructiveIdempotent

Turn a natural-language request into an AssetSpec for an editable Bedrock humanoid robot with palette, rig, and idle/walk/attack clips, then return pending approval for Blockbench review.

Instructions

Propose an editable humanoid robot with palette, articulated rig, and idle/walk/attack clips in a NEW Bedrock project tab. Translate natural language into AssetSpec; only robot/bedrock is implemented. Returns pending_approval. Ask the artist to approve in Blockbench, then poll get_operation. Eye color is bright cyan, not an emissive shader.

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

A3.9/5.0
Behavior4/5

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

Beyond the annotations it discloses the key behavioral traits: the asynchronous approval gate (pending_approval), the requirement for human approval in Blockbench, and the follow-up via get_operation. The 'eye color is bright cyan, not an emissive shader' note heads off a likely spec misunderstanding. With destructiveHint=true and idempotentHint=true already declared, the description's only minor gap is not spelling out exactly what state a new project tab mutates.

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?

The core action and destination are front-loaded, and the workflow (approve, then poll) follows logically. Sentences are dense and purposeful, though the trailing eye-color remark is slightly tangential to the invocation itself.

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

Completeness4/5

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

For a nested, async, approval-gated mutation tool, the description covers the essential flow: what is created, that it needs human approval, and how to follow up. Return values are backed by an output schema, so the mention of pending_approval suffices; only the deeper spec-field semantics remain under-explained.

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

Parameters3/5

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

Schema coverage is only 50% and the spec object is large and nested, so the description should compensate more. It touches palette colors and animation clips, but gives no meaning for build, detail, height, template, or namespace fields; request_id's retry semantics are already documented in the schema. Partial, not full, compensation for the coverage gap.

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

Purpose4/5

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

The description states a specific action (propose an editable humanoid robot with palette, articulated rig, and idle/walk/attack clips) and a concrete destination (a NEW Bedrock project tab). It also scopes the tool with 'only robot/bedrock is implemented,' which implicitly distinguishes it from prop/other-template siblings like create_prop, though it never names that sibling explicitly.

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?

It gives clear usage context: the call returns pending_approval, the artist must approve in Blockbench, then you poll get_operation. The 'only robot/bedrock is implemented' clause rules out unsupported targets. It stops short of explicitly routing prop creation to create_prop, so the alternative selection is only implied.

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