--- name: storybook-mcp-integration license: MIT compatibility: "Claude Code 2.1.148+. Optional: @storybook/addon-mcp (Storybook 10.3+, Vite-based only)." description: "Storybook MCP server integration for component-aware AI development. Covers 6 tools across 3 toolsets (dev, docs, testing): component discovery via list-all-documentation/get-documentation, story previews via preview-stories, and automated testing via run-story-tests. Use when generating components that should reuse existing Storybook components, running component tests via MCP, or previewing stories in chat." tags: [storybook, mcp, component-discovery, story-preview, component-testing, a11y, design-system, react] context: fork version: 1.0.0 author: OrchestKit user-invocable: false disable-model-invocation: false complexity: medium persuasion-type: guidance targets: - library: storybook version: ">=10.3.0" metadata: category: document-asset-creation mcp-server: storybook-mcp allowed-tools: - Read - Glob - Grep - WebFetch - WebSearch paths: - ".storybook/**" - "src/**/*.stories.{ts,tsx}" --- # Storybook MCP Integration Use the Storybook MCP server (`@storybook/addon-mcp`) to give agents awareness of a project's actual component library — props, stories, tests, and live previews. ## When to Use - **Component generation** — check existing Storybook components before creating new ones - **Component testing** — run story tests + a11y audits via MCP instead of CLI - **Visual verification** — embed story previews in chat for user confirmation - **Component auditing** — inventory components with full metadata via MCP ## Quick Reference — 6 Tools, 3 Toolsets | Toolset | Tool | Purpose | Key Inputs | |---------|------|---------|------------| | **dev** | `get-storybook-story-instructions` | Guidance on writing stories + interaction tests | none | | **dev** | `preview-stories` | Returns preview URLs for stories (embeddable) | `stories[]: {storyId}` or `{absoluteStoryPath, exportName}` | | **docs** | `list-all-documentation` | Full component + docs manifest index | none | | **docs** | `get-documentation` | Props, first 3 stories, story index, docs | `id` (required), `storybookId` (optional) | | **docs** | `get-documentation-for-story` | Full story source + component docs | `componentId`, `storyName` (required) | | **testing** | `run-story-tests` | Run component + a11y tests, pass/fail + violations | `stories[]` (optional), `a11y` boolean (default true) | ## Prerequisites ```bash # Storybook 10.3+ with Vite builder (no webpack) npx storybook@latest upgrade # Install the addon (current: @storybook/addon-mcp@0.6.0, Apr 2026) npx storybook add @storybook/addon-mcp # Enable docs toolset (required for component discovery) # In .storybook/main.ts: # componentsManifest: true # NOTE: the old `experimentalComponentsManifest` flag was renamed in # Storybook 10.3; it is now `componentsManifest` and default-on. Any # code still passing the `experimental` prefix will warn-then-ignore. # For Chromatic remote setups, use the standalone package instead of # the addon (same tool surface, no local Storybook required): # npm i -D @storybook/mcp # npx storybook-mcp --registry https://chromatic.storybook.cloud # Enable testing toolset (requires addon-vitest) # npx storybook add @storybook/addon-vitest # Register with Claude Code npx mcp-add --type http --url "http://localhost:6006/mcp" --scope project ``` ## Detection Pattern Before using Storybook MCP tools, check availability: ```python # Probe for storybook-mcp tools ToolSearch(query="+storybook list-all-documentation") # If tools found → Storybook MCP is available # If not found → fallback to filesystem-based component discovery ``` ## Rule Details Load rules on demand with `Read("${CLAUDE_SKILL_DIR}/rules/")`: | Rule | Impact | Description | |------|--------|-------------| | `component-discovery` | HIGH | Use list-all-documentation + get-documentation before generating new components | | `story-preview-verification` | HIGH | Embed preview-stories URLs for visual confirmation | | `mcp-test-runner` | CRITICAL | Run run-story-tests with a11y:true after component generation | ## Toolset Selection Filter toolsets via `X-MCP-Toolsets` header to reduce agent context: | Agent Role | Toolsets | Rationale | |------------|----------|-----------| | component-curator | `docs` | Inventory + props only, no testing | | frontend-ui-developer | `dev,docs,testing` | Full access for gen → verify loop | | design-system-architect | `docs` | Component metadata for governance | ## Chromatic Remote Publishing For teams using Chromatic, the docs toolset is publishable remotely: - Published at `https:///mcp` - Only docs toolset available remotely (dev + testing need local Storybook) - Useful for cross-team design system discovery without running Storybook locally ## Graceful Degradation | Storybook MCP | Fallback | Behavior | |---------------|----------|----------| | Available | — | Use MCP tools for component discovery, testing, previews | | Unavailable | Filesystem | `Glob("**/components/**/*.tsx")` + `Grep` for component inventory | | Unavailable | 21st.dev | Search public registry via 21st-dev-magic MCP | | Unavailable | Manual | Claude multimodal analysis of screenshots | ## Related Skills - `storybook-testing` — CSF3 patterns, Vitest integration, Chromatic TurboSnap - `component-search` — 21st.dev registry search (external components) - `design-to-code` — Full mockup-to-component pipeline (uses this skill in Stage 2) - `ui-components` — shadcn/ui + Radix component patterns