Skip to main content
Glama

Propose a new token

propose_token
Destructive

Validate a new design token's name, scope, type and value, then return a JSON Patch and unified diff preview so a human can review before any file is written.

Instructions

Prepare the addition of a token. Validates the name (lint_naming), collisions, the scope and the value (aliases must exist and have the same type), then returns a preview: the target file, a JSON Patch and a unified diff. Nothing is written unless confirm is true AND the server was started with writes allowed. Default to a preview and let a human review it.

Input Schema

NameRequiredDescriptionDefault
modeNoScope the token to one mode of the brand. Requires brand
pathYesDot path of the new token, for example color.fg.subtle
typeYes
brandNoScope the token to one brand. Omit for a token shared by all brands
valueYesAn alias such as {color.neutral.500} (preferred for semantic tokens) or a literal: #1a73e8, 16px, 1.5
confirmNofalse (default) returns a preview and writes nothing. true writes the file, only after human review
descriptionNoIntent of the token: when to use it. Search and agents rely on it

Output Schema

NameRequiredDescriptionDefault
diffYesUnified diff of the target file
pathYes
patchYesRFC 6902 JSON Patch applied to the target file
statusYes
targetYesToken file that receives the change, relative to the tokens directory
messageYes
warningsYes
violationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations mark this destructive (readOnlyHint=false, destructiveHint=true, idempotentHint=false), and the description adds the crucial guardrail context beyond them: nothing is written unless confirm is true and the server was launched with writes enabled, plus the exact validation sequence and what the preview contains. It also tells the agent the intended workflow (preview, then human review), which annotations alone cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with the purpose, then the validation pipeline, then the write gate, then the recommended workflow. Every sentence carries information an agent needs and none repeats the schema or title verbatim.

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?

Despite having 7 parameters, an output schema and rich annotations, the description still covers the gaps that matter: alias typing rules, the confirm/writes-allowed gate, and how to treat the preview. Nothing needed to invoke it correctly is missing; return-shape detail is rightly left to the output schema.

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 already 86%, so baseline is 3, but the description adds real meaning: value must be an alias that exists and shares the same type, and confirm is the hard gate for the write. It stays silent on brand/mode/description semantics, which the schema already covers.

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 ('Prepare the addition of a token') plus the resource and the exact scope of work: lint_naming validation, collision/scope/value checks, and a preview return of target file, JSON Patch and unified diff. This clearly distinguishes it from siblings like lint_naming (a validation used internally) and search_tokens/resolve_token (read-side tools).

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 operating context ('Default to a preview and let a human review it') and explains the condition that turns it into a write (confirm true AND server started with writes allowed). It does not explicitly name a sibling alternative or spell out when-not-to-use, so it falls short of the top tier but leaves little to infer.

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