Skip to main content
Glama
arimunandar

figsnap-mcp

by arimunandar

Find layers

figma_find_nodes
Read-only

Find Figma layers by type, name, or text content with optional filters. Search current page, a branch, or entire file in one call, avoiding slow tree traversal.

Instructions

Finds layers by type, by name and by the words in them. Every filter is optional and they narrow together.

This is the cheap way to locate something. Walking with figma_get_tree and figma_get_children costs a round trip per level and returns every sibling; asking here for {types:["INSTANCE"], name:"button"} costs one call. Searches the current page unless you pass nodeId to search inside one branch, or allPages to search the whole file — which is the only way to find something that is not on the page the designer happens to have open.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoSubstring of the layer name, case-insensitive.
textNoSubstring of a text layer’s words, case-insensitive. Implies TEXT.
limitNoMost rows to return. Default 50.
typesNoLayer types to keep. Omit for any type.
nodeIdNoSearch inside this branch instead of the whole page.
allPagesNoSearch every page in the file. Slower, and the answer names the page each row is on.
Install Server

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint and destructiveHint annotations, the description explains that filters are optional and narrow together, that searches target the current page unless overridden, that allPages is slower and includes page names in results, and that text implies TEXT. It even notes cost characteristics relative to other tools. This is rich behavioral context well beyond the annotations.

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 compact but information-dense: three sentences cover purpose, filter behavior, efficiency, scope options, and cost trade-offs. Every sentence earns its place, and the most important facts are front-loaded in the first sentence.

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 read-only search tool with zero required parameters and a fully described schema, the description covers everything needed to invoke it correctly: scope, filter semantics, and performance trade-offs. It does not document the exact return fields, but there is no output schema and the description gives enough about rows and page names to make the behavior expectable.

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 documents all six parameters with complete descriptions, including defaults, constraints, and implications such as 'Implies TEXT' for text. The tool description does not add meaningful parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate.

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: it finds layers by type, name, or contained text. It also explicitly distinguishes itself from tree/children navigation tools, which search layer hierarchies instead of filtering across a scope. The behavior is unambiguous and easy to tell apart from siblings.

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?

The description explicitly contrasts this tool with figma_get_tree and figma_get_children, explaining that this is the cheaper single-call option. It also clarifies scope behavior: current page by default, a specific branch with nodeId, or the whole file with allPages. This gives an agent clear when-to-use conditions and alternatives.

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

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/arimunandar/figsnap-mcp'

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