Skip to main content

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/.

Was this page helpful?

Last reviewed by @jschuyler