使用说明
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" } } } }
工具
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故事块挑战赛.
许可证
麻省理工学院