Skip to main content
Glama
LeoGCode

figma-reader-mcp

by LeoGCode

figma_locate

Read-only

Look up multiple Figma node IDs in one call and report whether each is found, missing, or invalid, with type, name, page, and path when available.

Instructions

Look up a list of node ids in one call, such as the ids a document or an earlier answer cites. One entry per id, in the order given, with the id written 12:34 whichever spelling was passed: {id, found: true, type, name, page, path} for a node the file has (path from the page down, as figma_get_node gives it), {id, found: false} for one it has not, and {id, error} for a string that is not a node id. found, missing and invalid count the entries. found: false is said only of a file that was read: one that cannot be read fails the whole call. Where path does not split on ' / ' into its names, pathIds follows it: one id per name, page first. Dated by exportedAt and account, or fileModifiedAt for a file read from disk, as the server's instructions say (figma-reader help on the command line).

Input Schema

NameRequiredDescriptionDefault
fileYesA local .fig path, a Figma file key or a figma.com/design/... URL (see the server's instructions, or figma-reader help)
refreshNoExport the live file again rather than read a local or cached copy (see the server's instructions, or figma-reader help)
node_idsYesThe node ids to look up, like 12:34 (or 12-34)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.2

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish readOnlyHint and openWorldHint, but the description adds substantial behavioral detail beyond them: the per-entry result shapes ({id, found: true, ...} vs {id, found: false} vs {id, error}), the fact that missing and invalid entries are counted rather than thrown, and the crucial failure mode that an unreadable file fails the whole call. This is genuinely useful context the annotations do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the body is dense, run-on and awkwardly phrased ('found, missing and invalid count the entries', 'is said only of a file that was read'), forcing re-reads to extract the semantics. The information is valuable but not economically expressed.

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?

With no output schema, the description carries the burden of explaining return values and does so in detail, including found/missing/invalid shapes, pathIds fallback behavior, and timestamp provenance. Remaining gaps are minor, mostly around the refresh parameter's caching implications.

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 the schema already documents file, refresh and node_ids; baseline is 3. The description adds only the id spelling variants ('12:34 or 12-34') and timestamp semantics, which is marginal beyond what the schema provides for the two primary parameters.

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?

The opening sentence states a specific verb+resource ('Look up a list of node ids in one call') and the batch nature separates it from the single-node figma_get_node, which it references by name. It is clear what the tool does, though the sibling differentiation is incidental rather than an explicit routing statement.

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?

'such as the ids a document or an earlier answer cites' gives a concrete usage context, so the agent can infer when this applies. However, there is no explicit guidance on when to prefer this over figma_get_node or figma_search, and no stated prerequisites beyond the passing reference to the server's instructions.

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