# Stitch MCP Update Design System

> Updates an existing Stitch Design System's theme, tokens, or guidelines. Requires the asset name from create or list operations.

- Skill: `gabelul/stitch-mcp-update-design-system` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gabelul/stitch-mcp-update-design-system`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabelul/stitch-mcp-update-design-system/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media
- Author: gabelul (https://skillmd.com/u/gabelul)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/gabelul/stitch-mcp-update-design-system

---


# Stitch MCP — Update Design System

Updates an existing Stitch Design System. Use this to modify theme properties, design tokens, or style guidelines without creating a new design system.

## Critical prerequisite

**Only use this skill when the user explicitly mentions "Stitch".**

You must have the design system's asset `name` before calling this. If you don't have one:
- List existing design systems via `stitch-mcp-list-design-systems`
- Or use the `name` returned from `stitch-mcp-create-design-system`

## When to use

- User wants to modify colors, fonts, or roundness of an existing design system
- After reviewing a design system and wanting to adjust specific properties
- Updating design tokens after a brand refresh

## Call the MCP tool

```json
{
  "name": "update_design_system",
  "arguments": {
    "name": "assets/15996705518239280238",
    "projectId": "3780309359108792857",
    "designSystem": {
      "displayName": "SaaS Dashboard Theme v2",
      "theme": {
        "colorMode": "DARK",
        "headlineFont": "GEIST",
        "bodyFont": "GEIST",
        "labelFont": "GEIST",
        "roundness": "ROUND_TWELVE",
        "customColor": "#818CF8"
      }
    }
  }
}
```

## Parameter reference

Three **sibling** top-level arguments — `name` is not nested inside `designSystem`:

| Argument | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | string | **Yes** | Asset identifier **with** the `assets/` prefix, e.g. `assets/15996705518239280238`. Top-level, not inside `designSystem`. |
| `projectId` | string | **Yes** | Bare numeric project id, no `projects/` prefix |
| `designSystem` | object | **Yes** | `{displayName, theme}` — see below |

### `designSystem` — `{displayName, theme}` only

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `displayName` | string | **Yes** | Human-readable name |
| `theme` | DesignTheme | **Yes** | Visual configuration (see `stitch-mcp-create-design-system` for the full field reference) |

> `update_design_system` takes the asset id **prefixed** (`assets/159967...`), while `apply_design_system` takes the same id **bare**. Two tools, same identifier, different formats.

`designTokens` and `styleGuidelines` are **not** accepted — the live API has no such fields on `DesignSystem`. Don't send them.

**Note:** This is a full replacement, not a merge. Include all theme fields you want to keep, not just the ones you're changing.

## Output

Returns the updated Asset object:

```json
{
  "name": "assets/15996705518239280238",
  "displayName": "SaaS Dashboard Theme v2",
  "designSystem": { ... }
}
```

## After updating

- Offer: "Re-apply this updated design system to existing screens?" → `stitch-mcp-apply-design-system`
- Screens generated before the update won't automatically reflect changes — they need to be re-applied

