Skip to main content
Glama

figma_screenshot

Read-onlyIdempotent

Capture PNG screenshots of specific Figma nodes or the current selection to inspect layout, contrast, typography, and spacing during visual review.

Instructions

Capture PNG screenshots of specific nodes or the current selection in Figma, to check layout, contrast, typography and spacing. Each image costs ~1k tokens at the default max_px, and stays in context: check mechanical things through write-call warnings or bridge.check first, and take one screenshot per finished stage rather than after every edit. Right after a figma_execute_code edit, put capture_node_ids on that call instead — this tool is then an extra turn.

Input Schema

NameRequiredDescriptionDefault
scaleNoExport resolution scale factor (default: 1).
max_pxNoLongest side of each image in px (default: 1024). Raise only to read fine detail; crop with node_ids instead where possible.
targetNofileName of a specific connected Figma document, when more than one is open (see figma_list_targets).
node_idsNoOptional comma-separated list of Figma node IDs to screenshot (e.g. '123:456, 123:457'). If omitted, captures current selection or entire page.
descriptionNoOptional action description for Figma toast and logs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent, but the description adds genuinely non-obvious behavior: each image costs ~1k tokens at default max_px and stays in context, plus the advice to capture at stage boundaries. That cost/context-persistence disclosure is exactly the kind of thing an agent cannot infer from structured fields.

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?

Three tight sentences, front-loaded with the action and purpose, then cost implications, then the alternative-call routing. No filler; every clause carries operational information.

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?

For a zero-required-parameter capture tool with a fully described schema and annotations covering safety, the description supplies the remaining decision-relevant context: cost per call, context persistence, and the preferred sibling path. Nothing needed to call it correctly appears missing.

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 coverage is 100% and the schema descriptions already explain scale, max_px, target, node_ids and description in detail, so the description adds little parameter-level detail. Its mention of default max_px reinforces cost but does not decode any parameter beyond what the schema states.

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?

States a specific verb and resource ('Capture PNG screenshots of specific nodes or the current selection in Figma') plus the intent (layout, contrast, typography, spacing check), which separates it cleanly from siblings like figma_inspect, figma_read_canvas and figma_get_selection.

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

Usage Guidelines5/5

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

Explicit when-to-use and when-not-to-use guidance: prefer write-call `warnings` or bridge.check for mechanical checks, take one screenshot per finished stage rather than after every edit, and use capture_node_ids on figma_execute_code instead of this tool right after an edit. Alternatives and exclusion conditions are both named.

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