Skip to main content
Glama

Render a PNG snapshot

render_snapshot
Read-onlyIdempotent

Renders the diagram, or one part of it, as a PNG image for checking a drawing. Long edge 1568 px (scale 1, default) or 2000 px (scale 2); the background is the theme colour (light by default). It takes at most one of frameId (a frame, or any node, with everything inside it), region ({ x, y, w, h } in diagram coordinates, like get_canvas: the nodes it touches; frames reaching outside it are cut to it) or nodeIds (up to 60 nodes with their children). effectiveScale in the result is the pixels per diagram unit, and warnings lists low_detail below 0.6, where small text is not readable (a part of a large diagram renders with more detail). In a part, an edge to a node outside it is drawn up to just outside the part and listed in clippedEdges (clippedEdgeCount counts them all). Adds the Archboard watermark with watermark: true, or always when the organization’s plan requires it; watermarkStyle and watermarkPosition choose its look and corner, and the result reports what was applied. Returns the image plus { diagramId, width, height, effectiveScale, seq, watermark, watermarkSource, watermarkStyle, watermarkPosition, warnings, animatedEdgeCount, animatedEdges, clippedEdgeCount, clippedEdges, externalImageCount, externalImageNodeIds }; warnings lists watermark_style_adjusted when the requested style was replaced by badge, external_images_placeholder when images that point to an outside URL were drawn as placeholders (add_image imports them), and empty_diagram when the diagram has nothing to draw yet (the image is only the background). The PNG is a still image: animated edges are drawn in their first frame. animatedEdgeCount and animatedEdges [{ id, animation }] (up to 50) list the edges that animate in the editor; an edge animation setting that is not listed has no effect. export_diagram makes image files for the person. Known limits: external and AVIF images render as placeholders, colour emoji render in one colour, text inside nested SVG images is not drawn.

Input Schema

NameRequiredDescriptionDefault
scaleNo1 (default): long edge 1568 px. 2: long edge 2000 px.
themeNoColour theme (default light).
regionNoRender only this area { x, y, w, h } (diagram coordinates): the nodes it touches.
frameIdNoRender only this frame (or any node) and its subtree.
nodeIdsNoRender only these nodes (up to 60) and their children.
diagramIdYesDiagram id (from list_diagrams or create_diagram).
watermarkNoAdd the Archboard watermark. Ignored when the organization’s plan always adds it (watermarkSource "plan").
watermarkStyleNoWatermark style: badge (default: logo, name and domain on a light chip), badge-dark (the same on a dark chip), mark (logo only; replaced by badge when the organization’s plan requires the watermark), band (edge band).
watermarkPositionNoCorner: bottom-right (default), bottom-left, top-right, top-left.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds substantial extra behaviour: the mutual-exclusivity cap ('at most one of frameId, region or nodeIds'), effectiveScale and low_detail warning thresholds, clipping of edges in a partial render, watermark plan override ('always when the organization's plan requires it'), and that the PNG is a still of animated edges. It also enumerates known rendering limits (external/AVIF placeholders, one-colour emoji, nested SVG text), which is exactly the kind of caveat structured fields cannot convey.

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?

Purpose and scale are front-loaded and every clause carries information, but the body is a single dense paragraph with heavy parenthetical nesting and some restatement of enum/scale facts already in the schema. Slightly more structural breaks (scope rules, returns, limits) would improve scanability without losing content.

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

Completeness5/5

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

With no output schema and nine parameters, the description carries the return contract itself: it lists the full result object, explains the meaning of effectiveScale, and decodes each warning code (low_detail, watermark_style_adjusted, external_images_placeholder, empty_diagram). Combined with the documented rendering limits, an agent has everything needed to call this and interpret the result.

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 100%, so the baseline is 3, but the description adds semantics the schema lacks: frameId accepts any node not just a frame, region follows get_canvas coordinates with frames cut to its bounds, and watermark is ignored when the plan forces it (watermarkSource "plan"). The important constraint that only one of the three scope parameters may be used is stated in prose and absent from the schema.

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?

Opens with a specific verb and resource ('Renders the diagram ... as a PNG image') plus scope ('or one part of it') and purpose ('for checking a drawing'). It is clearly distinguished from the closest sibling, export_diagram, which is described as making files 'for the person'.

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?

States the agent-side use case ('for checking a drawing') and explicitly routes human-facing file output to export_diagram, which is a real alternative. It does not, however, address when to prefer show_diagram, get_canvas or viewer_poll, so the alternative-routing is partial rather than exhaustive.

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.