Skip to main content
Glama

draw

Generates an original image asset from a text prompt, optionally in a referenced style, with selectable aspect ratio or pixel dimensions for film visuals.

Instructions

Generate an original image asset id from prompt (optionally in the style of an image asset). size: an aspect "9:16" (default, 1080x1920), "2:3", "3:4", "4:5", "1:1", "4:3", "3:2", "16:9", or pixels "WxH" with sides 256-4096. Paid or rate-limited depending on the provider; slow (minutes).

Input Schema

NameRequiredDescriptionDefault
idYes
sizeNo
promptYes
projectYes
style_ref_assetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose two high-value traits: cost ('Paid or rate-limited depending on the provider') and latency ('slow (minutes)'). It does not say what happens when `id` already exists, whether the operation is idempotent or destructive, or what form the result takes — significant gaps for an unannotated generation tool.

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 generation action and its inputs come first, with the cost/latency caveat last; nearly every clause carries information the schema lacks. The size enumeration is long but earns its space given the 0% schema coverage, though the fragmentary phrasing ('size: an aspect ...') reads awkwardly.

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

Completeness3/5

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

For a 5-parameter, unannotated, no-output-schema creation tool, the core semantics and the cost/latency warning are present, but nothing explains the `project` parameter, id-collision behavior, or where the generated asset lands. An agent could call it, but not confidently predict the side effects.

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 0%, so the description must compensate, and it does so well for `size`: it enumerates the accepted aspect strings, gives the default and pixel dimensions, and defines the custom 'WxH' form with a 256–4096 bound. `prompt`, `id`, and `style_ref_asset` are also explained in prose, but `project` is never mentioned at all.

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 opens with a specific verb and resource ('Generate an original image asset `id`'), and the word 'original' plus the optional style reference implicitly separates it from siblings like `edit` and `import_asset`. It never names an alternative sibling explicitly, so the differentiation is inferred rather than stated.

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

Usage Guidelines2/5

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

There is no statement of when to call `draw` versus `edit`, `animate`, or `import_asset` — the agent must guess that 'original' means new-generation rather than modification. No prerequisites (project context, asset id collisions) are mentioned, leaving selection entirely to inference.

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