AI内容管理系统连接器

Storyblok MCP Server是一个连接AI工具与Storyblok内容管理系统的中间件协议服务,通过自然语言交互实现内容管理自动化。

  • by ArjunCodess
  • JavaScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 arjuncodess/storyblok-mcp

使用说明

Storyblok MCP服务器

立即将AI工具连接到Storyblok-使用自然语言像魔术一样管理您的CMS。

演示


目录


为什么是这个项目?

为 Storyblok无头CMS挑战赛 在DEV.to上。

目标:将人工智能和Storyblok的力量结合起来,创造一些新鲜有用的东西。


什么是Storyblok?

Storyblok是一个强大的无头CMS。API第一。开发人员和内容创作者可以轻松合作。

它是模块化的,超级灵活,适合您想要的任何前端或工作流程。


什么是MCP服务器?

MCP=连接AI、工具和数据的协议。

MCP服务器充当中间人,向AI展示它能做什么以及它拥有什么数据。

这使得Cursor或Claude Desktop等AI客户端能够通过自然语言与Storyblok交互,并流畅地管理内容。


我面临的挑战

  • 为自己而建(哈哈): 以前从未制造或安装过MCP。花的时间比我想象的要长。

  • API压力: 不断检查Storyblok的API文档。我害怕错过什么。

  • AI人员压力: 试图在不破坏东西的情况下正确使用人工智能功能是一件头疼的事。

  • 安全: 在暴露Storyblok管理层时,必须确保没有敏感信息泄露。

  • 开发人员经验: 使服务器易于运行、扩展和插入人工智能工具。没有捷径。


如何设置(供贡献者使用)

  1. 克隆仓库:

    git clone https://github.com/ArjunCodess/storyblok-mcp.git
    cd storyblok-mcp
    
  2. 安装依赖项:

    pnpm install
    
  3. 运行服务器:

    pnpm start
    

如何使用(用户)

克隆仓库:

git clone https://github.com/ArjunCodess/storyblok-mcp.git
cd storyblok-mcp

使用游标连接

https://github.com/user-attachments/assets/98b77544-81c4-49b3-8dc2-14849e6ba7e5

  • 在同一目录中打开Cursor。
  • 右键单击 build/index.js 文件并单击 复制路径.
  • 现在,转到 设置 → MCP工具.
  • 点击 新建MCP服务器
  • 里面打开 mcp.json 文件。粘贴此内容,并将PATH_YOU_COPIED替换为第二步中复制的路径:
    {
      "mcpServers": {
        "storyblok": {
          "command": "node PATH_YOU_COPIED",
          "env": {
            "STORYBLOK_SPACE_ID": "your_space_id",
            "STORYBLOK_MANAGEMENT_TOKEN": "your_management_token",
            "STORYBLOK_DEFAULT_PUBLIC_TOKEN": "your_public_token",
            "GOOGLE_GENERATIVE_AI_API_KEY": "your_gemini_ai_api_key"
          }
        }
      }
    }
    

工具

1. Story Management
  • fetch_store
    从Storyblok检索故事列表(页面、文件夹或内容条目)。支持过滤、分页和搜索。

  • get_story
    按ID获取单个故事。

  • create_store
    在Storyblok中创建新故事(页面、文件夹或内容条目)。

  • update_store
    更新现有故事的内容、名称、片段或标签。

  • 删除存储
    按故事ID删除故事。

  • 发布库
    发布一个故事,让它活下来。

  • 未发布故事
    取消发布故事,将其从实时网站中删除。

  • get_story_versions
    检索故事的所有先前版本以获取版本历史记录和回滚。

  • 修复库
    将故事还原到以前的版本。

  • 重要库存
    导入故事,可选择指定语言代码和是否导入语言设置。

2. Tag Management
  • fetch_tags
    列出空间中使用的所有标签。

  • create_tag
    创建一个新标签。

  • 创建标签和添加故事
    创建一个标签,并立即将其分配给一个故事。

  • delete_tag
    按标签的ID删除标签。

