Skip to main content
Glama

Add Image

add_image
Destructive

Place a raster or SVG image on the board at (x, y) with explicit width/height in board pixels. data_url MUST be a data:image/(png|jpeg|gif|webp|svg+xml);base64,... string ≤ ~900 kB; hosted URLs are not accepted. Strongly recommended: also pass a tiny thumb_data_url (≤8 kB JPEG/PNG/WebP, ~64 px on the long edge) — it is embedded into the SVG preview so OTHER AI viewers (and you, on later get_preview calls) can actually see the image instead of a placeholder box.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
idNo
widthYes
authorNo
heightYes
board_idYes
data_urlYes
access_keyNo8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock.
thumb_data_urlNo

TDQS

A4.4/5.0
Behavior4/5

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

The description explains the purpose of thumb_data_url (embedded into SVG preview for AI viewers) and clarifies the data_url requirement. It does not mention all side effects (e.g., board modification) but the annotations (destructiveHint: true) already indicate mutability, so there is no contradiction. The preview rationale adds transparency.

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 concise, using two sentences to convey action, constraints, and a recommendation. It is well-structured with clear emphasis on mandatory vs. recommended elements, and includes no redundant information.

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?

The description covers the core purpose, key constraints, and the rationale for the thumbnail option. It lacks details on return values or failure modes, but given the output schema is absent and the tool's purpose is straightforward, it provides sufficient context for typical usage.

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?

The description explicitly details data_url (format and size limit) and thumb_data_url (purpose and size recommendation). Other parameters like x, y, width, height are implied by the placement phrase, and the schema includes a description for access_key. The most complex parameters are well explained.

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 clearly states the action ('Place a raster or SVG image on the board'), specifies the coordinates and size, and differentiates it from sibling tools like add_link and add_text by focusing on image placement with format constraints.

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?

The description provides explicit usage constraints (data_url must be a data URI, size limit, hosted URLs not accepted) and a strong recommendation for thumb_data_url to enable previews. It does not explicitly contrast with alternatives, but the constraints give clear guidance on when and how to use the tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: canvas items (text, image, stroke, link), kanban elements (tasks, columns, lanes), and board-level operations (create, open, preview). Even the two move tools are clearly separated: move for board items and move_task for kanban cards. Descriptions explicitly disambiguate potential overlaps (e.g., add_link vs add_text).

Naming Consistency4/5

Tool names overwhelmingly follow a verb_noun snake_case pattern (add_image, create_column, delete_task, update_task). Minor deviations: 'erase' and 'move' are single-word verbs lacking an explicit object, and 'move' could be confused with 'move_task' without descriptions. Overall the pattern is highly predictable.

Tool Count4/5

25 tools is at the high end but justified by the dual-mode scope (freeform whiteboard and kanban board). Each cluster has a coherent set covering create, read, update, delete, and specialized operations (bulk creation, export, querying, waiting for updates). Slightly heavy but well-scoped.

Completeness4/5

Core workflows for both whiteboard and kanban are covered: CRUD for text, images, tasks, columns, plus preview, export, bulk creation, and filtering. Minor gaps exist: no board rename/delete, no image resize after creation, and no bulk erase, but these can be worked around.