Skip to main content
Glama
Blyawon

tokensStudioMCP

by Blyawon

apply_theme

Switch a Figma file to a theme and resolve all tokens to concrete values, bypassing the 'Apply' step in Tokens Studio. Handles color, spacing, typography, shadows, and more with optional dry run.

Instructions

Switch the file to a theme and resolve every applied token to its concrete value. Sets the file's activeTheme + usedTokenSet shared plugin data (so Tokens Studio recognizes the switch), then walks the subtree and writes resolved values directly via the plugin — no need to click 'Apply' in Tokens Studio. Supports color (fill/stroke), spacing/padding (all 4 axes), border radius/width, opacity, sizing, composition (auto-expanded into their constituent property writes), typography (font family / weight / size / line-height / letter-spacing — pre-loads fonts in parallel), and shadow (drop / inner via the effects array). Math expressions like {base.size.4} * 2 are evaluated; references are followed (cycle-protected at depth 16). Hidden nodes are skipped by default for both performance and intent. Pass dryRun: true to see what would be written without touching the file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
scopeNo
dryRunNo
nodeIdNo
fileKeyNo
onlyColorNo
setActiveNo
themeNameYes
skipHiddenNo
bindingModeNo
Behavior4/5

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

The description details key behaviors: it sets plugin data, writes resolved values, supports multiple token types (color, spacing, typography, shadow), evaluates math expressions, follows references with cycle protection at depth 16, skips hidden nodes by default, and offers a dryRun mode. However, it does not mention error handling for missing themes or that writing resolved values is destructive and irreversible.

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 description is a dense single paragraph of about 150 words. Every sentence adds value, but it could be more scannable by breaking into sections (e.g., overview, supported properties, parameters). It is not overly verbose given the tool's complexity.

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

Completeness3/5

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

Given the high complexity (10 params, no output schema, no annotations), the description covers core functionality (token resolution, dry run, supported types) but lacks parameter descriptions and usage guidance. It provides a solid baseline but leaves important gaps for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 10 parameters and 0% schema description coverage, the description only explains 'dryRun' ('Pass `dryRun: true`...') and implicitly mentions 'themeName' as required. The other eight parameters (url, scope, nodeId, fileKey, onlyColor, setActive, skipHidden, bindingMode) are not described, leaving the agent to infer their meaning solely from names and schema enums.

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?

The description opens with a specific verb+resource: 'Switch the file to a theme and resolve every applied token to its concrete value.' This clearly states the tool's primary action and scope, distinguishing it from siblings like 'apply_token_remap' which remaps tokens without applying a full theme.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not specify when to use this tool versus alternatives such as 'apply_token_remap' or 'apply_to_variants'. It implies usage for applying themes but gives no guidance on scenarios where a different tool would be more appropriate.

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

Install Server

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/Blyawon/tokensStudioMCP'

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