Skip to main content
Glama

figma_foundations

Create or update Design System foundations in the open Figma file: variables, text, colour, effect and grid styles, idempotent by name.

Instructions

Create or update Design System foundations in the open file: a variable collection (COLOR and FLOAT variables, e.g. "color/brand/deep-teal": "#176B66", "radius/media": 20), text styles, colour styles (a hex, a gradient, or bound to a colour variable so the style follows the token), effect styles (shadows, layer/background blur) and grid styles (columns, rows, square grid). Idempotent by name. Rescan the DS afterwards.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colorsNo#RRGGBB or #RRGGBBAA
numbersNo
collectionNoTokens
gridStylesNo
textStylesNo
paintStylesNo
effectStylesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses idempotency by name and the required post-step rescan, which is real behavioral context. However, it does not say whether existing styles not mentioned are removed, how name collisions overwrite content, or what permissions/side effects apply to a mutation of the open file.

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?

Front-loaded with the action, followed by a dense enumeration of the five artifact types and two short operational sentences. It is long but nearly every clause maps to a parameter or behavior; only the gradient/edit nuance could be trimmed.

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?

For a seven-parameter, nested, no-output-schema mutation tool this is reasonably complete: it covers all five artifact families, naming/token semantics, idempotency, and the follow-up rescan. It stops short of describing return values or how conflicts with pre-existing styles are resolved, leaving minor gaps.

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 description coverage is only 14%, so the description must compensate and largely does: it defines the variable collection as COLOR/FLOAT variables with naming/value examples ('color/brand/deep-teal': '#176B66', 'radius/media': 20), and clarifies that paint styles may be a hex, a gradient, or bound to a colour variable. This adds genuine meaning beyond the sparse schema, though it never explains the 'numbers' or 'collection' parameters directly.

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 ('Create or update') and resource ('Design System foundations in the open file') and enumerates the five artifacts it manages, which map cleanly onto the top-level schema properties. It does not, however, name or differentiate itself from near siblings such as figma_scan_design_system or figma_execute_plan, so the agent must infer the relationship.

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 by scope ('in the open file') and the trailing 'Rescan the DS afterwards' hints at ordering with the scan tool, but there is no explicit when-to-use/when-not or named alternative. An agent gets a rough sense of context without clear routing.

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