CLI and MCP server that reads Tokens Studio applied tokens from a Figma URL. Returns a compact tree, a grouped token dictionary, or Figma-MCP-style XML.
25 tools with generally clear naming (verb_noun pattern) and detailed descriptions (avg 180 chars, well above 10-char minimum). However, critical gaps: parameter descriptions are sparse or missing entirely across most tools; input schemas lack type definitions for many parameters (e.g., 'storageConfig' is 'object' with no nested schema); output schemas are completely undocumented; error handling guidance is absent. Tools like get_metadata_with_tokens and get_design_context have rich descriptions but no documented return structure. Security concern: resolve_secret and get_secret_status expose secret resolution without clear permission gates. Composition is strong (tools chain well via file/node IDs), but schema rigor and error recovery patterns are weak.
Apply a token remap plan to a Figma file. Takes a RemapPlan (from propose_remap or built manually) and applies the token changes to every matching node. Returns a summary of applied changes, skipped nodes, and errors.
Apply a Tokens Studio theme to a Figma file. Reads the theme definition from the token catalog, resolves all token values, and applies them to every node in the file that has a matching token. Returns a summary of how many nodes were updated and which properties changed.
Bulk-apply tokens to component variants using a template with placeholder substitution. For example, apply 'color.{variant}' to all variants of a component, substituting the variant axis values into the token path.
Analyze a Figma file to find all nodes that use a specific token, or all nodes with untokenized visual properties. Returns a list of nodes grouped by property, useful for planning token remaps or identifying coverage gaps.
Commit all pending edits to the remote token storage (GitHub, GitLab, etc.). Pushes the working copy changes as a new commit or pull request.
Output schemas completely undocumented. Tools like get_metadata_with_tokens, get_design_context, fetch_token_catalog return complex structures (XML trees, markdown, token dictionaries) with no documented field definitions. LLMs cannot plan downstream calls or extract data reliably.
Parameter descriptions missing or trivial across 18+ tools. Parameters like 'storageConfig' (object type, no nested schema), 'plan' (RemapPlan object, structure undefined), 'template' (string, no format guidance) lack actionable descriptions. LLMs cannot validate inputs or understand constraints.
No error handling guidance. Tools like apply_theme, commit_edits, apply_remap (WRITE operations) have no documented error cases, recovery paths, or retry semantics. Agents cannot distinguish retryable failures from user-fixable ones.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Delete a token from the working copy. Changes are staged locally and can be reviewed with list_pending_edits before committing.
Discard all pending edits in the working copy. Reverts to the last committed state.
Fetch the Tokens Studio token catalog from its configured storage (GitHub, GitLab, URL, etc.). Returns a flat dictionary of all tokens keyed by path (e.g. 'color/primary/base'). Respects the file's storage config and any secrets configured in the MCP server's .env.
Check the status of the WebSocket bridge connection to the Figma plugin. Returns connection state, file key, plugin version, and last activity timestamp.
THE tool for building code from a Figma design — replaces the need for a separate Figma MCP. Returns a compact markdown tree of a node/subtree carrying everything needed to rebuild it: auto-layout (direction, gap, padding, alignment, hug/fill sizing), constraints, fills/strokes/gradients with resolved hex colors, stroke weight, corner radius, effects (shadows/blur), opacity, blend mode, typography (family, weight, size, line-height, tracking), text content, component/instance relationships + variant props — AND the Tokens Studio tokens applied to each node, so generated code can use design-token variables instead of hard-coded values. One line per node; defaults omitted.
STEP 2 of the recommended flow (call `list_tokens` first to see which tokens exist before fetching the whole tree). Returns a Figma MCP-style get_metadata XML tree for a Figma file or node, decorated with Tokens Studio applied tokens on every node. Every element gets a <tokens .../> child; nodes without applied tokens emit <tokens applied="none"/>. The root element carries a token-coverage="<withTokens>/<total>" attribute. Nodes with visual styling (shared styles, raw fills/strokes/effects) but no covering token get an untokenized="fill,stroke,…" attribute on their tokens element. x/y/w/h are omitted by default — pass layout=true if you need them. Composition tokens are stripped by default (they duplicate individual property tokens); pass includeComposition=true to include them. Pass format='tree' for a compact markdown tree (~50% fewer tokens than XML).
Return just the Tokens Studio applied tokens for a single Figma node, as a tiny XML snippet. Untokenized nodes come back as <tokens applied="none"/>.
Check which secrets are configured in the MCP server's environment. Useful for diagnosing authentication issues with token storage providers.
Auto-discover the Tokens Studio storage config from a Figma file. Returns the provider type (github, gitlab, url, jsonbin, etc.), repo/branch/path, and whether secrets are configured. Use this to understand where tokens are stored before calling fetch_token_catalog or other storage-dependent tools.
List all branches in the token storage repository (GitHub, GitLab, etc.). Useful for switching between different token sets or working on feature branches.
List all pending edits in the working copy (token catalog changes staged but not yet committed). Useful for reviewing changes before pushing to the remote storage.
List all themes defined in the token catalog. Themes are groups of token sets that can be applied together.
STEP 1 of the recommended flow. List all Tokens Studio tokens in a file, grouped by set and property. Useful for understanding what tokens exist before calling get_metadata_with_tokens or get_design_context.
Pin a Figma file or node as the default target for subsequent tool calls. Useful for reducing repetition when working with a single file.
Suggest a token remap plan to fix untokenized nodes or migrate from one token set to another. Analyzes the file's current token usage and proposes matches between untokenized values and available tokens, or between old tokens and new ones.
Rename a token in the working copy. Optionally updates all nodes in the Figma file that use the old token to use the new path.
Resolve a secret value from the MCP server's environment. Used internally by storage providers to authenticate with GitHub, GitLab, etc.
Add or update a token in the working copy. Changes are staged locally and can be reviewed with list_pending_edits before committing.
Start the WebSocket bridge server (if not already running). The bridge allows the MCP server to communicate with the Figma plugin for write operations.
Suggest tokens from the catalog that match a given value or property. Useful for finding the right token to apply when remapping or filling gaps.
Security: resolve_secret and get_secret_status expose secret resolution without permission gates or audit trail. No documentation of which secrets are safe to expose or how to prevent unauthorized access.
Destructive operations (delete_token, discard_edits, apply_remap with dryRun=false) lack confirmation/dry-run patterns. No guidance on irreversibility or undo mechanisms.