Skip to main content
Glama
stevebrownlee

storybook-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STORYBOOK_URLNoURL of the running Storybook instance (default: http://localhost:6006)http://localhost:6006
STORYBOOK_FRAMEWORKNoComponent framework used (e.g., react, vue) (default: react)react
STORYBOOK_STYLE_TECHNoStyling technology used (e.g., tailwind, css) (default: tailwind)tailwind
STORYBOOK_TYPESCRIPTNoWhether TypeScript is used (true/false) (default: true)true
STORYBOOK_COMPONENTS_DIRNoPath to the directory containing Storybook components (relative or absolute)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
storybook_list_componentsA

List all components registered in the running Storybook instance.

Fetches the Storybook index and returns component titles grouped by hierarchy, with their story counts. Optionally filter by a substring.

Args: params (ListComponentsInput): Validated input parameters containing: - search (Optional[str]): Case-insensitive filter substring - response_format (ResponseFormat): 'markdown' or 'json'

Returns: str: Component listing in the requested format.

storybook_get_componentA

Get detailed information about a specific Storybook component.

Returns every story registered under the given title, including story IDs, arg types, default args, and the direct Storybook URL for each.

Args: params (GetComponentInput): Validated input containing: - component_title (str): Exact component title path, e.g. 'Components/Button' - response_format (ResponseFormat): 'markdown' or 'json'

Returns: str: Detailed component information in the requested format.

storybook_create_componentA

Scaffold a new component with Storybook story from a natural-language description.

Generates a component file and a corresponding .stories. file based on the configured framework (React/Vue/Svelte), language (TS/JS), and styling approach. Files are written into the configured STORYBOOK_COMPONENTS_DIR.

Args: params (CreateComponentInput): Validated input containing: - name (str): PascalCase component name - description (str): Natural-language description of the component - category (Optional[str]): Storybook hierarchy category - props (Optional[List[PropDefinition]]): Explicit prop definitions

Returns: str: Summary of the generated files with their full contents.

storybook_compose_viewA

Compose existing Storybook components into a higher-order page or view.

Fetches the Storybook component catalog, resolves the requested (or auto-discovered) child components, then scaffolds a new page/view file that imports and wires them together with layout, props, local state, and event handlers. Optionally generates a Storybook story for the view.

Use storybook_list_components first to see what's available, then storybook_get_component to inspect props/args before composing.

Args: params (ComposeViewInput): Validated input containing: - name (str): PascalCase page/view name, e.g. 'DashboardPage' - description (str): Natural-language description of the page - components (Optional[List[ComponentPlacement]]): Explicit component list - layout (Optional[str]): Layout strategy hint - include_state (bool): Generate useState/handlers (default True) - include_story (bool): Generate a story file (default True) - category (Optional[str]): Storybook category (default 'Pages')

Returns: str: Markdown summary with all generated file contents.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stevebrownlee/storybook-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server