Skip to main content
Glama

figma_set_variables_mode

Idempotent

Switch the active Figma Variables mode for a specific frame or entire page to apply Dark, Light, or Brand themes.

Instructions

Switch the active Figma Variables mode (e.g. Dark Mode, Light Mode, Brand theme) for a specific artboard/frame or the entire page.

Input Schema

NameRequiredDescriptionDefault
scaleNoScreenshot resolution scale (default: 1)
targetNofileName of a specific connected Figma document, when more than one is open (see figma_list_targets).
captureNoWhether to capture a PNG screenshot of the target after switching mode (default: false)
mode_nameYesTarget mode name to activate (e.g. 'Dark', 'Light', 'Compact')
target_idNoTarget node ID (frame/artboard) to set mode on. If omitted, applies to current selection or active page.
collection_nameYesName of the variable collection (e.g. 'Theme', 'Mode', 'Brand')

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare it non-destructive, idempotent, and not open-world, so the safety profile is covered. The description adds scoping (specific node vs entire page) but omits notable behaviors visible in the schema such as the optional screenshot capture side effect and what happens if the mode/collection is not found.

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?

A single front-loaded sentence with no filler; examples are compact and relevant. Slightly under-informative rather than verbose.

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?

No output schema and full schema coverage mean the description needn't explain returns. For a non-destructive, idempotent state-change tool it covers purpose and scope adequately, though it could note prerequisites (connected document, existing collection/mode).

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 all six parameters are already documented. The description only restates the mode concept and scope split, adding no syntax, naming, or format detail beyond the schema.

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?

States a specific verb and resource ('Switch the active Figma Variables mode') plus scope (artboard/frame or entire page), with concrete mode examples. Distinguishable from the read-only sibling figma_get_variables, though it doesn't name it.

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 through the Dark/Light/Brand examples and the artboard-vs-page scope, but there is no explicit when-to-use guidance, no mention of consulting figma_get_variables to discover mode names or figma_list_targets to pick a document.

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