返回市场
故事块MCP服务器

故事块MCP服务器

作者:Kiran168928 星标更新:2025-06-22

项目介绍

<picture> <source media="(prefers-color-scheme: dark)" srcset="./assets/banner_dark.png"> <source media="(prefers-color-scheme: light)" srcset="./assets/banner_white.png"> <img align="center" alt="banner" src="./assets/banner_white.png"> </picture> <div align="center">

Storyblok MCP Server 🚀

Storyblok MCP(模型上下文协议)服务器使您的AI助手能够直接访问和管理您的Storyblok空间、故事、组件、资产、工作流等。

<a href="https://www.storyblok.com/docs/api/management/getting-started" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/documentation-storyblok-blue" alt="documentation" /></a> <a href="https://reactjs.org/"><img alt="Made With React" src="https://img.shields.io/badge/made%20with-python-yellow?style=flat" /></a> <a href="https://github.com/Kiran1689" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/built_with-love-red" alt="built with love badge" /></a> <img src="https://img.shields.io/badge/built_for-developers-dcd4fc" alt="built for developers badge" /></a> <img src="https://img.shields.io/badge/built_for-marketers-bce4fb" alt="built for marketers badge" /></a>

</div>

它能做什么?

通过Storyblok MCP服务器,您的AI助手可以:

  • 创建 - 创建新的故事、组件、资产、数据源、标签、发布、工作流等。
  • 读取 - 读取所有故事、组件、资产、数据源、标签、发布、工作流等。
  • 更新 - 更新现有的或新的故事、组件、资产、数据源、标签、发布、工作流等。
  • 删除 - 删除特定的或所有的故事、组件、资产、数据源、标签、发布、工作流等。

🚀 功能

  • 完整的Storyblok管理:对故事、组件、资产、数据源、标签、发布、工作流等进行CRUD操作。(涵盖一切)
  • 模块化工具:每个Storyblok资源由其自己的工具模块管理,便于扩展和维护。
  • 元工具:在运行时发现所有可用工具及其描述。
  • 异步且快速:基于httpxFastMCP构建,性能高。
  • 基于环境的配置:通过.env安全地管理令牌和空间ID。
  • 批量操作:高效地更新、删除或发布多个资源。

📦 项目结构

├── config.py              # 加载并验证环境配置
├── server.py              # 主入口点,注册所有工具
├── tools/                 # 所有模块化工具实现
│   ├── components.py      # 组件的CRUD和使用
│   ├── stories.py         # 故事的CRUD、批量操作、验证
│   ├── ...                # (资产、标签、发布、工作流等)
│   └── meta.py            # 元工具,用于工具发现
├── utils/
│   └── api.py             # API辅助函数、错误处理、URL生成器
├── .env                   # 您的Storyblok令牌和空间ID
├── pyproject.toml         # Python依赖项
└── README.md              # 此文件

🚀 API覆盖

资源描述
访问令牌管理Storyblok API的访问令牌
活动管理或检索活动日志
审批管理审批工作流
资产管理资产(上传、更新、删除、列出)
资产文件夹管理资产文件夹
分支部署管理分支部署
协作者管理空间中的协作者
组件管理Storyblok组件(CRUD、模式等)
组件文件夹管理组件文件夹
数据源条目管理数据源中的条目
数据源管理数据源(CRUD、条目)
讨论管理讨论和评论
扩展管理Storyblok扩展
字段插件管理自定义字段插件
内部标签管理资产/故事的内部标签
元数据元工具:发现所有可用工具
健康检查健康检查和服务器状态
管道管理内容交付管道
预设管理组件的字段预设
发布管理发布(创建、更新、发布)
发布故事安排故事以供发布
空间管理Storyblok空间设置和信息
空间角色管理空间中的角色和权限
故事管理故事(CRUD、批量操作、验证)
标签管理标签(CRUD、批量关联)
任务管理任务(CRUD、webhook、自动化)
Webhook管理webhook(CRUD、触发)
工作流管理工作流和工作流阶段
工作流阶段管理单个工作流阶段
工作流阶段更改跟踪和管理工作流阶段更改

🪄 可用工具

访问令牌

<details> <summary>管理Storyblok API的访问令牌</summary>
  • retrieve_multiple_access_tokens: 列出所有访问令牌
  • create_access_token: 创建一个新的访问令牌
  • update_access_token: 更新一个已有的访问令牌
  • delete_access_token: 删除一个访问令牌
</details>

活动

<details> <summary>管理或检索活动日志</summary>
  • retrieve_multiple_activities: 列出活动日志
</details>

审批

<details> <summary>管理审批工作流</summary>
  • retrieve_multiple_approvals: 列出审批
  • create_approval: 创建一个新的审批
  • update_approval: 更新一个审批
  • delete_approval: 删除一个审批
</details>

资产

