storybook-mcp
by aransword
README.md
# π Storybook MCP Server π
μ΄ μλ²λ **Model Context Protocol (MCP)** μ ν΅ν΄
AI μμ΄μ νΈ(**Cline, Roo Code, Claude Desktop** λ±)κ°
λ‘컬 **Storybook μ»΄ν¬λνΈ λͺ
μΈλ₯Ό μ§μ μ½κ³ λΆμ**ν μ μλλ‘ λλ λꡬμ
λλ€.
---
## β¨ μ£Όμ κΈ°λ₯ (Core Features)
### π μ€λ§νΈ μ»΄ν¬λνΈ νμ
- `configure.mdx`μ κ°μ λ¨μ λ¬Έμλ μ μΈ
- **μ€μ μ¬μ© μμ(Story)κ° μ‘΄μ¬νλ μ§μ§ UI μ»΄ν¬λνΈλ§** μ λ³νμ¬ λͺ©λ‘ μ 곡
### π Props λͺ
μΈ μΆμΆ
- μ»΄ν¬λνΈμ **Docs νμ΄μ§** λΆμ
- `ArgsTable`μ μ μλ Propsμ
**μ΄λ¦ / μ€λͺ
/ κΈ°λ³Έκ°**μ μ ννκ² μΆμΆ
### π» μμ€ μ½λ μΆμΆ
- Docs νμ΄μ§μ **βShow codeβ λ²νΌμ μλ ν΄λ¦**
- κ° μ€ν λ¦¬λ³ **μ€μ React / JSX ꡬν μμ μ½λ** μμ§
### π§ μλ νκ²½ λμ
- Docs νμ΄ μλ μ»΄ν¬λνΈμ κ²½μ°
**Story(Canvas) νμΌλ‘ μλ μ ν**νμ¬ μ μ°νκ² μ²λ¦¬
---
## βοΈ μ€μΉ λ° μ€μ (Setup)
### 1οΈβ£ μ¬μ μꡬ μ¬ν
- **Node.js** μ€μΉ
- λΆμ λμ νλ‘μ νΈμ **Storybook μ€ν μ€**
- κΈ°λ³Έ URL: `http://localhost:6006`
---
### 2οΈβ£ MCP μ€μ (Configuration)
`claude_desktop_config.json` λλ
VS Codeμ MCP μ€μ νμΌ(Cline μ€μ λ±)μ μλ λ΄μ©μ μΆκ°ν©λλ€.
```json
{
"mcpServers": {
"storybook-mcp": {
"command": "node",
"args": [
"-y",
"@woori-fisa-6th/storybook-mcp"
],
"env": {
"STORYBOOK_URL": "storybook_url_to_access"
}
}
}
}
```
## π§° λꡬ λͺ
μΈ (Tool Definitions)
---
### 1οΈβ£ `list_storybook_components`
**μ€λͺ
**
μ€μ λ Storybook URLμ `index.json`μ λΆμνμ¬
**μ€ν λ¦¬κ° μ‘΄μ¬νλ μ ν¨ μ»΄ν¬λνΈ λͺ©λ‘**μ λ°νν©λλ€.
**λμ λ°©μ**
- `configure.mdx` λ± λ¨μ λ¬Έμ μ€ν 리 μ μΈ
- μ€μ Storyκ° μ‘΄μ¬νλ μ»΄ν¬λνΈλ§ νν°λ§
**λ°ν λ°μ΄ν°**
- `name` : μ»΄ν¬λνΈ μ΄λ¦
- `url` : μ μ κ°λ₯ν Docs λλ Story νμ΄μ§ URL
- `hasDocs` : Docs νμ΄μ§ μ‘΄μ¬ μ¬λΆ (`true | false`)
- `availableStories` : ν¬ν¨λ μ€ν 리 μ΄λ¦ λͺ©λ‘
---
### 2οΈβ£ `analyze_storybook_props`
**μΈμ**
- `url` *(string)* : λΆμν μ»΄ν¬λνΈμ Docs νμ΄μ§ μ£Όμ
**μ€λͺ
**
Puppeteerλ₯Ό μ¬μ©νμ¬ νμ΄μ§κ° μμ ν λ λλ§λ λκΉμ§ λκΈ°ν ν,
`ArgsTable (.docblock-argstable)`μ μ μλ **μ€μ Props μ 보**λ₯Ό μΆμΆν©λλ€.
**λμ λ°©μ**
- Docs ν μλ μ§μ
- Props ν
μ΄λΈ λ λλ§ κ°μ§ ν λ°μ΄ν° μμ§
**λ°ν λ°μ΄ν°**
- `name` : Prop μ΄λ¦
- `description` : Prop μ€λͺ
- `defaultValue` : κΈ°λ³Έκ°
---
### 3οΈβ£ `extract_component_stories`
**μΈμ**
- `url` *(string)* : μ»΄ν¬λνΈ Docs νμ΄μ§ μ£Όμ
**μ€λͺ
**
μ»΄ν¬λνΈμ μ€μ ꡬν μμλ₯Ό μ»κΈ° μν΄
νμ΄μ§ λ΄ λͺ¨λ **βShow codeβ λ²νΌμ μλμΌλ‘ ν΄λ¦**νμ¬
μ€ν λ¦¬λ³ μμ€ μ½λλ₯Ό μμ§ν©λλ€.
**λμ λ°©μ**
- Docs ν μ°μ μλ
- Docsκ° μμ κ²½μ° Canvas(Story) νμΌλ‘ μλ μ ν
- κ° μ€ν 리μ μ½λ λΈλ‘ μΆμΆ
**λ°ν λ°μ΄ν°**
- `stories` : μ€ν 리 λ°°μ΄
- `name` : μ€ν 리 μ΄λ¦
- `code` : ν΄λΉ μ€ν 리μ React / JSX μμ€ μ½λ
---
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues