A Model Context Protocol (MCP) implementation for Storyblok that allows you to manage components through natural language descriptions.
- Create Storyblok components using natural language descriptions
- Update existing components with new fields and properties
- List all available components
- Smart schema generation from descriptions
- Support for various field types (text, richtext, asset, multilink, etc.)
- Clone the repository:
git clone [repository-url]
cd storyblok-mcp- Install dependencies:
npm install- Configure environment variables:
cp .env.example .envEdit .env and add your Storyblok credentials:
STORYBLOK_SPACE_ID: Your Storyblok space IDSTORYBLOK_API_KEY: Your Storyblok API key
Start the MCP server:
npm startCreate components by providing a description with display name and schema:
display:Component Name
schema:
field1 (text)
field2 (richtext)
field3 (asset)
field4 (multilink)
Update components by specifying their ID and new properties:
display:New Display Name
schema:
newField1 (text)
newField2 (richtext)
- text: Simple text field
- textarea: Multi-line text field
- richtext: Rich text editor
- markdown: Markdown editor
- number: Numeric input
- datetime: Date and time picker
- boolean: True/false toggle
- asset: File/image selector
- multilink: Link selector
- bloks: Nested components
Run in development mode with auto-reload:
npm run devRun tests:
npm testTo use this MCP in Cursor, you need to configure it in your Cursor MCP settings:
{
"mcpServers": {
"Storyblok MCP": {
"command": "npx",
"args": [
"tsx",
"/path/to/your/storyblok-mcp/src/main.ts"
],
"env": {
"STORYBLOK_SPACE_ID": "your_space_id",
"STORYBLOK_API_KEY": "your_api_key"
}
}
}
}Replace:
/path/to/your/storyblok-mcpwith the actual path where you cloned this repositoryyour_space_idwith your Storyblok space IDyour_api_keywith your Storyblok API key
After saving the configuration, restart Cursor for the changes to take effect. You can then use natural language commands to manage your Storyblok components directly from Cursor.