The Storybook MCP server enables automated extraction of component documentation and custom data from any configured Storybook instance.
List all components - Retrieve a complete list of available components from your Storybook
Extract component props - Get detailed property information for multiple components including names, types, default values, descriptions, and required/optional status
Create custom tools - Define JavaScript-based tools to extract specific information from any Storybook page (e.g., icon lists, color palettes, design tokens)
Headless browser automation - Uses Playwright to navigate and extract structured data from Storybook pages
Flexible integration - Works with any Storybook exposing
index.jsonorstories.json(v3) filesRobust error handling - Includes comprehensive error handling for network issues, missing components, and browser automation failures
Provides specific integration with Adobe's Spectrum Web Components, allowing access to component documentation and icon lists through the MCP server.
Provides tools for extracting component lists, props information, and custom data from Storybook documentation, enabling AI to understand and reference UI component libraries.
Storybook MCP Server
A Model Context Protocol (MCP) server that provides tools to interact with Storybook documentation and component information.
Features
getComponentList: Get a list of all components from a configured Storybook
getComponentsProps: Get detailed props information for multiple components using headless browser automation
Custom Tools: Create custom tools that can extract any information from your Storybook pages using JavaScript
Related MCP server: MCP Server
Installation and Configuration
MCP Settings
Add the following configuration to MCP settings:
Environment Variables
STORYBOOK_URL(required): The URL to your Storybook's index.json fileCUSTOM_TOOLS(optional): JSON array of custom tool definitions for extracting specific information from your Storybook
Usage
The server provides built-in tools and supports custom tools:
Built-in Tools
1. getComponentList
Retrieves a list of all available components from the configured Storybook.
Example:
2. getComponentsProps
Gets detailed props information for multiple components, including:
Property names
Types
Default values
Descriptions
Required/optional status
Parameters:
componentNames(array of strings): Array of component names to get props information for
Example usage:
Custom Tools
You can define custom tools to extract specific information from your Storybook pages. Each custom tool can:
Navigate to any page in your Storybook
Execute custom JavaScript to extract data
Return structured data to the AI assistant
Custom Tool Structure:
Example Custom Tools:
For more examples and detailed documentation, see examples/custom-tools-example.md.
Example
Set Spectrum storybook-mcp config with STORYBOOK_URL and CUSTOM_TOOLS environment variables.
How it works
Component List: The server fetches the Storybook's
index.jsonfile(v3 isstories.json) and extracts all components marked as "docs" typeProps Information: For component props, the server:
Finds the component's documentation ID from the index.json
Constructs the iframe URL for the component's docs page
Uses Playwright to load the page in a headless browser
Extracts the props table HTML from the documentation
Supported Storybook URLs
The server works with any Storybook that exposes an index.json file(v3 is stories.json). Common patterns:
https://your-storybook-domain.com/index.jsonhttps://your-storybook-domain.com/storybook/index.json
Development
Local Development
Clone the repository
Install dependencies:
yarn installInstall Playwright browsers:
npx playwright install chromiumSet the environment variable:
export STORYBOOK_URL="your-storybook-url"Run in development mode:
yarn dev
Note: You can also use
npx @modelcontextprotocol/inspector tsx src/index.tsinstead ofyarn devif you prefer.
Building
Testing
Requirements
Node.js 18.0.0 or higher
Chromium browser (automatically installed with Playwright)
Error Handling
The server includes comprehensive error handling for:
Missing or invalid Storybook URLs
Network connectivity issues
Component not found scenarios
Playwright browser automation failures
License
Storybook MCP is MIT licensed.