Skip to main content
Glama

create_canvas

Set up a new blank pixel canvas with custom width, height, color mode, and retro palette, ready for drawing and exporting pixel art textures and tilesets.

Instructions

Initializes a new in-memory pixel canvas with specified dimensions and palette.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoOptional custom ID or name for the canvas
modeNoColor mode (default: indexed)
widthYesCanvas width in pixels (e.g. 16, 32, 64)
heightYesCanvas height in pixels (e.g. 16, 32, 64)
paletteNoRetro palette name to bind to the canvas (default: db32)
backgroundColorNoInitial background color (hex string like #000000 or palette index)
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose that the canvas is in-memory (ephemeral), which is a useful behavioral trait. However, it doesn't mention that the tool likely returns a canvas ID needed for subsequent operations, nor does it describe side effects like overwriting an existing canvas with the same ID. It adds some value but lacks crucial behavioral details.

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

Conciseness5/5

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

The description is a single, efficient sentence that states the action up front and includes the key scope (dimensions, palette). No fluff, no redundancy, and it's easy to parse.

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 tool with no output schema and no annotations, the description should hint at the return value or how the result integrates with sibling tools. It doesn't say that the tool returns a canvas ID, which is essential for using set_pixel, draw_shape, and others. Given the complexity of 6 parameters and the absence of annotation coverage, the description is somewhat incomplete, though the schema covers the parameters.

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 description coverage is 100%, so the schema already documents all parameters including defaults and ranges. The description repeats "dimensions and palette" which adds no new meaning beyond the schema. Since coverage is high, the baseline of 3 applies; the description doesn't compensate for any gaps because there are none.

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?

The description states a specific verb ("Initializes") and a specific resource ("new in-memory pixel canvas") while naming the dimensions and palette as the key inputs. This clearly distinguishes it from siblings like list_canvases, set_pixel, or delete_canvas, which operate on existing canvases rather than creating them.

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

Usage Guidelines3/5

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

The description implies that this tool is the starting point before drawing or modifying a canvas, but it does not explicitly state when to use it or when to use alternatives. There's no mention of "use this before set_pixel" or hints about prerequisites, so guidance is only implied.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/al3duc/text2d-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server