preset_propose_change
Propose a design system change for human review.
Reference
Parameters
- Name
changeType- Type
- enum · required
- Description
Type of design system change (
token_addition·token_modification·pattern_exception·component_variant·rule_relaxation)
- Name
target- Type
- string · required
- Description
What to change (e.g., "color.brand.accent", "Button") (min 1)
- Name
proposedValue- Type
- unknown · required
- Description
The proposed new value or configuration
- Name
rationale- Type
- string · required
- Description
Why this change is needed — be specific (min 10 chars) (min 10)
- Name
currentValue- Type
- unknown · optional
- Description
The current value being changed
- Name
context- Type
- object · optional
- Description
Additional context
- Name
idempotency_key- Type
- string · optional
- Description
Unique key to prevent duplicate proposals on retry
Returns
{
proposalId UUID of the created proposal
status 'pending' (always starts pending)
changeType Echo of submitted values
target Echo of submitted values
rationale Echo of submitted values
message Confirmation message
}
Description
Propose a design system change for human review.
When generating code that needs a design system change (new token, pattern exception, component variant, rule relaxation), use this tool to submit a structured proposal rather than silently deviating from the design system.
Parameters:
- changeType (required): One of: token_addition, token_modification, pattern_exception, component_variant, rule_relaxation
- target (required): What to change (e.g., "color.brand.accent", "Button", "card-layout pattern")
- proposedValue (required): The proposed new value or configuration (JSON)
- rationale (required): Why this change is needed — be specific
- currentValue (optional): The current value being changed (JSON, for modifications)
- context (optional): Additional context — file path, component name, user intent
Proposals require human approval before taking effect. Use this instead of hardcoding workarounds when the design system doesn't have what you need.
Source
Defined in packages/mcp/src/tools.ts.
The request handler lives alongside its registration in packages/mcp/src/tools/.