storybook-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STORYBOOK_URL | No | URL of the running Storybook instance (default: http://localhost:6006) | http://localhost:6006 |
| STORYBOOK_FRAMEWORK | No | Component framework used (e.g., react, vue) (default: react) | react |
| STORYBOOK_STYLE_TECH | No | Styling technology used (e.g., tailwind, css) (default: tailwind) | tailwind |
| STORYBOOK_TYPESCRIPT | No | Whether TypeScript is used (true/false) (default: true) | true |
| STORYBOOK_COMPONENTS_DIR | No | Path to the directory containing Storybook components (relative or absolute) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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