Skip to main content
Glama

figma_find_components

Read-onlyIdempotent

Locate and inspect components, variants, and property definitions in the active Figma file without flooding LLM context. Returns names, variant values, keys, and IDs for targeted selection.

Instructions

Find and inspect components, component sets, variants, and component property definitions in the active Figma file without flooding LLM context. Returns names, variant values, keys, and IDs.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of components to return to prevent token bloat (default: 30)
queryNoSearch query to filter components by name, description, or variant name (optional, if empty returns all top components)
targetNofileName of a specific connected Figma document, when more than one is open (see figma_list_targets).
page_nameNoOptional page name filter (e.g. '🎨 Design System' or 'Components')
refresh_indexNoForce a fresh scan instead of using the cached component index (normally at most 60s stale — see figma_read_canvas / instructions for how the index works).
include_variantsNoWhether to collect and return all available variant property keys and values (default: true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavior: it enumerates what comes back (names, variant values, keys, IDs) and states the context-protection intent, which matters because there is no output schema.

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?

Two sentences, front-loaded with the verb and resource scope, then the distinguishing constraint and return payload. Nothing is redundant with the title or schema.

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

Completeness4/5

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

For a six-optional-parameter, zero-required read tool with no output schema, the description covers scope and return shape adequately, and cache/index details are correctly delegated to the schema and instructions. Pagination or result-count behavior beyond the limit parameter is not addressed, keeping it from a 5.

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 description coverage is 100%, so every parameter including caching semantics and the variants toggle is already documented. The description adds no syntax, format, or default information beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Uses a specific verb ('Find and inspect') with an enumerated resource set (components, component sets, variants, property definitions) scoped to the active Figma file, which distinguishes it from single-node figma_inspect and from figma_get_variables. It stops short of naming a sibling alternative explicitly, so it lands at 4 rather than 5.

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 implied by the goal statement ('without flooding LLM context') and by the schema pointing to figma_list_targets for the target param and figma_read_canvas for index behavior. The description itself gives no explicit when-to-use / when-not-to-use guidance or named alternatives.

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