<details> <summary>管理资产(上传、更新、删除、列出)</summary>
  • fetch_assets: 列出资产,并进行过滤
  • get_asset: 获取特定ID的资产
  • delete_asset: 删除一个资产
  • update_asset: 更新一个资产
  • delete_multiple_assets: 删除多个资产
  • bulk_move_assets: 移动多个资产
  • bulk_restore_assets: 恢复多个资产
  • init_asset_upload: 初始化资产上传
  • complete_asset_upload: 完成资产上传
</details>

资产文件夹

<details> <summary>管理资产文件夹</summary>
  • retrieve_multiple_asset_folders: 列出资产文件夹
  • create_asset_folder: 创建一个新的资产文件夹
  • update_asset_folder: 更新一个资产文件夹 -- delete_asset_folder: 删除一个资产文件夹
</details>

分支部署

<details> <summary>管理分支部署</summary>
  • retrieve_multiple_branch_deployments: 列出分支部署
  • create_branch_deployment: 创建一个新的分支部署
  • update_branch_deployment: 更新一个分支部署
  • delete_branch_deployment: 删除一个分支部署
</details>

协作者

<details> <summary>管理空间中的协作者</summary>
  • retrieve_multiple_collaborators: 列出协作者
  • add_collaborator: 添加一个协作者
  • update_collaborator: 更新一个协作者
  • remove_collaborator: 移除一个协作者
</details>

组件

<details> <summary>管理Storyblok组件(CRUD、模式等)</summary>
  • fetch_components: 列出组件,并进行过滤
  • get_component: 获取特定ID的组件
  • create_component: 创建一个新的组件
  • update_component: 更新一个已有的组件
  • delete_component: 删除一个组件
  • get_component_usage: 查找使用该组件的故事
  • retrieve_component_versions: 列出组件的版本
  • retrieve_single_component_version: 获取特定组件版本
  • restore_component_version: 将组件恢复到之前的版本
</details>

组件文件夹

<details> <summary>管理组件文件夹</summary>
  • retrieve_multiple_component_folders: 列出组件文件夹
  • create_component_folder: 创建一个新的组件文件夹
  • update_component_folder: 更新一个组件文件夹
  • delete_component_folder: 删除一个组件文件夹
</details>

数据源条目

<details> <summary>管理数据源中的条目</summary>
  • retrieve_multiple_datasource_entries: 列出数据源条目
  • create_datasource_entry: 创建一个新的数据源条目
  • update_datasource_entry: 更新一个数据源条目
  • delete_datasource_entry: 删除一个数据源条目
</details>

数据源

<details> <summary>管理数据源(CRUD、条目)</summary>
  • retrieve_multiple_data_sources: 列出数据源
  • create_data_source: 创建一个新的数据源
  • update_data_source: 更新一个数据源
  • delete_data_source: 删除一个数据源
</details>

讨论

<details> <summary>管理讨论和评论</summary>
  • retrieve_multiple_discussions: 列出讨论
  • retrieve_specific_discussion: 获取特定讨论
  • retrieve_idea_discussions_comments: 列出想法讨论的评论
  • create_discussion: 创建一个新的讨论
  • retrieve_my_discussions: 列出我的讨论
</details>

扩展

<details> <summary>管理Storyblok扩展</summary>
  • retrieve_all_extensions: 列出所有扩展
  • retrieve_extension: 获取特定扩展
  • create_extension: 创建一个新的扩展
  • update_extension: 更新一个扩展
  • delete_extension: 删除一个扩展
  • retrieve_extension_settings: 获取扩展设置
  • retrieve_all_extension_settings: 列出所有扩展设置
</details>

字段插件

<details> <summary>管理自定义字段插件</summary>
  • retrieve_field_plugins: 列出自定义字段插件
  • retrieve_field_plugin: 获取特定字段插件
  • create_field_plugin: 创建一个新的字段插件
  • update_field_plugin: 更新一个字段插件
  • delete_field_plugin: 删除一个字段插件
</details>

内部标签

<details> <summary>管理资产/故事的内部标签</summary>
  • retrieve_multiple_internal_tags: 列出内部标签
  • create_internal_tag: 创建一个新的内部标签
  • update_internal_tag: 更新一个内部标签
  • delete_internal_tag: 删除一个内部标签
</details>

元数据

<details> <summary>元工具:发现所有可用工具</summary>
  • list_tools: 列出所有可用工具
</details>

健康检查

<details> <summary>健康检查和服务器状态</summary>
  • ping: 检查服务器健康状况
</details>

管道

<details> <summary>管理内容交付管道</summary>
  • retrieve_multiple_branches: 列出分支
  • retrieve_single_branch: 获取特定分支
  • create_branch: 创建一个新的分支
  • update_branch: 更新一个分支
  • delete_branch: 删除一个分支
</details>

预设

<details> <summary>管理组件的字段预设</summary>
  • retrieve_multiple_presets: 列出字段预设
  • retrieve_single_preset: 获取特定预设
  • create_preset: 创建一个新的预设
  • update_preset: 更新一个预设
  • delete_preset: 删除一个预设
</details>

发布