3. Webhook Management
  • fetch_webhooks
    列出空间中注册的所有Webhook。

  • get_webhook
    按ID获取单个webhook。

  • create_webhook
    创建一个新的webhook,该webhook将在指定的Storyblok事件时触发。

  • update_webhook
    更新现有webhook的端点、事件或其他属性。

  • delete_webhook
    按ID删除webhook。

4. Release Management
  • fetch_releases
    列出所有版本(计划发布的内容批次)。

  • 创建_租赁
    创建新版本。

  • update_release
    更新现有版本的属性,包括名称、发布时间和通知设置。

  • add_stry_to-release
    在发布中添加一个故事。

  • 发布_发布
    在发布中发布所有故事。

  • 删除_释放
    删除发布。

5. Presets Management
  • fetch_presets
    列出空间中的所有组件预设。支持分页。

  • get_reset
    按ID获取单个预设。

  • create_preset
    为组件创建具有默认值的新预设。

  • update_preset
    更新现有预设的内容、名称或外观设置。

  • delete_preset
    按ID删除预设。

6. Story Scheduling
  • fetch_story_schedules
    检索故事的故事调度对象(计划发布)列表。支持过滤、分页和搜索。

  • get_story_scheduling
    按ID获取单层调度对象。

  • create_story_scheduling
    安排一个故事在特定的日期和时间发布。

  • update_story_scheduling
    更新现有的故事安排(例如,更改发布时间或语言)。

  • 删除存储计划
    按ID删除故事日程安排。

7. Access Management
  • fetch_access_tokes
    检索当前空间的所有访问令牌(API密钥)。

  • 获取访问令牌
    按ID获取单个访问令牌。

  • create_access_token
    为空间创建新的访问令牌(API密钥)。支持公共/私有、名称、min_cache、story_ids和branch_id。

  • update_access_token
    更新现有访问令牌的属性(类型、名称、min_cache、story_ids、branch_id)。

  • delete_access_token
    按ID删除访问令牌。

8. Asset Management
  • fetch_assets
    列出空间中的所有资产(图像、文件等)。

  • 获取资产
    按ID获取单个资产。

  • 删除资产
    删除资产。

  • init_asset_upload
    开始上传新资产。

  • complete_asset_upload
    完成资产上传过程。

9. Asset Folder Management
  • fetch_asset_folders
    列出所有资产文件夹。

  • create_asset_folder
    创建新的资产文件夹。

  • update_asset_folder
    重命名资源文件夹。

  • 删除资产文件夹
    删除资产文件夹。

10. Component Management
  • fetch_组件
    列出空间中的所有组件(内容类型)。

  • get_组件
    按ID获取单个组件。

  • 创建组件
    创建新组件。

  • 更新组件
    更新组件的架构或设置。

  • 删除组件
    删除组件。

11. Advanced Story Search
  • 搜索_故事
    使用高级过滤器(按slug、标签等)搜索故事。

  • get_story_by-slug
    按故事情节读故事。

12. Folder Info
  • fetch_folders
    列出所有故事文件夹。
13. Datasource Management
  • fetch_数据源
    列出所有数据源(用于动态选择字段等)。

  • 获取数据源
    按ID获取单个数据源。

  • 创建_数据源
    使用可选维度创建新的数据源。

  • update_datasource
    更新现有数据源(名称、slug、维度)。

  • 删除数据源
    按ID删除数据源。

14. Datasource Entries Management
  • fetch_datasource_entrys
    列出数据源的所有条目(键值对)。

  • get_datasource_entry
    获取单个数据源条目。

  • create_datasource_entry
    在数据源中创建一个具有可选维度值的新条目。

  • update_datasource_entry
    更新现有的数据源条目。

  • delete_datasource_entry
    按ID删除数据源条目。

15. Utility
  • 拼
    检查服务器和Storyblok API是否可访问。
