{
  "name": "tokapps-tdm-mcp",
  "version": "0.2.2",
  "description": "Tokapps Design System MCP — tokens, components, patterns, themes, docs and validators for agents (build-time only).",
  "transport": "stdio",
  "command": {
    "command": "npx",
    "args": [
      "tsx",
      "packages/tdm-mcp/src/server.ts"
    ]
  },
  "buildTimeOnly": true,
  "warning": "Dev/build tooling only. Never run or expose this server in production.",
  "themeControllableTokens": [
    "--tds-accent-hue",
    "--tds-accent-chroma",
    "--tds-radius-scale",
    "--tds-font-weight-heading",
    "--tds-density-scale",
    "--tds-motion-emphasis"
  ],
  "capabilities": {
    "logging": {},
    "resources": {
      "listChanged": true
    },
    "tools": {
      "listChanged": true
    }
  },
  "tools": [
    {
      "name": "search_design_guidance",
      "description": "Ranked keyword search (Persian + English) over docs/*.md, AGENTS.md sections, semantic tokens and themes. Use first to find rules and philosophy before designing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "Free text, Persian or English"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "default": 8
          },
          "kinds": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "doc",
                "component",
                "primitive",
                "pattern",
                "token",
                "theme"
              ]
            },
            "description": "Restrict result kinds (default: doc, token, theme)"
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "search_components",
      "description": "Ranked search over component, primitive and pattern metadata (*.metadata.json). Returns an empty list with a hint when no metadata exists yet.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "default": 8
          },
          "kind": {
            "type": "string",
            "enum": [
              "any",
              "component",
              "primitive",
              "pattern"
            ],
            "default": "any"
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_component",
      "description": "Full description of one component or primitive: metadata, source file list and the semantic tokens it declares. Name is case-insensitive (Button, button, ResponsiveDialog, responsive-dialog).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_component_code",
      "description": "Source code of a component/primitive/pattern (tsx/css by default; include=\"all\" adds types, docs, examples). Output is capped at ~60KB; larger files are listed without content. Read-only: never edit these files.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "include": {
            "type": "string",
            "enum": [
              "main",
              "all"
            ],
            "default": "main"
          },
          "files": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Exact file names to return, e.g. [\"Button.tsx\"]"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_component_metadata",
      "description": "Raw *.metadata.json of a component, primitive or pattern (props, variants, a11y, tokens, usage rules).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_pattern",
      "description": "Layer-4 pattern (e.g. IdeaSubmission, AuthFlow): metadata, composition and code. If no pattern metadata exists yet, returns the planned pattern list from AGENTS.md instead of failing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "withCode": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_tokens",
      "description": "Design tokens from the CSS source of truth. Semantic tokens (layer=semantic) include semanticRole, allowedOn, contrastTarget and supportsThemes. Filter by layer, name prefix, semantic category or free-text query.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "layer": {
            "type": "string",
            "enum": [
              "raw",
              "semantic",
              "component",
              "themes",
              "product-themes"
            ]
          },
          "prefix": {
            "type": "string",
            "description": "CSS variable prefix, e.g. \"--tds-fg\" or \"--tds-space\""
          },
          "category": {
            "type": "string",
            "enum": [
              "color",
              "surface",
              "border",
              "shadow",
              "material",
              "focus",
              "radius",
              "interaction"
            ],
            "description": "Semantic category (restricts to semantic tokens)"
          },
          "query": {
            "type": "string",
            "description": "Substring of name, path, role or note"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "default": 200
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_theme",
      "description": "Product theme metadata (hue, chroma, radiusScale, headingWeight, density, motion, layout) plus the raw theme CSS. Omit id to list all themes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "One of: enterprise, funding, ideation, product-hunt, stories, tokapps"
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "create_theme",
      "description": "GENERATE a new product theme as files without touching shared components: theme.css (only theme-controllable tokens), metadata.json and preview.html. Verifies WCAG contrast (light/dark x normal/high) with the repo token checker; fails if contrast fails. Writes files only when outDir is given (inside the OS tmp dir, or a custom directory that does not overlap packages/*/src); otherwise returns contents only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "kebab-case theme id, e.g. \"marketplace\""
          },
          "nameFa": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "hue": {
            "type": "number",
            "minimum": 0,
            "maximum": 360,
            "description": "OKLCH hue of the accent"
          },
          "chroma": {
            "type": "number",
            "minimum": 0,
            "maximum": 0.37,
            "default": 0.13,
            "description": "OKLCH chroma of the accent"
          },
          "radiusScale": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 1.5,
            "default": 1
          },
          "headingWeight": {
            "type": "number",
            "enum": [
              500,
              600,
              700
            ],
            "default": 700
          },
          "density": {
            "type": "number",
            "minimum": 0.8,
            "maximum": 1.2,
            "default": 1
          },
          "motion": {
            "type": "string",
            "enum": [
              "out",
              "spring",
              "soft"
            ],
            "default": "out"
          },
          "outDir": {
            "type": "string",
            "description": "Directory to write <outDir>/<id>/{theme.css,metadata.json,preview.html}"
          }
        },
        "required": [
          "id",
          "hue"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "validate_rtl",
      "description": "Static RTL check of JSX/TSX/CSS: physical properties (margin/padding/border left|right, left/right positioning, text-align, float, Tailwind ml-/mr-/pl-/pr-/left-/right-), translateX without direction handling, missing dir=\"auto\" on user content. Returns line numbers and the logical replacement.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "minLength": 1,
            "description": "JSX/TSX/HTML/CSS source text"
          },
          "filename": {
            "type": "string"
          }
        },
        "required": [
          "source"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "validate_accessibility",
      "description": "Static WCAG 2.2 checks of JSX/HTML: img alt, button names, icon-only buttons, click on non-interactive elements, color-only status, outline removal, positive tabindex, heading skips. Issues carry WCAG criterion ids.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "minLength": 1,
            "description": "JSX/TSX/HTML/CSS source text"
          },
          "filename": {
            "type": "string"
          }
        },
        "required": [
          "source"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "validate_responsive_behavior",
      "description": "Static responsive checks: fixed px widths, missing viewport meta, 100vw/100vh, hard-coded breakpoints, touch targets under 44px, horizontal overflow risks.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "minLength": 1,
            "description": "JSX/TSX/HTML/CSS source text"
          },
          "filename": {
            "type": "string"
          }
        },
        "required": [
          "source"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "validate_agent_output",
      "description": "Final gate before delivery. Rejects changed paths under packages/{tokens,primitives,tuk,patterns,icons,motion,sound,gestures,accessibility}/src, raw colors (hex/rgb/hsl/oklch), gradients (except GradientBorder), non --tds-* or raw-layer tokens, then aggregates RTL, accessibility and responsive validators. Also gates layout rules: dock-required, six slots, ProductDock, identity, dock-search (search key must open a live CommandMenu popup configured through identity.dock.search), dock-apps-bottomsheet (dock apps always open in the dock bottom sheet) and arrival-target (the sign-in arrival must fly the profile image onto the dock account key), plus media-player-kit (audio/podcast playback must use the dock player — the Podcast pattern or playOnDock/dockPlayer; raw <audio>, new Audio(), HTMLAudioElement and third-party player libraries are rejected). Provide sources (path+content) or code; for changedFiles without content, existing repo files are read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "changedFiles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Paths the agent changed (relative to repo root or absolute)"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "path": {
                  "type": "string"
                },
                "content": {
                  "type": "string"
                }
              },
              "required": [
                "content"
              ],
              "additionalProperties": false
            }
          },
          "code": {
            "type": "string",
            "description": "A single code snippet to validate"
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "suggest_components_for_page",
      "description": "Given a page description (Persian or English), returns ranked recommendations: Patterns first (product pages must use Patterns), then components, then theme and token advice.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 15,
            "default": 6
          }
        },
        "required": [
          "description"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_mandatory_rules",
      "description": "Non-negotiable TDS rules that apply to EVERY Tokapps site: glass bottom dock with six fixed keys, no competing top nav, top brand logo, project identity, dock apps always in the dock bottom sheet, the dock search key opening a live search popup, audio/podcast playback only through the dock player (Podcast pattern or playOnDock — never a local <audio> player), the sign-in arrival showing the user data and landing the profile image on the dock account key, calendar via the kit, semantic tokens, RTL/a11y. Call before designing any page.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_changelog",
      "description": "Release changelog of the TDS packages, newest first (source: CHANGELOG.md, the same content as the /changelog page). Every feature or fix adds an entry under \"Unreleased\". Use to know what changed between versions before upgrading or building on a component.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "description": "Return only this release, e.g. \"v0.2.0\" or \"Unreleased\""
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_persona_presets",
      "description": "Standard persona/tone presets (text and voice), fixed voice invariants, forbidden persona keys, sensitive domains and a copyable definePersona example. Use before writing theme/persona.ts. Source: @tokapps/tokens/persona (ARCH §19).",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "render_persona_agents_md",
      "description": "Renders the locked persona block for the destination project AGENTS.md from a fixed persona definition (theme/persona.ts). Call after the developer has answered the persona questions. Pass agentsMd to get the file content with the block inserted or replaced between tds-persona markers.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "persona": {
            "type": "object",
            "additionalProperties": {},
            "description": "PersonaDefinition object (definePersona input)"
          },
          "agentsMd": {
            "type": "string",
            "description": "Current AGENTS.md content of the destination project"
          }
        },
        "required": [
          "persona"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "render_layout_agents_md",
      "description": "Renders the Generative UI layout block (fixed slot order: summary, widget, footnote, actions; In-line / Side-Panel / Full Canvas thresholds) for the destination project AGENTS.md. Pass layout to override thresholds within limits; pass agentsMd to get the file content with the block inserted or replaced.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "layout": {
            "type": "object",
            "additionalProperties": {},
            "description": "Optional LayoutRules overrides (slots are fixed)"
          },
          "agentsMd": {
            "type": "string",
            "description": "Current AGENTS.md content of the destination project"
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "validate_generative_layout",
      "description": "Gate for generative UI output (ARCH §21): checks the slot order (summary, widget, footnote, actions), slot limits, empty slots, and that placement (inline, side-panel, full-canvas) and reason match the layout rules for the given decision input.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "decision": {
            "type": "object",
            "properties": {
              "rows": {
                "type": "number"
              },
              "columns": {
                "type": "number"
              },
              "viewport": {
                "type": "number"
              },
              "interactive": {
                "type": "boolean"
              }
            },
            "required": [
              "rows",
              "columns",
              "viewport",
              "interactive"
            ],
            "additionalProperties": false
          },
          "placement": {
            "type": "string",
            "enum": [
              "inline",
              "side-panel",
              "full-canvas"
            ]
          },
          "reason": {
            "type": "string"
          },
          "slots": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slot": {
                  "type": "string",
                  "enum": [
                    "summary",
                    "widget",
                    "footnote",
                    "actions"
                  ]
                },
                "content": {},
                "text": {
                  "type": "string"
                },
                "count": {
                  "type": "number"
                }
              },
              "required": [
                "slot"
              ],
              "additionalProperties": false
            }
          },
          "rules": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "decision",
          "placement",
          "slots"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ],
  "resources": [
    {
      "uri": "tokapps://tokens/semantic",
      "name": "tokens-semantic",
      "description": "Layer-1 semantic tokens with role, allowedOn, contrastTarget, supportsThemes",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://themes/index",
      "name": "themes-index",
      "description": "All product themes (hue, chroma, radius scale, motion, layout)",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/index",
      "name": "components-index",
      "description": "Discovered *.metadata.json entries (empty until Phase 3 metadata exists)",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://rules/mandatory",
      "name": "rules-mandatory",
      "description": "Non-negotiable rules every Tokapps site must follow (dock and its six keys, dock search popup, layout, login arrival landing on the dock account key, identity, tokens)",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://docs/index",
      "name": "docs-index",
      "description": "Markdown documents indexed for design guidance",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://docs/docs-agent-tasks",
      "name": "doc-docs-agent-tasks",
      "description": "docs/AGENT_TASKS.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-tds-architecture",
      "name": "doc-docs-tds-architecture",
      "description": "docs/TDS_ARCHITECTURE.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-tds-color-standard",
      "name": "doc-docs-tds-color-standard",
      "description": "docs/TDS_COLOR_STANDARD.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-tds-layout-research",
      "name": "doc-docs-tds-layout-research",
      "description": "docs/TDS_LAYOUT_RESEARCH.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-tds-layout-standard",
      "name": "doc-docs-tds-layout-standard",
      "description": "docs/TDS_LAYOUT_STANDARD.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-architecture-mcp-remote",
      "name": "doc-docs-architecture-mcp-remote",
      "description": "docs/architecture/mcp-remote.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-superpowers-plans-2026-10-10-dark-mode-token-redesign",
      "name": "doc-docs-superpowers-plans-2026-10-10-dark-mode-token-redesign",
      "description": "docs/superpowers/plans/2026-10-10-dark-mode-token-redesign.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-superpowers-plans-2026-10-16-rich-text-editor",
      "name": "doc-docs-superpowers-plans-2026-10-16-rich-text-editor",
      "description": "docs/superpowers/plans/2026-10-16-rich-text-editor.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-superpowers-specs-2026-10-10-dark-mode-token-redesign-design",
      "name": "doc-docs-superpowers-specs-2026-10-10-dark-mode-token-redesign-design",
      "description": "docs/superpowers/specs/2026-10-10-dark-mode-token-redesign-design.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-superpowers-specs-2026-10-10-onboarding-tour-design",
      "name": "doc-docs-superpowers-specs-2026-10-10-onboarding-tour-design",
      "description": "docs/superpowers/specs/2026-10-10-onboarding-tour-design.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-superpowers-specs-2026-10-14-slug-component-design",
      "name": "doc-docs-superpowers-specs-2026-10-14-slug-component-design",
      "description": "docs/superpowers/specs/2026-10-14-slug-component-design.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs-superpowers-specs-2026-10-16-rich-text-editor-design",
      "name": "doc-docs-superpowers-specs-2026-10-16-rich-text-editor-design",
      "description": "docs/superpowers/specs/2026-10-16-rich-text-editor-design.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/docs",
      "name": "doc-docs",
      "description": "docs/دسته_بندی الگوهای سطح_آرایی پروژه_ها.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://docs/agents",
      "name": "doc-agents",
      "description": "AGENTS.md",
      "mimeType": "text/markdown"
    },
    {
      "uri": "tokapps://components/button",
      "name": "components-button",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/checkbox",
      "name": "components-checkbox",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/code-cells",
      "name": "components-code-cells",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/currency-input",
      "name": "components-currency-input",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/date-picker",
      "name": "components-date-picker",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/file-upload",
      "name": "components-file-upload",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/icon-button",
      "name": "components-icon-button",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/input",
      "name": "components-input",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/number-input",
      "name": "components-number-input",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/phone-input",
      "name": "components-phone-input",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/radio",
      "name": "components-radio",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/repeater",
      "name": "components-repeater",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/select",
      "name": "components-select",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/slider",
      "name": "components-slider",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/slug",
      "name": "components-slug",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/split-button",
      "name": "components-split-button",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/switch",
      "name": "components-switch",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/tags-input",
      "name": "components-tags-input",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/textarea",
      "name": "components-textarea",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/zoom-control",
      "name": "components-zoom-control",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/accordion",
      "name": "components-accordion",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/avatar",
      "name": "components-avatar",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/badge",
      "name": "components-badge",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/calendar",
      "name": "components-calendar",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/card",
      "name": "components-card",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/catalog-tile",
      "name": "components-catalog-tile",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/code-block",
      "name": "components-code-block",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/data-table",
      "name": "components-data-table",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/inline-code",
      "name": "components-inline-code",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/kbd",
      "name": "components-kbd",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/table",
      "name": "components-table",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/timeline",
      "name": "components-timeline",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/tree-view",
      "name": "components-tree-view",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/typewriter",
      "name": "components-typewriter",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/typing-code-block",
      "name": "components-typing-code-block",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/empty-state",
      "name": "components-empty-state",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/inline-notice",
      "name": "components-inline-notice",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/progress",
      "name": "components-progress",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/save-status",
      "name": "components-save-status",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/skeleton",
      "name": "components-skeleton",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/toast",
      "name": "components-toast",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/chaptered-audio-player",
      "name": "components-chaptered-audio-player",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/video-player",
      "name": "components-video-player",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/breadcrumb",
      "name": "components-breadcrumb",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/command-navigation",
      "name": "components-command-navigation",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/mobile-bottom-navigation",
      "name": "components-mobile-bottom-navigation",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/pagination",
      "name": "components-pagination",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/panel-dock",
      "name": "components-panel-dock",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/segmented-navigation",
      "name": "components-segmented-navigation",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/side-navigation",
      "name": "components-side-navigation",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/sidebar",
      "name": "components-sidebar",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/stepper",
      "name": "components-stepper",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/tabs",
      "name": "components-tabs",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/toolbar",
      "name": "components-toolbar",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/top-navigation",
      "name": "components-top-navigation",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/alert-dialog",
      "name": "components-alert-dialog",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/command-menu",
      "name": "components-command-menu",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/context-menu",
      "name": "components-context-menu",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/dialog",
      "name": "components-dialog",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/drawer",
      "name": "components-drawer",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/modal",
      "name": "components-modal",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/popover",
      "name": "components-popover",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/responsive-dialog",
      "name": "components-responsive-dialog",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/tooltip",
      "name": "components-tooltip",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/param",
      "name": "components-param",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/canvas-surface",
      "name": "components-canvas-surface",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/scroll-area",
      "name": "components-scroll-area",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/article-card",
      "name": "patterns-article-card",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/auth-flow",
      "name": "patterns-auth-flow",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/auth-result",
      "name": "patterns-auth-result",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/campaign-card",
      "name": "patterns-campaign-card",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/chat-panel",
      "name": "patterns-chat-panel",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/device-pairing-qr",
      "name": "patterns-device-pairing-qr",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/dock-apps",
      "name": "patterns-dock-apps",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/experience-article",
      "name": "patterns-experience-article",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/idea-card",
      "name": "patterns-idea-card",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/identifier-form",
      "name": "patterns-identifier-form",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/moderation",
      "name": "patterns-moderation",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/notification-center",
      "name": "patterns-notification-center",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/onboarding",
      "name": "patterns-onboarding",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/otp-verification",
      "name": "patterns-otp-verification",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/pairing-code-display",
      "name": "patterns-pairing-code-display",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/pairing-code-entry",
      "name": "patterns-pairing-code-entry",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/podcast",
      "name": "patterns-podcast",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/podcast-episode-card",
      "name": "patterns-podcast-episode-card",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/product-card",
      "name": "patterns-product-card",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/profile-card",
      "name": "patterns-profile-card",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/property-section",
      "name": "patterns-property-section",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/sso-login",
      "name": "patterns-sso-login",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/forum-home",
      "name": "patterns-forum-home",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/funding-campaign-page",
      "name": "patterns-funding-campaign-page",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/product-leaderboard",
      "name": "patterns-product-leaderboard",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/story-detail-page",
      "name": "patterns-story-detail-page",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://patterns/tool-card",
      "name": "patterns-tool-card",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/inline-editor",
      "name": "components-inline-editor",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    },
    {
      "uri": "tokapps://components/rich-text-editor",
      "name": "components-rich-text-editor",
      "description": "Component/pattern metadata",
      "mimeType": "application/json"
    }
  ]
}
