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管理层时,必须确保没有敏感信息泄露。
- 开发人员经验:
使服务器易于运行、扩展和插入人工智能工具。没有捷径。
______________________________________________________________________
如何设置(供贡献者使用)
- 克隆仓库:
git clone https://github.com/ArjunCodess/storyblok-mcp.git
cd storyblok-mcp- 安装依赖项:
pnpm install- 运行服务器:
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"
}
}
}
}______________________________________________________________________
工具
- Story Management
- fetch_store\
从Storyblok检索故事列表(页面、文件夹或内容条目)。支持过滤、分页和搜索。
- get_story\
按ID获取单个故事。
- create_store\
在Storyblok中创建新故事(页面、文件夹或内容条目)。
- update_store\
更新现有故事的内容、名称、片段或标签。
- 删除存储\
按故事ID删除故事。
- 发布库\
发布一个故事,让它活下来。
- 未发布故事\
取消发布故事,将其从实时网站中删除。
- get_story_versions\
检索故事的所有先前版本以获取版本历史记录和回滚。
- 修复库\
将故事还原到以前的版本。
- 重要库存\
导入故事,可选择指定语言代码和是否导入语言设置。
- Tag Management
- fetch_tags\
列出空间中使用的所有标签。
- create_tag\
创建一个新标签。
- 创建标签和添加故事\
创建一个标签,并立即将其分配给一个故事。
- delete_tag\
按标签的ID删除标签。
- Webhook Management
- fetch_webhooks\
列出空间中注册的所有Webhook。
- get_webhook\
按ID获取单个webhook。
- create_webhook\
创建一个新的webhook,该webhook将在指定的Storyblok事件时触发。
- update_webhook\
更新现有webhook的端点、事件或其他属性。
- delete_webhook\
按ID删除webhook。
- Release Management
- fetch_releases\
列出所有版本(计划发布的内容批次)。
- 创建_租赁\
创建新版本。
- update_release\
更新现有版本的属性,包括名称、发布时间和通知设置。
- add_stry_to-release\
在发布中添加一个故事。
- 发布_发布\
在发布中发布所有故事。
- 删除_释放\
删除发布。
- Presets Management
- fetch_presets\
列出空间中的所有组件预设。支持分页。
- get_reset\
按ID获取单个预设。
- create_preset\
为组件创建具有默认值的新预设。
- update_preset\
更新现有预设的内容、名称或外观设置。
- delete_preset\
按ID删除预设。
- Story Scheduling
- fetch_story_schedules\
检索故事的故事调度对象(计划发布)列表。支持过滤、分页和搜索。
- get_story_scheduling\
按ID获取单层调度对象。
- create_story_scheduling\
安排一个故事在特定的日期和时间发布。
- update_story_scheduling\
更新现有的故事安排(例如,更改发布时间或语言)。
- 删除存储计划\
按ID删除故事日程安排。
- 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删除访问令牌。
- Asset Management
- fetch_assets\
列出空间中的所有资产(图像、文件等)。
- 获取资产\
按ID获取单个资产。
- 删除资产\
删除资产。
- init_asset_upload\
开始上传新资产。
- complete_asset_upload\
完成资产上传过程。
- Asset Folder Management
- fetch_asset_folders\
列出所有资产文件夹。
- create_asset_folder\
创建新的资产文件夹。
- update_asset_folder\
重命名资源文件夹。
- 删除资产文件夹\
删除资产文件夹。
- Component Management
- fetch_组件\
列出空间中的所有组件(内容类型)。
- get_组件\
按ID获取单个组件。
- 创建组件\
创建新组件。
- 更新组件\
更新组件的架构或设置。
- 删除组件\
删除组件。
- Advanced Story Search
- 搜索_故事\
使用高级过滤器(按slug、标签等)搜索故事。
- get_story_by-slug\
按故事情节读故事。
- Folder Info
- fetch_folders\
列出所有故事文件夹。
- Datasource Management
- fetch_数据源\
列出所有数据源(用于动态选择字段等)。
- 获取数据源\
按ID获取单个数据源。
- 创建_数据源\
使用可选维度创建新的数据源。
- update_datasource\
更新现有数据源(名称、slug、维度)。
- 删除数据源\
按ID删除数据源。
- Datasource Entries Management
- fetch_datasource_entrys\
列出数据源的所有条目(键值对)。
- get_datasource_entry\
获取单个数据源条目。
- create_datasource_entry\
在数据源中创建一个具有可选维度值的新条目。
- update_datasource_entry\
更新现有的数据源条目。
- delete_datasource_entry\
按ID删除数据源条目。
- Utility
- 拼\
检查服务器和Storyblok API是否可访问。
- Component Folders Management
- fetch_component_folders\
列出空间中的所有组件文件夹。
- get_component_folder\
按ID获取单个组件文件夹。
- 创建组件文件夹\
使用可选的父ID创建新的组件文件夹。
- update_component_folder\
更新现有组件文件夹的名称或父ID。
- 删除组件文件夹\
按ID删除组件文件夹。
- Space Roles Management
- fetch_space_roles\
列出Storyblok空间中的所有空间角色。
- get_space_role\
按ID获取单个空间角色。
- create_space_role\
使用自定义权限设置创建新的空间角色。
- update_space_role\
更新现有空间角色的权限和设置。
- delete_space_role\
按ID删除空间角色。
- Space Management
- fetch_spaces\
列出您帐户可访问的所有空间。支持分页。
- get_space\
获取有关当前Storyblok空间的信息。
- create_space\
使用计费、环境和自定义选项的可选配置创建新空间。
- update_space\
更新现有空间的设置,包括名称、域、挂钩和配置选项。
- delete_space\
按空格的ID删除空格。
- duplicate_space\
创建现有空间的副本,并提供复制内容和组件的选项。
- 备份空间\
触发空间备份。
- AI Tools
- generate_alt_text\
根据内容或上下文自动为图像创建alt文本。
- 翻译故事\
使用AI将故事内容翻译成不同的语言。
- 生成meta_tags\
为任何故事生成SEO友好的元标题和描述。
- 总结故事\
获取一个简短的AI生成的故事内容摘要。
- 标签库_带ai\
使用自然语言处理为故事自动生成相关标签。
- Workflow Management
- fetch_工作流\
列出空间中的所有工作流,并可选择分页。
- get_workflow\
按ID获取单个工作流。
- 创建工作流\
创建具有名称和相关内容类型的新工作流。
- update_workflow\
更新现有工作流的名称或内容类型。
- 重复工作流\
使用新名称和内容类型创建现有工作流的副本。
- 删除工作流\
按ID删除工作流。
- Workflow Stage Management
- fetch_workflow_stages\
列出空间中定义的所有工作流阶段。
- get_workflow_stage\
按ID获取单个工作流阶段。
- create_workflow_stage\
使用权限和设置创建新的工作流阶段。
- update_workflow_stage\
更新现有工作流阶段的权限、名称、颜色或位置。
- delete_workflow_stage\
按ID删除工作流阶段。
- Workflow Stage Changes Management
- fetch_workflow_stage_changes\
列出所有工作流阶段的更改,并可选择按故事ID进行筛选。
- get_workflow_stage_change\
按ID获取单个工作流阶段更改。
- create_workflow_stage_change\
通过将故事分配给特定的工作流阶段来创建新的工作流阶段更改。
- Pipelines (Branches) Management
- fetch_brances\
列出空间中的所有管道分支。支持分页。
- get_branch\
按ID获取单个分支。
- create_branch\
使用名称、源分支、URL和位置选项创建新分支。
- update_branch\
更新现有分支的属性,如名称、来源、URL或位置。
- delete_branch\
按ID删除分支。
- 部署_分支\
手动触发分支部署。
- 获取_分支_故事\
列出特定分支中的所有故事。支持过滤和分页。
- 比较分支\
比较两个分支之间的内容以查看差异。
- copy_stories_between_branches\
把故事从一个分支抄到另一个分支。
- Branch Deployments Management
- fetch_branch部署\
列出空间中的所有分支部署。支持分页。
- 创建分支部署\
使用所需的分支ID和可选的版本UUID创建新的分支部署。需要安装管道应用程序。
- get_branch部署\
按ID获取单个分支部署。
______________________________________________________________________
如何做出贡献
分叉,进行更改,打开PR。 发现错误或想要功能?打开一个问题。
______________________________________________________________________
实用链接
______________________________________________________________________
谢谢
由...制作❤️ 为了 DEV.to故事块挑战赛.
______________________________________________________________________
许可证
麻省理工学院
