Storyblok MCP Server

$git clone https://github.com/hypescale/storyblok-mcp-server.git && cd storyblok-mcp-server && npm install && npm run build
README.md

A TypeScript Model Context Protocol server for the Storyblok Management API.

Storyblok MCP Server

A TypeScript Model Context Protocol server for the Storyblok Management API. It lets AI assistants and agents manage Storyblok content, workflows, and configuration safely and programmatically.

Why this project

Storyblok is powerful, but repetitive content operations and release workflows can be time-consuming. This server bridges MCP-compatible assistants with Storyblok so teams can:

  • Automate content ops (bulk updates, tagging, assets)
  • Orchestrate releases and workflows with less manual effort
  • Keep component libraries and schemas consistent
  • Give AI agents structured, typed access to Storyblok

Highlights

  • 160 tools across 30 modules mapped to Storyblok Management API capabilities
  • Typed schemas with Zod for safer tool calls
  • MCP-first design for MCP-compatible clients
  • Simple config using environment variables

What it does in 15 seconds

Prompt

Find all stories updated in the last 7 days and tag them as "reviewed".

Response (example)

Found 12 stories updated since 2025-12-28.
Applied tag "reviewed" to 12 stories.

Quick Start

# Clone the repository
git clone https://github.com/hypescale/storyblok-mcp-server.git
cd storyblok-mcp-server

# Install dependencies
npm install

# Build
npm run build

Create a .env file from the example and fill in your credentials:

cp .env.example .env

Then start the server:

npm run start

Requirements

  • Node.js >= 20
  • A Storyblok space with Management + Public/Preview tokens

Configuration

The server requires three environment variables (see .env.example):

STORYBLOK_SPACE_ID=your_space_id
STORYBLOK_MANAGEMENT_TOKEN=your_management_token
STORYBLOK_DEFAULT_PUBLIC_TOKEN=your_public_token

What they are used for:

Variable Description
STORYBLOK_SPACE_ID Your numeric Storyblok space ID
STORYBLOK_MANAGEMENT_TOKEN Management API token with appropriate permissions
STORYBLOK_DEFAULT_PUBLIC_TOKEN Public/Preview token for content delivery

Tip: Use the smallest permission set possible for safety.

Usage with MCP Clients

This server is designed to work with any MCP-compatible client. Here are ready-to-copy configs for popular tools.

Claude Desktop

Show config

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "storyblok": {
      "command": "node",
      "args": ["/path/to/storyblok-mcp-server/dist/index.js"],
      "env": {
        "STORYBLOK_SPACE_ID": "your_space_id",
        "STORYBLOK_MANAGEMENT_TOKEN": "your_management_token",
        "STORYBLOK_DEFAULT_PUBLIC_TOKEN": "your_public_token"
      }
    }
  }
}

Codex CLI / IDE

Show config

Codex supports MCP servers via CLI or by editing ~/.codex/config.toml. The CLI and IDE extension share the same config.

Option A: Configure with the Codex CLI

codex mcp add storyblok \
  --env STORYBLOK_SPACE_ID=your_space_id \
  --env STORYBLOK_MANAGEMENT_TOKEN=your_management_token \
  --env STORYBLOK_DEFAULT_PUBLIC_TOKEN=your_public_token \
  -- node /path/to/storyblok-mcp-server/dist/index.js

Option B: Configure with ~/.codex/config.toml

[mcp_servers.storyblok]
command = "node"
args = ["/path/to/storyblok-mcp-server/dist/index.js"]

[mcp_servers.storyblok.env]
STORYBLOK_SPACE_ID = "your_space_id"
STORYBLOK_MANAGEMENT_TOKEN = "your_management_token"
STORYBLOK_DEFAULT_PUBLIC_TOKEN = "your_public_token"

Cursor

Show config

Create a project config at .cursor/mcp.json (or use the global config at ~/.cursor/mcp.json):

{
  "mcpServers": {
    "storyblok": {
      "command": "node",
      "args": ["/path/to/storyblok-mcp-server/dist/index.js"],
      "env": {
        "STORYBLOK_SPACE_ID": "your_space_id",
        "STORYBLOK_MANAGEMENT_TOKEN": "your_management_token",
        "STORYBLOK_DEFAULT_PUBLIC_TOKEN": "your_public_token"
      }
    }
  }
}

Windsurf

Show config

Create ~/.codeium/mcp_config.json:

{
  "mcpServers": {
    "storyblok": {
      "command": "node",
      "args": ["/path/to/storyblok-mcp-server/dist/index.js"],
      "env": {
        "STORYBLOK_SPACE_ID": "your_space_id",
        "STORYBLOK_MANAGEMENT_TOKEN": "your_management_token",
        "STORYBLOK_DEFAULT_PUBLIC_TOKEN": "your_public_token"
      }
    }
  }
}

VS Code

Sh

Tools (1)

storyblok_management_apiAccess to 160 tools across 30 modules mapped to Storyblok Management API capabilities.

Environment Variables

STORYBLOK_SPACE_IDrequiredYour numeric Storyblok space ID
STORYBLOK_MANAGEMENT_TOKENrequiredManagement API token with appropriate permissions
STORYBLOK_DEFAULT_PUBLIC_TOKENrequiredPublic/Preview token for content delivery

Configuration

claude_desktop_config.json
{"mcpServers": {"storyblok": {"command": "node", "args": ["/path/to/storyblok-mcp-server/dist/index.js"], "env": {"STORYBLOK_SPACE_ID": "your_space_id", "STORYBLOK_MANAGEMENT_TOKEN": "your_management_token", "STORYBLOK_DEFAULT_PUBLIC_TOKEN": "your_public_token"}}}}

Try it

Find all stories updated in the last 7 days and tag them as 'reviewed'.
Bulk update the metadata for all assets in the 'marketing' folder.
Orchestrate a new release by moving all stories in the 'stage' workflow to 'production'.
Check if my component library schemas are consistent across the space.

Frequently Asked Questions

What are the key features of Storyblok MCP Server?

160 tools across 30 modules mapped to Storyblok Management API. Typed schemas with Zod for safer tool calls. Automated content operations including bulk updates and tagging. Release and workflow orchestration. Component library and schema consistency management.

What can I use Storyblok MCP Server for?

Automating repetitive content operations like bulk tagging or asset management. Orchestrating complex release workflows with reduced manual effort. Maintaining consistency across component libraries and schemas. Providing AI agents with structured, typed access to Storyblok CMS data.

How do I install Storyblok MCP Server?

Install Storyblok MCP Server by running: git clone https://github.com/hypescale/storyblok-mcp-server.git && cd storyblok-mcp-server && npm install && npm run build

What MCP clients work with Storyblok MCP Server?

Storyblok MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use Storyblok MCP Server with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free