Skip to main content
Glama
matipojo

simple-storybook-preview-mcp

by matipojo

Simple Storybook Preview MCP

See your components render live inside the IDE as the AI edits them. No switching windows.

Documentation & Live Demo

MCP Apps TypeScript Node 18+

Quick Start

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "storybook-preview": {
      "command": "npx",
      "args": ["-y", "simple-storybook-preview-mcp"],
      "env": {
        "STORYBOOK_URL": "http://localhost:6006"
      }
    }
  }
}

Start your Storybook dev server (npm run storybook), then ask the AI to edit a component — the preview appears automatically.

Related MCP server: Storybook MCP

Configuration

Env Variable

Default

Description

STORYBOOK_URL

http://localhost:6006

Base URL of your running Storybook dev server

DEBUG

false

Set to true or 1 to show a debug log panel

How Story IDs Work

The AI derives story IDs from your Storybook file structure:

title segments lowercased, joined by dashes + double-dash + story export name

"Components/Button" + "Primary" → components-button--primary
"Forms/Input" + "WithLabel"     → forms-input--withlabel

Requirements

  • Node.js 18+

  • Storybook 7+ dev server running

  • IDE with MCP Apps support (e.g. Cursor)

Works with any framework Storybook supports (React, Vue, Angular, Svelte, etc.).

License

MIT

Available Tools

1 tool
render_componentRender ComponentA

Renders a Storybook story in an inline preview panel. Use after editing a component file to show the updated result. The storyId follows Storybook convention: title segments joined by dashes, double-dash before story name (e.g. "example-button--primary" for title "Example/Button", export "Primary").

ParametersJSON Schema
NameRequiredDescriptionDefault
themeNoPreview color scheme. Defaults to the user's OS preference when omitted.
storyIdYesStorybook story ID, e.g. "example-button--primary". Derived from the story title and export name: title segments lowercased and joined by dashes, double-dash before the story export name lowercased.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
storyNo
themeNo
storyIdYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It clearly describes the visible behavior (rendering into an inline preview panel) and implies non-persistent preview behavior. It does not explicitly state side-effect-freeness, but the wording is strong enough for a simple render operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences with no filler. The primary purpose and usage trigger are front-loaded, followed by the parameter convention and example. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, has only two fully documented parameters, and an output schema is present. The description covers what the tool does, when to use it, and the key parameter format. Nothing essential is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the Storybook storyId convention in plain language with an example, and the schema also documents the theme default. This goes beyond what the raw schema alone provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Renders') and names both the resource (a Storybook story) and the delivery mechanism (inline preview panel). It clearly explains what the tool does and includes a concrete example for the storyId format.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use the tool: 'Use after editing a component file to show the updated result.' There are no sibling tools to contrast against, so the absence of explicit alternatives is reasonable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.2
    • First observedrender_component

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool there is no possibility of confusion or overlap with other tools. The single purpose of rendering a Storybook story is clearly defined.

Naming Consistency5/5

The tool name 'render_component' follows a clear verb_noun pattern, which is consistent and predictable. Even as a lone tool, the naming convention is clear and readable.

Tool Count3/5

A single tool for a very narrow 'simple storybook preview' purpose is borderline. It is not trivial, but the surface feels thin and lacks supplementary functionality that might be expected in a fuller server.

Completeness4/5

The tool fully covers the core rendering action, and the convention-based storyId allows agents to target stories. A notable gap is the absence of a discovery mechanism to list available stories or validate storyIds, but for a 'simple' preview server this is a minor limitation.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers