使用说明
Storyblok MCP服务器🚀
Storyblok MCP(模型上下文协议)服务器使您的AI助手能够直接访问和管理您的Storyblok空间、故事、组件、资产、工作流等。
它有什么作用?
借助Storyblok MCP服务器,您的AI助手可以:
- 创建 -创建新的故事、组件、资产、数据源、标签、发布、工作流等。
- 阅读 -阅读您的所有故事、组件、资产、数据源、标签、发布、工作流等。
- 更新 -更新现有/新的故事、组件、资产、数据源、标签、版本、工作流等。
- 删除 -删除特定/所有的故事、组件、资产、数据源、标签、版本、工作流等。
🚀 特性
- 完整的Storyblok管理:用于故事、组件、资产、数据源、标签、发布、工作流等的CRUD。(覆盖一切)
- 模块化工具:每个Storyblok资源都由自己的工具模块管理,便于扩展和维护。
- 元工具:在运行时发现所有可用的工具及其描述。
- 异步&快速:基于
httpx和FastMCP为了获得高性能。 - 基于环境的配置:通过以下方式安全管理令牌和空间ID
.env. - 批量操作:一次高效地更新、删除或发布多个资源。
📦 项目结构
├── config.py # Loads and validates environment config
├── server.py # Main entrypoint, registers all tools
├── tools/ # All modular tool implementations
│ ├── components.py # Component CRUD and usage
│ ├── stories.py # Story CRUD, bulk ops, validation
│ ├── ... # (assets, tags, releases, workflows, etc.)
│ └── meta.py # Meta tool for tool discovery
├── utils/
│ └── api.py # API helpers, error handling, URL builders
├── .env # Your Storyblok tokens and space ID
├── pyproject.toml # Python dependencies
└── README.md # This file
🚀 API覆盖范围
| 资源 | 描述 |
|---|---|
| 访问令牌 | 管理Storyblok API的访问令牌 |
| 活动 | 管理或检索活动日志 |
| 审批 | 管理审批工作流 |
| 资产 | 管理资产(上传、更新、删除、列出) |
| 资产文件夹 | 管理资产文件夹 |
| 分支部署 | 管理分支部署 |
| 协作者 | 管理空间中的协作者 |
| 组件 | 管理Storyblok组件(CRUD、模式等) |
| 组件文件夹 | 管理组件文件夹 |
| 数据源条目 | 管理数据源中的条目 |
| 数据源 | 管理数据源(CRUD、条目) |
| 讨论 | 管理讨论和评论 |
| 扩展 | 管理Storyblok扩展 |
| 字段插件 | 管理自定义字段插件 |
| 内部标签 | 管理资产/故事的内部标签 |
| Meta | Meta工具:发现所有可用工具 |
| Ping | 健康检查和服务器状态 |
| 管道 | 管理内容交付的管道 |
| 预设 | 管理组件的字段预设 |
| 发布 | 管理发布(创建、更新、发布) |
| 安排故事 | 安排故事发布 |
| 空间 | 管理Storyblok空间设置和信息 |
| 空间角色 | 管理空间中的角色和权限 |
| 故事 | 管理故事(CRUD、批量操作、验证) |
| 标签 | 管理标签(CRUD、批量关联) |
| 任务 | 管理任务(CRUD、webhooks、自动化) |
| 管理 Web Hooks(CRUD、Trigger) | |
| 工作流 | 管理工作流和工作流阶段 |
| 工作流阶段 | 管理各个工作流阶段 |
| 工作流阶段更改 | 跟踪和管理工作流阶段更改 |
🪄 可用工具
访问令牌
Manage access tokens for Storyblok API
retrieve_multiple_access_tokens:列出所有访问令牌create_access_token:创建新的访问令牌update_access_token:更新现有访问令牌delete_access_token:删除访问令牌
活动
Manage or retrieve activity logs
retrieve_multiple_activities:列出活动日志
审批
Manage approval workflows
retrieve_multiple_approvals:列出批准create_approval:创建新审批update_approval:更新审批delete_approval:删除审批
资产
Manage assets (upload, update, delete, list)
fetch_assets:列出具有筛选功能的资产get_asset:按ID获取特定资产delete_asset:删除资产update_asset:更新资产delete_multiple_assets:删除多个资产bulk_move_assets:移动多个资产bulk_restore_assets:恢复多个资产init_asset_upload:初始化资产上传complete_asset_upload:完成资产上传
资产文件夹
Manage asset folders
retrieve_multiple_asset_folders:列出资产文件夹create_asset_folder:创建新的资产文件夹update_asset_folder:更新资产文件夹delete_asset_folder:删除资产文件夹
分支部署
Manage branch deployments
retrieve_multiple_branch_deployments:列出分支部署create_branch_deployment:创建新的分支部署update_branch_deployment:更新分支部署delete_branch_deployment:删除分支部署
合作者
Manage collaborators in a space
retrieve_multiple_collaborators:列出合作者add_collaborator:添加合作者update_collaborator:更新合作者remove_collaborator:删除合作者
组件
Manage Storyblok components (CRUD, schema, etc.)
fetch_components:列出具有筛选功能的组件get_component:按ID获取特定组件create_component:创建新组件update_component:更新现有组件delete_component:删除组件get_component_usage:使用组件查找故事retrieve_component_versions:列出组件的版本retrieve_single_component_version:获取特定组件版本restore_component_version:将组件还原到以前的版本
组件文件夹
Manage folders for components
retrieve_multiple_component_folders:列出组件文件夹create_component_folder:创建新的组件文件夹update_component_folder:更新组件文件夹delete_component_folder:删除组件文件夹
数据源条目
Manage entries in data sources
retrieve_multiple_datasource_entries:列出数据源条目create_datasource_entry:创建新的数据源条目update_datasource_entry:更新数据源条目delete_datasource_entry:删除数据源条目
数据源
Manage data sources (CRUD, entries)
retrieve_multiple_data_sources:列出数据源create_data_source:创建新的数据源update_data_source:更新数据源delete_data_source:删除数据源
讨论
Manage discussions and comments
retrieve_multiple_discussions:列出讨论retrieve_specific_discussion:进行具体讨论retrieve_idea_discussions_comments:列出想法讨论评论create_discussion:创建新讨论retrieve_my_discussions:列出我的讨论
扩展
Manage Storyblok extensions
retrieve_all_extensions:列出所有扩展名retrieve_extension:获取特定的扩展名create_extension:创建新的扩展名update_extension:更新扩展名delete_extension:删除扩展名retrieve_extension_settings:获取扩展设置retrieve_all_extension_settings:列出所有扩展设置
现场插件
Manage custom field plugins
retrieve_field_plugins:列出字段插件retrieve_field_plugin:获取特定字段插件create_field_plugin:创建新的字段插件update_field_plugin:更新字段插件delete_field_plugin:删除字段插件
内部标签
Manage internal tags for assets/stories
retrieve_multiple_internal_tags:列出内部标签create_internal_tag:创建新的内部标记update_internal_tag:更新内部标记delete_internal_tag:删除内部标记
元
Meta tool: discover all available tools
list_tools:列出所有可用工具
拼
Health check and server status
ping:检查服务器运行状况
管道
Manage pipelines for content delivery
retrieve_multiple_branches:列出分支retrieve_single_branch:获取特定分支create_branch:创建新分支update_branch:更新分支delete_branch:删除分支
预设
Manage field presets for components
retrieve_multiple_presets:列出字段预设retrieve_single_preset:获取特定预设create_preset:创建新预设update_preset:更新预设delete_preset:删除预设
发布
Manage releases (create, update, publish)
retrieve_multiple_releases:列表发布retrieve_single_release:获取特定版本create_release:创建新版本update_release:更新版本delete_release:删除发布
安排故事
Schedule stories for publishing
retrieve_multiple_story_schedules:列出故事时间表retrieve_one_story_schedule:获取具体的故事时间表create_story_schedule:创建新的故事时间表update_story_schedule:更新故事时间表delete_story_schedule:删除故事日程表
太空
Manage Storyblok space settings and info
fetch_spaces:列出空格get_space:获取特定空间create_space:创建新空间update_space:更新空间duplicate_space:复制空格backup_space:备份空间delete_space:删除空格
空间角色
Manage roles and permissions in a space
fetch_space_roles:列出空间角色get_space_role:获取特定的空间角色create_space_role:创建新的空间角色update_space_role:更新空间角色delete_space_role:删除空间角色
故事
Manage stories (CRUD, bulk ops, validation)
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:比较一个故事的两个版本
标签
Manage tags (CRUD, bulk association)
retrieve_multiple_tags:列表标签create_tag:创建新标记update_tag:更新标签delete_tag:删除标记tag_bulk_association:为多个故事添加标签
任务
Manage tasks (CRUD, webhooks, automation)
retrieve_multiple_tasks:列出任务retrieve_single_task:获取特定任务create_task:创建新任务update_task:更新任务delete_task:删除任务
网页插件
Manage webhooks (CRUD, trigger)
retrieve_multiple_webhooks网页挂钩列表retrieve_single_webhook:获取特定的webhookadd_webhook添加一个新的 webhookupdate_webhook:更新webhookdelete_webhook删除网页挂钩
工作流
Manage workflows and workflow stages
retrieve_multiple_workflows:列出工作流retrieve_single_workflow:获取特定的工作流程create_workflow:创建新工作流update_workflow:更新工作流duplicate_workflow:复制工作流delete_workflow:删除工作流
工作流阶段
Manage individual workflow stages
retrieve_multiple_workflow_stages:列出工作流阶段retrieve_single_workflow_stage:获取特定的工作流程阶段create_workflow_stage:创建新的工作流阶段update_workflow_stage:更新工作流阶段delete_workflow_stage:删除工作流阶段
工作流阶段更改
Track and manage workflow stage changes
retrieve_multiple_workflow_stage_changes:列出工作流阶段更改create_workflow_stage_change:创建工作流阶段更改
⚡️ 快速启动
-
克隆仓库
git clone <your-repo-url> cd storyblok-mcp-server -
安装依赖项
pip install -r requirements.txt -
配置您的环境
- 复制
.env.example向.env并填写您的Storyblok凭据:STORYBLOK_SPACE_ID=your_space_id STORYBLOK_MANAGEMENT_TOKEN=your_management_token STORYBLOK_DEFAULT_PUBLIC_TOKEN=your_public_token
- 复制
-
MCP客户端配置
- 要将此服务器与Claude或任何MCP客户端一起使用,请将以下内容复制到您的
claude_desktop_config.json:
- 要将此服务器与Claude或任何MCP客户端一起使用,请将以下内容复制到您的
{
"mcpServers": {
"storyblok": {
"command": "uv",
"args": [
"run",
"--with",
"mcp",
"mcp",
"run",
"C:\\path\\to\\storyblok-mcp-server\\server.py"
],
"env": {
"STORYBLOK_SPACE_ID": "your_space_id",
"STORYBLOK_MANAGEMENT_TOKEN": "your_management_token",
"STORYBLOK_DEFAULT_PUBLIC_TOKEN": "your_public_token"
}
}
}
}
- 将此配置粘贴到您的Claude或MCP客户端以立即连接。
[!注意] 确保您已安装
uv在您的系统上
重新启动克劳德桌面并检查工具。如果您成功连接,它将显示可用工具的总数。
- 在本地运行和测试
- 您还可以使用MCP Inspector在本地运行和测试服务器:
mcp run server.py
示例问题
[!提示] 以下是您可以使用MCP客户端尝试的一些自然语言查询。
- “向我展示storyblok的所有故事”
- “给我关于家庭故事的详细信息”
- “用任何内容创建新故事”
- “发布主页故事”
🧑💻 贡献
我们欢迎捐款!开始:
- 分叉回购 并从以下位置创建分支
master. - 添加或改进工具 在
tools/目录。 - 编写清晰的文档字符串 并保持代码模块化。
- 使用MCP检查器 用于调试
- 打开拉取请求 清楚地描述您的更改。
编码指南
- 对所有函数和类使用类型提示和文档字符串。
- 让每个工具专注于一个Storyblok资源。
- 优雅地处理API错误并返回信息性消息。
- 保持
.env文件不受版本控制。
🤝 鸣谢
📄 许可证
MIT许可证。看 许可证 了解详情。
💬 问题与支持
- 对于问题,请打开GitHub问题。
- 对于功能请求,请打开讨论或PR。
- 有关Storyblok API文档,请参阅 Storyblok API参考.
内置于💙 靠近 基兰