<details> <summary>管理发布(创建、更新、发布)</summary>
  • retrieve_multiple_releases: 列出发布
  • retrieve_single_release: 获取特定发布
  • create_release: 创建一个新的发布
  • update_release: 更新一个发布
  • delete_release: 删除一个发布
</details>

发布故事

<details> <summary>安排故事以供发布</summary>
  • retrieve_multiple_story_schedules: 列出故事安排
  • retrieve_one_story_schedule: 获取特定故事安排
  • create_story_schedule: 创建一个新的故事安排
  • update_story_schedule: 更新一个故事安排
  • delete_story_schedule: 删除一个故事安排
</details>

空间

<details> <summary>管理Storyblok空间设置和信息</summary>
  • fetch_spaces: 列出空间
  • get_space: 获取特定空间
  • create_space: 创建一个新的空间
  • update_space: 更新一个空间
  • duplicate_space: 复制一个空间
  • backup_space: 备份一个空间
  • delete_space: 删除一个空间
</details>

空间角色

<details> <summary>管理空间中的角色和权限</summary>
  • fetch_space_roles: 列出空间角色
  • get_space_role: 获取特定空间角色
  • create_space_role: 创建一个新的空间角色
  • update_space_role: 更新一个空间角色
  • delete_space_role: 删除一个空间角色
</details>

故事

<details> <summary>管理故事(CRUD、批量操作、验证)</summary>
  • fetch_stories: 列出故事,并进行过滤
  • get_story: 获取特定ID的故事
  • create_story: 创建一个新的故事
  • update_story: 更新一个已有的故事
  • delete_story: 删除一个故事
  • publish_story: 发布一个故事
  • unpublish_story: 取消发布一个故事
  • get_story_versions: 列出故事的版本
  • restore_story: 将故事恢复到之前的版本
  • validate_story_content: 验证故事内容
  • debug_story_access: 调试故事访问
  • bulk_publish_stories: 发布多个故事
  • bulk_delete_stories: 删除多个故事
  • bulk_update_stories: 更新多个故事
  • bulk_create_stories: 创建多个故事
  • get_unpublished_dependencies: 列出未发布的依赖项
  • ai_translate_story: 使用AI翻译一个故事
  • compare_story_versions: 比较两个版本的故事
</details>

标签

<details> <summary>管理标签(CRUD、批量关联)</summary>
  • retrieve_multiple_tags: 列出标签
  • create_tag: 创建一个新的标签
  • update_tag: 更新一个标签
  • delete_tag: 删除一个标签
  • tag_bulk_association: 将标签添加到多个故事
</details>

任务

<details> <summary>管理任务(CRUD、webhook、自动化)</summary>
  • retrieve_multiple_tasks: 列出任务
  • retrieve_single_task: 获取特定任务
  • create_task: 创建一个新的任务
  • update_task: 更新一个任务
  • delete_task: 删除一个任务
</details>

Webhook

<details> <summary>管理webhook(CRUD、触发)</summary>
  • retrieve_multiple_webhooks: 列出webhook
  • retrieve_single_webhook: 获取特定webhook
  • add_webhook: 添加一个新的webhook
  • update_webhook: 更新一个webhook
  • delete_webhook: 删除一个webhook
</details>

工作流

<details> <summary>管理工作流和工作流阶段</summary>
  • retrieve_multiple_workflows: 列出工作流
  • retrieve_single_workflow: 获取特定工作流
  • create_workflow: 创建一个新的工作流
  • update_workflow: 更新一个工作流
  • duplicate_workflow: 复制一个工作流
  • delete_workflow: 删除一个工作流
</details>

工作流阶段

<details> <summary>管理单个工作流阶段</summary>
  • retrieve_multiple_workflow_stages: 列出工作流阶段
  • retrieve_single_workflow_stage: 获取特定工作流阶段
  • create_workflow_stage: 创建一个新的工作流阶段
  • update_workflow_stage: 更新一个工作流阶段
  • delete_workflow_stage: 删除一个工作流阶段
</details>

工作流阶段更改

<details> <summary>跟踪和管理工作流阶段更改</summary>
  • retrieve_multiple_workflow_stage_changes: 列出工作流阶段更改
  • create_workflow_stage_change: 创建一个工作流阶段更改
</details>

⚡️ 快速开始

  1. 克隆仓库

    git clone <your-repo-url>
    cd storyblok-mcp-server
    
  2. 安装依赖

    pip install -r requirements.txt
    
  3. 配置环境

    • 复制.env.example.env并填写您的Storyblok凭据:
      STORYBLOK_SPACE_ID=your_space_id
      STORYBLOK_MANAGEMENT_TOKEN=your_management_token
      STORYBLOK_DEFAULT_PUBLIC_TOKEN=your_public_token
      
  4. MCP客户端配置

    • 若要使用此服务器与Claude或其他MCP客户端,请将以下内容复制到您的claude_desktop_config.json中:
{
    "mcpServers": {
        "storyblok": {
            "command": "uv",
            "args": [
                "run",
                "--with",
                "mcp",