Skip to main content
Glama
neozhehan

Figma Edit MCP

by neozhehan

Get Node Info

node_info
Read-only

Read Figma nodes recursively with property selection, filters, and depth control. Returns requested properties plus resolved variable modes and page error coverage for informed edits.

Instructions

Read one or more nodes — recursive subtree traversal with properties selection, filter, and maxDepth. Returns only the requested properties (incl. resolved boundVariables/explicitVariableModes) under each node's properties key. A node whose containing page could not be read is listed in pageFailedNodes with that page's ID, and the page's structured reason is in coverage.pageErrors — other pages still return normally. The workhorse read; start here before any write.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filterNoOptional filter criteria.
nodeIdsNoArray of node IDs to inspect. If empty, uses editable scope.
maxDepthNoMaximum depth for recursive child traversal. 0 = self only, 1 = self and immediate children, etc.
propertiesNoArray of property names to return (populates each node's `properties` object in the response).
concurrencyLimitNoConcurrency limit for parallel subtree walk (default: 4)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
nodesNoNode entries (id/name/type + optional properties/children/path/descendantCount)
coverageNoPage-scan coverage; partial read data remains usable when complete is false
missingNodeIdsNoRequested IDs that weren't found
pageFailedNodesNoRequested nodes that exist but could not be read because their containing page failed; omitted when none
Behavior5/5

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

Annotations already declare readOnlyHint and openWorldHint, but the description adds significant behavioral detail beyond that: it discloses recursive subtree traversal, that only requested properties are returned, that resolved boundVariables/explicitVariableModes are included, and precisely how failed pages are reported (pageFailedNodes and coverage.pageErrors). This enriches the agent's understanding of the tool's edge cases and return structure.

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 tightly written, leading with the core action and then delivering essential details in a logical order. Each sentence adds value: the first defines scope, the second explains the return format, the third covers error handling, and the final sentence provides usage guidance. No filler or redundant text.

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?

Given the tool's complexity (5 optional parameters, no required ones, output schema present), the description covers the essential contextual aspects: what it operates on, how parameters influence traversal, how partial failures are surfaced, and when to use it. The output schema already handles return value details, so the description's focus on behaviors and edge cases makes it complete.

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?

The input schema already provides 100% description coverage for all five parameters, so the baseline is 3. The description mentions `properties`, `filter`, and `maxDepth` but does not add syntax or format details beyond the schema. The reference to 'resolved boundVariables/explicitVariableModes' relates to output rather than parameter semantics, so the description does not meaningfully elevate parameter understanding beyond 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?

The description uses a specific verb ('Read') and resource ('one or more nodes'), and clearly distinguishes this from sibling tools by calling it 'The workhorse read; start here before any write.' It also outlines key features (properties selection, filter, maxDepth) and return behavior, leaving no ambiguity about what the tool does.

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 clear usage context: 'start here before any write' indicates this is the primary read tool, separating it from write operations. It does not explicitly name alternative tools (e.g., page_info) or state when not to use it, but the 'workhorse' framing strongly implies it as the default read choice.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/neozhehan/figma-edit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server