Skip to main content
Glama
viantonugroho11

@viantotech/mcp-storybook

compare_versions

Compare two Storybook deployments and get a structured diff showing added, removed, or modified components and prop changes.

Instructions

Compare two Storybook deployments and return structured diff (added/removed/modified components, prop changes).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
baseUrlYes
targetUrlNo
componentsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It states that the tool returns a 'structured diff', which implies a read-only operation, but it does not clarify whether it performs network requests, has rate limits, or requires authentication. It also doesn't specify the format of the diff (e.g., object vs. array) or error conditions (e.g., invalid URLs). This lack of detail could lead an agent to misuse the tool or misjudge side effects.

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?

The description is a single, compact sentence that front-loads the core purpose and output type. It uses efficient wording with no redundant phrases, making it easy to scan quickly. Every word contributes to understanding the tool's function, and the structure is ideal for an AI agent's token budget.

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

Completeness2/5

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

Given that there is no output schema and no annotations, the description must provide sufficient context for an agent to call the tool correctly. It does not explain the exact input requirements (e.g., both URLs optional but one required), the meaning of the diff (e.g., including prop changes), or edge cases like mismatched deployments. The description is too sparse for a tool with 3 parameters and significant complexity from comparing deployments.

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

Parameters2/5

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

The schema covers 0% of parameters via descriptions, so the tool description must compensate, but it only mentions 'two Storybook deployments' and 'baseUrl' is not explained. The description doesn't explain that baseUrl is the baseline deployment and targetUrl is the one to compare against, or that components allows filtering to specific components. The agent cannot infer parameter semantics without opening the schema and making reasonable assumptions, which is risky for a comparison tool.

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 explicitly states the action 'Compare' and the resource 'two Storybook deployments', and specifies the exact output: 'structured diff (added/removed/modified components, prop changes)'. This clearly differentiates from sibling tools like preview_story or get_component, which focus on viewing or fetching individual items rather than comparing versions. The verb-resource pairing is specific and unambiguous.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives like find_stories_by_source_file or get_component_dependencies. It lacks context about typical use cases (e.g., when checking for breaking changes) and does not mention exclusions (e.g., not for comparing token sets, which get_design_tokens might handle). The user must infer usage from the name and description alone, which is insufficient for a tool with many siblings.

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