16. Component Folders Management
  • fetch_component_folders
    列出空间中的所有组件文件夹。

  • get_component_folder
    按ID获取单个组件文件夹。

  • 创建组件文件夹
    使用可选的父ID创建新的组件文件夹。

  • update_component_folder
    更新现有组件文件夹的名称或父ID。

  • 删除组件文件夹
    按ID删除组件文件夹。

17. Space Roles Management
  • fetch_space_roles
    列出Storyblok空间中的所有空间角色。

  • get_space_role
    按ID获取单个空间角色。

  • create_space_role
    使用自定义权限设置创建新的空间角色。

  • update_space_role
    更新现有空间角色的权限和设置。

  • delete_space_role
    按ID删除空间角色。

18. Space Management
  • fetch_spaces
    列出您帐户可访问的所有空间。支持分页。

  • get_space
    获取有关当前Storyblok空间的信息。

  • create_space
    使用计费、环境和自定义选项的可选配置创建新空间。

  • update_space
    更新现有空间的设置,包括名称、域、挂钩和配置选项。

  • delete_space
    按空格的ID删除空格。

  • duplicate_space
    创建现有空间的副本,并提供复制内容和组件的选项。

  • 备份空间
    触发空间备份。

19. AI Tools
  • generate_alt_text
    根据内容或上下文自动为图像创建alt文本。

  • 翻译故事
    使用AI将故事内容翻译成不同的语言。

  • 生成meta_tags
    为任何故事生成SEO友好的元标题和描述。

  • 总结故事
    获取一个简短的AI生成的故事内容摘要。

  • 标签库_带ai
    使用自然语言处理为故事自动生成相关标签。

20. Workflow Management
  • fetch_工作流
    列出空间中的所有工作流,并可选择分页。

  • get_workflow
    按ID获取单个工作流。

  • 创建工作流
    创建具有名称和相关内容类型的新工作流。

  • update_workflow
    更新现有工作流的名称或内容类型。

  • 重复工作流
    使用新名称和内容类型创建现有工作流的副本。

  • 删除工作流
    按ID删除工作流。

21. Workflow Stage Management
  • fetch_workflow_stages
    列出空间中定义的所有工作流阶段。

  • get_workflow_stage
    按ID获取单个工作流阶段。

  • create_workflow_stage
    使用权限和设置创建新的工作流阶段。

  • update_workflow_stage
    更新现有工作流阶段的权限、名称、颜色或位置。

  • delete_workflow_stage
    按ID删除工作流阶段。

22. Workflow Stage Changes Management
  • fetch_workflow_stage_changes
    列出所有工作流阶段的更改,并可选择按故事ID进行筛选。

  • get_workflow_stage_change
    按ID获取单个工作流阶段更改。

  • create_workflow_stage_change
    通过将故事分配给特定的工作流阶段来创建新的工作流阶段更改。

23. Pipelines (Branches) Management
  • fetch_brances
    列出空间中的所有管道分支。支持分页。

  • get_branch
    按ID获取单个分支。

  • create_branch
    使用名称、源分支、URL和位置选项创建新分支。

  • update_branch
    更新现有分支的属性,如名称、来源、URL或位置。

  • delete_branch
    按ID删除分支。

  • 部署_分支
    手动触发分支部署。

  • 获取_分支_故事
    列出特定分支中的所有故事。支持过滤和分页。

  • 比较分支
    比较两个分支之间的内容以查看差异。

  • copy_stories_between_branches
    把故事从一个分支抄到另一个分支。

24. Branch Deployments Management
  • fetch_branch部署
    列出空间中的所有分支部署。支持分页。

  • 创建分支部署
    使用所需的分支ID和可选的版本UUID创建新的分支部署。需要安装管道应用程序。

  • get_branch部署
    按ID获取单个分支部署。


如何做出贡献

分叉,进行更改,打开PR。 发现错误或想要功能?打开一个问题。


实用链接


谢谢

由...制作❤️ 为了 DEV.to故事块挑战赛.


许可证

麻省理工学院