Skip to main content
Glama

add_image

Add a PNG, JPEG, GIF, WebP, or SVG image to an Inkboard board from a file or base64 data, with optional width, height, and position settings.

Instructions

Adds an image (PNG, JPEG, GIF, WebP or SVG, 15 MiB at most) from a file (source, under the allowed root) or from base64 data (data_base64). The natural size is reduced to at most 600; w and/or h override it.

Input Schema

NameRequiredDescriptionDefault
hNo
wNo
xNoX of the top-left corner. Defaults to below the existing content.
yNoY of the top-left corner.
pageNoPage: number (from 1) or name. Defaults to the first.
pathNoPath of the board file (.inkboard; .inkboard.json and .tableau.json also accepted). Optional when the application is open: the tool then acts live on the displayed board (undoable with Ctrl+Z).
sourceNoPath of the image file.
data_base64No

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations at all, the description carries the full disclosure burden. It does usefully add the 15 MiB cap, the allowed-root restriction and the 600px natural-size reduction with w/h override, but it says nothing about what is returned, whether the operation is undoable, or what happens when both source and data_base64 are omitted.

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?

Two dense sentences with the resource, format list, size limit and input modes front-loaded; nothing is redundant or padded.

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 an 8-parameter mutation tool with no annotations and no output schema, the description covers formats, size limits, input modes and sizing behavior, with positioning and page semantics delegated to well-described schema fields. Only the return value and no-input fallback behavior are unaccounted for.

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 only 63%, and the description compensates by explaining the undocumented w/h pair as overrides of the auto-reduced natural size and by clarifying that source and data_base64 are alternative image inputs. The positioning (x, y) and page parameters are left entirely to the schema, but those are already documented there.

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 gives a specific verb and resource ("Adds an image") plus the accepted formats and a hard size cap, which is far more informative than the bare name. However, it never differentiates itself from the nearest siblings such as add_icon or add_shape, so an agent must infer that an icon is not an image.

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 "from a file (`source` ...) or from base64 data (`data_base64`)" phrasing implies the two mutually exclusive input modes and that one of them is required despite no required params. There is still no statement of when to choose this over add_icon, nor any prerequisite about an open application or allowed root beyond a parenthetical.

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