Skip to main content
Glama

Get one node

figma_get_node
Read-only

Read a Figma node and its children to a chosen depth, returning normalized DTO data or bounded REST JSON when you need fields other tools omit.

Instructions

One node with its children down to depth, as a normalized DTO (id, name, type, childCount; with includeGeometry also layout, size, position, padding, radius, fill, scrolling). FigJam and Slides nodes also carry what they are: a sticky's or shape's text (200 characters), shapeType, a connector's endpoints and label, a table's size, a slide's row and column; a slide grid or row is opaque (only its box can be read). Depth 0 returns the node alone. Children are capped per node; the count is always reported so a cap is never mistaken for the real structure. format: "rest" returns Figma's own REST JSON for the subtree instead (cut at 200 KB, truncated says so) — for a field the DTO and figma_get_design_context leave out.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
depthNoHow many child levels to include. Default 1.
formatNo"dto" (default) or "rest" (Figma REST JSON, bounded).
nodeIdYesNode id (`12:34` or `12-34`) or a Figma link to the layer. Get ids from figma_get_selection, figma_search_nodes or figma_get_design_context.
sessionNoOptional sessionId or file name, to pick a Figma file when more than one is connected.
includeGeometryNoLayout, size, position, padding, radius, fill. Default true.
maxChildrenPerNodeNoCap on children listed per node. Default 50.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover only the safety profile (readOnly, non-destructive, not open-world), while the description discloses non-obvious behaviors: per-node child capping with an always-reported count so a cap is never mistaken for real structure, depth 0 returning the node alone, opaque slide grids that expose only a box, and 200 KB truncation of REST output with a `truncated` flag.

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?

Front-loaded with the core purpose and dense with non-redundant facts; the DTO field list, cap behavior, and format note each earn their place. The prose is heavy with parentheticals and back-to-back clauses, which costs a little readability but not enough to be wasteful.

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 subtree-read tool with no output schema and a 6-parameter surface, the description covers return shape (DTO fields), special-case node types (sticky, connector, table, slide), capping, opacity, and truncation. An agent has what it needs to call and interpret the result without opening anything else.

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?

Coverage is already 100% in the schema, so the baseline is 3, but the description adds real meaning: `depth` 0 returns the node alone, `maxChildrenPerNode` caps are offset by an always-reported count, and `format` rest returns Figma's own bounded JSON. It stops short of documenting `session` or the accepted `nodeId` forms, which the schema already handles.

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 ('One node with its children down to depth, as a normalized DTO') and enumerates exactly what the DTO carries (id, name, type, childCount, plus geometry fields). It also distinguishes itself from siblings by naming figma_get_design_context and figma_get_selection as sources of ids and as the tools the `rest` format supplements.

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?

Usage is mostly implied through parameter behavior rather than explicit when-to-use guidance. The one clear routing cue is 'format: "rest" ... for a field the DTO and figma_get_design_context leave out,' but there is no statement of when to pick this over figma_get_nodes_info, figma_get_metadata, or figma_get_design_context for a subtree.

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

Deploy Server

Other Tools