MCP server for Storybook integration – browse, inspect, and scaffold components
Project description
Storybook MCP Server
An MCP (Model Context Protocol) server that integrates with a running Storybook instance. It lets AI-powered coding tools browse your component library, inspect individual components, and scaffold brand-new components from natural language.
Features
| Tool | Description |
|---|---|
storybook_list_components |
List & search every component in your running Storybook |
storybook_get_component |
Get stories, arg types, default args, and Storybook URLs for a component |
storybook_create_component |
Scaffold a component + Storybook story from a plain-English description |
storybook_compose_view |
Compose existing components into a higher-order page/view with layout, state, and wiring |
Quick Start
Prerequisites
- Python ≥ 3.10
- A running Storybook instance (v7+)
uvinstalled
1. Install uv if needed (Python Package Manager)
# Install via Homebrew
brew install uv
# Or via curl
curl -LsSf https://astral.sh/uv/install.sh | sh
Note: The storybook-mcp package itself does NOT need to be installed separately. The MCP configuration uses uvx which automatically downloads and runs the package when needed.
Configuration by Editor
Configuration Format A: Project-Relative Paths
Use this configuration for Cursor, Windsurf, Roo Code, and Kilo Code.
{
"mcpServers": {
"storybook": {
"command": "uvx",
"args": ["storybook-mcp"],
"env": {
"STORYBOOK_URL": "http://localhost:6006",
"STORYBOOK_COMPONENTS_DIR": "relative/path/to/your/storybook/components",
"STORYBOOK_FRAMEWORK": "react",
"STORYBOOK_STYLE_TECH": "tailwind",
"STORYBOOK_TYPESCRIPT": "true"
}
}
}
}
Configuration File Locations:
- Cursor:
.cursor/mcp.json(project root - already created in this project) - Windsurf:
.windsurf/mcp.json(project root) - Roo Code:
.roo/mcp.json(project root) - Kilo Code:
.kilocode/mcp.json(project root)
Configuration Format B: Absolute Paths
Use this configuration for Claude Desktop and Claude CLI.
{
"mcpServers": {
"storybook": {
"command": "uvx",
"args": ["storybook-mcp"],
"env": {
"STORYBOOK_URL": "http://localhost:6006",
"STORYBOOK_COMPONENTS_DIR": "/absolute/path/to/frontend/src/apps/core/shared/core-components",
"STORYBOOK_FRAMEWORK": "react",
"STORYBOOK_STYLE_TECH": "tailwind",
"STORYBOOK_TYPESCRIPT": "true"
}
}
}
}
Configuration File Locations:
- Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.json - Claude CLI (Linux/macOS):
~/.config/claude/claude_desktop_config.json - Claude CLI (Windows):
%APPDATA%\Claude\claude_desktop_config.json
Note: Claude Desktop and Claude CLI require absolute paths for STORYBOOK_COMPONENTS_DIR.
Usage Examples
Once configured, you can use natural language commands:
List Components
"List all components in Storybook"
"Show me all button components"
Inspect Component
"Show me the details for the Core/UI/Button component"
"What props does the DataTable accept?"
Create Component
"Create a new AlertBanner component with info, warning, and error variants"
"Build a StatusIndicator component with online/offline/away states"
Compose Page
"Compose a SettingsPage using Sidebar, Tabs, TextInput, Toggle, and Button"
"Build a DashboardView with Card, Chart, DataTable, and Badge components"
Troubleshooting
MCP Server Not Connecting
- ✅ Ensure Storybook is running at http://localhost:6006
- ✅ Restart your editor/CLI after creating/modifying the MCP configuration file
- ✅ Verify
uvis installed:uv --version - ✅ Check that the configuration file is in the correct location for your tool
Components Not Found
- ✅ Check that Storybook is fully loaded in browser
- ✅ Component titles are case-sensitive
- ✅ Use
storybook_list_componentsto see available components
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file storybook_mcp-0.3.1.tar.gz.
File metadata
- Download URL: storybook_mcp-0.3.1.tar.gz
- Upload date:
- Size: 81.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3c901f59dcdac66bb45efc2e598306c4c404aa1a5d5d978447edfc8d742fe91
|
|
| MD5 |
7894f19558ff9d77203a56bf841c4188
|
|
| BLAKE2b-256 |
7bd22e329c39784df0a9d997934dc9ddc9f124f1c7906a41080f813982f33168
|
Provenance
The following attestation bundles were made for storybook_mcp-0.3.1.tar.gz:
Publisher:
publish.yml on stevebrownlee/storybook-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
storybook_mcp-0.3.1.tar.gz -
Subject digest:
b3c901f59dcdac66bb45efc2e598306c4c404aa1a5d5d978447edfc8d742fe91 - Sigstore transparency entry: 948944280
- Sigstore integration time:
-
Permalink:
stevebrownlee/storybook-mcp@a0b927e161de0ce6b3b1f2345c87aa6765973964 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/stevebrownlee
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a0b927e161de0ce6b3b1f2345c87aa6765973964 -
Trigger Event:
push
-
Statement type:
File details
Details for the file storybook_mcp-0.3.1-py3-none-any.whl.
File metadata
- Download URL: storybook_mcp-0.3.1-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e757e6c5ca9e9f98430cb8f05daf550e70b1714bc051ec5ef0d6c264235477e
|
|
| MD5 |
47ca85eb86162f4d47f6f60359960e8f
|
|
| BLAKE2b-256 |
a6a22110554219d12b12b74328fcf6407fa2a576709929c71b4bd23e199f5e52
|
Provenance
The following attestation bundles were made for storybook_mcp-0.3.1-py3-none-any.whl:
Publisher:
publish.yml on stevebrownlee/storybook-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
storybook_mcp-0.3.1-py3-none-any.whl -
Subject digest:
8e757e6c5ca9e9f98430cb8f05daf550e70b1714bc051ec5ef0d6c264235477e - Sigstore transparency entry: 948944331
- Sigstore integration time:
-
Permalink:
stevebrownlee/storybook-mcp@a0b927e161de0ce6b3b1f2345c87aa6765973964 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/stevebrownlee
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a0b927e161de0ce6b3b1f2345c87aa6765973964 -
Trigger Event:
push
-
Statement type: