Skip to main content
Glama
kicholiz

Figma Write Bridge MCP

by kicholiz

get_variable

Read one Figma variable's values in every mode by ID, publish key, or name; disambiguate with a collection and get raw plus alias-resolved values.

Instructions

Read one variable's values in EVERY mode. Find it by variableId, by publish key, or by name (if the name is not unique, pass collectionId/collectionName to disambiguate). Returns valuesByMode / valuesByModeName (raw values, aliases as {type:"VARIABLE_ALIAS",id}) plus resolvedValuesByMode / resolvedValuesByModeName that follow aliases to a concrete value (colors as hex) with cycle/unresolved markers if needed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyNoThe variable's publish key.
nameNoThe variable's name (exact, or unique partial).
variableIdNoThe variable's id (from list_variables).
collectionIdNoDisambiguate an ambiguous name by collection id.
collectionNameNoDisambiguate an ambiguous name by collection name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the return shape in detail: raw valuesByMode vs resolvedValuesByMode, alias representation as {type:"VARIABLE_ALIAS",id}, hex colors on resolution, and cycle/unresolved markers. That is strong behavioral context for a read tool, though it says nothing about permissions or failure modes.

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?

Two dense sentences, front-loaded with the core action and scope before the lookup and return details. Every clause carries information, though the second sentence is long enough to require careful parsing.

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?

With no output schema, the description fully compensates by describing both raw and resolved return maps, alias encoding, and cycle markers. Coupled with the complete lookup-path coverage, an agent has everything needed to call it correctly.

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?

Schema coverage is already 100%, so baseline is 3, but the description adds meaning beyond the schema by tying name to the disambiguation parameters and clarifying that a name can be exact or unique partial. It doesn't elaborate on key vs variableId tradeoffs, keeping it just above baseline.

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 (Read) and resource (one variable's values) with explicit scope (EVERY mode), and enumerates the three lookup paths (variableId, publish key, name). An agent can distinguish it from list_variables and set_variable_values without opening any schema.

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?

Gives clear conditions for each lookup path and explains the disambiguation path (pass collectionId/collectionName when the name isn't unique). It stops short of naming alternatives like list_variables for enumeration, but the when-to-use context is explicit.

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