摘要
通过 Management API 使用无头 CMS Storyblok:查找并读取故事和文件夹及其完整区块内容和版本历史,创建、更新、发布和取消发布故事,读取组件结构,管理资源元数据、数据源条目、工作流阶段和发布版本,支持欧盟、美国、加拿大、澳大利亚和中国区域。
引导式设置
2 分钟将 Storyblok 连接到 ChatGPT
开始 AnythingMCP Cloud 免费试用,在引导式设置中连接 Storyblok,再把你的 MCP URL 添加到 ChatGPT。无需代码,也无需自行运行服务器。
无需信用卡 · 7 天试用 · 提供自托管方案
ChatGPT 插件目录中的 AnythingMCP 插件可在 AnythingMCP Cloud 上回答有关企业数据库的问题(PostgreSQL、MySQL、SQL Server、Oracle、SAP HANA、SQLite、MongoDB,只读):打开插件页面 (在新标签页中打开)并点击 Install plugin。其他所有连接器都以自定义 MCP 服务器的方式添加到 ChatGPT,使用你的 AnythingMCP MCP URL。
试试这样问
Storyblok 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → Storyblok、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
Storyblok + ChatGPT
通过 Management API 使用无头 CMS Storyblok:查找并读取故事和文件夹及其完整区块内容和版本历史,创建、更新、发布和取消发布故事,读取组件结构,管理资源元数据、数据源条目、工作流阶段和发布版本,支持欧盟、美国、加拿大、澳大利亚和中国区域。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
STORYBLOK_PERSONAL_ACCESS_TOKEN, STORYBLOK_SPACE_ID, STORYBLOK_API_HOST
步骤 1 — 获取凭证
设置大约需要 3 分钟。你需要一个 Storyblok 空间、它的数字 ID 以及创建它的区域。
- 在 Storyblok 中打开 My account > Account settings > Personal access tokens,生成一个令牌并粘贴到
STORYBLOK_PERSONAL_ACCESS_TOKEN。Storyblok 直接在Authorization请求头中接收它,不加 Bearer 前缀。令牌以你本人的权限作用于你能打开的每个空间,所以用受限角色的用户生成的令牌范围更窄。 STORYBLOK_SPACE_ID:Settings > Space 中的数字 ID,也出现在应用 URL 的#/me/spaces/之后,例如288868932106293。STORYBLOK_API_HOST:创建空间所在区域的 Management API 主机:mapi.storyblok.com(欧盟)、api-us.storyblok.com(美国)、api-ca.storyblok.com(加拿大)、api-ap.storyblok.com(澳大利亚)或app.storyblokchina.cn(中国)。只填主机名,不带https://。- 安装连接器并运行
storyblok_get_space:它会显示空间的名称、套餐、语言和故事数量,并确认这三个值都正确。
也能读草稿:Management API 既读已发布内容也读草稿,因此不需要 Content Delivery API 令牌。
读取的内容:
- 用
storyblok_list_stories读取故事和文件夹(不含内容):可按文件夹(starts_with)、by_slugs、search、text_search、标签、针对内容字段的filter_query、发布状态、工作流阶段、发布版本或回收站筛选。 - 单个故事及其完整区块树(
storyblok_get_story):每个区块带component和_uid,另含翻译、标签、工作流阶段和发布版本信息。storyblok_list_story_versions显示其历史,包括事件、作者和时间。 - 用
storyblok_list_components和storyblok_get_component读取区块结构:每个字段的类型、是否必填、选项和允许的区块,以及组件文件夹。 - 资源元数据:作为 URL 的文件名、标题、替代文本、版权、焦点、文件夹、标签、大小和私有标记;资源文件夹和内部标签。
- 数据源及其条目(键在
name,值在value,也可按维度取值,例如某种语言)。 - 各内容类型的工作流、其阶段以及某个故事的阶段历史;发布版本及其排期和状态。
写入的内容:
storyblok_create_story创建故事或文件夹,除非publish为 true,否则保存为草稿。内容根节点需要把component设为某个内容类型区块;嵌套区块放在数组里,并需要_uid。AI 会先用storyblok_list_components了解结构。storyblok_update_story会整体替换内容:AI 先用storyblok_get_story读取故事,修改后把完整区块树发回。publish为 true 时同时发布。storyblok_publish_story和storyblok_unpublish_story,可只针对部分语言。Storyblok 以 GET 请求执行它们,但它们会改变线上网站,因此算作写入。storyblok_update_asset修改替代文本、标题、版权、来源、文件夹、标签以及私有或锁定标记;文件本身不变。storyblok_create_datasource_entry和storyblok_update_datasource_entry维护键值列表。storyblok_change_workflow_stage把故事移到另一个阶段,指派用户或角色,并附评论通知他们。storyblok_create_release和storyblok_update_release;do_release: true会一次性发布该版本中的所有故事更改。在创建或更新时传入release_id,故事更改就会进入某个发布版本。
安装时关闭:storyblok_delete_story(文件夹会连同其中所有故事一起删除,并立即从 delivery API 消失)和 storyblok_delete_asset(仍指向其 URL 的故事会显示损坏的文件)。通过这个连接器无法撤销这些操作,因此由工作区管理员在团队需要时开启。
数据格式:ID 是数字,uuid 字段是 UUID。full_slug 是故事的路径;published 和 unpublished_changes 表示其状态。资源的 filename 是其公开 URL。时间为 UTC 的 ISO 8601;release_at 使用 YYYY-MM-DD HH:mm。
分页:故事、版本、资源、数据源和数据源条目使用 page(从 1 开始)和 per_page(默认 25,最多 100,数据源条目最多 1,000)。总数在 total 响应头中返回,显示为 _headers.total。超出末尾的页面返回空列表。
限制:Starter 套餐每秒 3 个请求,更高套餐每秒 6 个;429 表示需要放慢。
常见错误:401 表示令牌错误,或区域主机与空间不匹配。404 表示空间 ID 错误或条目不存在。422 表示故事无效,消息会指出字段。
该连接器不上传文件,不使用 Content Delivery API,也不修改组件结构。
步骤 2 — 安装 adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
步骤 3 — 在 ChatGPT 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
ChatGPT 在网页版的 Plugins 页面把 MCP 服务器添加为插件,仅付费套餐可用,不再需要开发者模式。在 Business 工作区中只有管理员和所有者可以添加;在 Enterprise 和 Edu 中,管理员可以授予 Create plugins with MCPs 权限。
- 前往 chatgpt.com/plugins,点击 Add,然后选择 Add custom MCP server。
- 填写名称,例如 Name:
Storyblok。 - 在 Connection 下的 Server URL 中填入
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID,Authentication 保持为 OAuth。 - 选择 I understand and want to continue,然后点击 Create as a plugin。ChatGPT 提示时,登录 AnythingMCP 并允许访问。
- 在个人插件中安装这个新插件,然后在对话中输入 @ 并选择它。
可用工具
| Tool | What it does |
|---|---|
storyblok_get_space | The connected space: name, id, plan, default domain, languages, the release and workflow features in use and the story count |
storyblok_list_stories | List stories (content entries and folders) of the space without their content: id, uuid, name, slug, full_slug, content_type, published… |
storyblok_get_story | One story with its full content (the block tree under content, each block with component and _uid), slug, published state, translations… |
storyblok_list_story_versions | Version history of a story, newest first: version id, event (published, saved, ...), author and time, and whether the version is a draft |
storyblok_create_story | Create a story or a folder |
storyblok_update_story | Update a story |
storyblok_publish_story | Publish a story so the Content Delivery API serves the current version |
storyblok_unpublish_story | Unpublish a story: it disappears from the published content until it is published again |
storyblok_delete_story | Delete a story, or a folder with its stories, by id |
storyblok_list_components | The block schemas (components) of the space: name, display_name, is_root (content type) or nestable, the schema with every field and its… |
storyblok_get_component | One block schema by id with all fields (type, required, options, allowed blocks), preview field and folder |
storyblok_list_component_folders | Component folders (groups) with id, uuid, name and parent folder, used by in_group |
storyblok_list_assets | List assets (images, videos, files) with id, filename (the URL), title, alt, copyright, focus, folder, tags, size and private flag |
storyblok_get_asset | One asset's metadata by id: filename URL, title, alt, copyright, source, focus point, folder, internal tags and size |
storyblok_update_asset | Update an asset's metadata: alt text, title, copyright and source (meta_data), folder, internal tags, private or locked flag |
storyblok_delete_asset | Delete an asset by id |
storyblok_list_asset_folders | Asset folders with id, uuid, name and parent_id, for in_folder and asset_folder_id |
storyblok_list_internal_tags | Internal tags used to organise assets and components, with id, name and object type |
storyblok_list_datasources | Datasources (key-value lists used for options and translations) with id, name, slug and dimensions |
storyblok_list_datasource_entries | Entries of a datasource (name is the key, value the value), optionally with the dimension_value of one dimension (e.g. a language) |
storyblok_create_datasource_entry | Add a key-value entry (name is the key, value the value) to a datasource |
storyblok_update_datasource_entry | Change a datasource entry's key or value, or its value for one dimension (dimension_id and dimension_value) |
storyblok_list_workflows | Workflows that apply to a content type, with their stages |
storyblok_list_workflow_stages | Workflow stages with id, name, color, the next allowed stages, who may publish and the workflow they belong to |
storyblok_list_workflow_stage_changes | History of workflow stage changes of one story: stage, user and time |
storyblok_change_workflow_stage | Move a story to another workflow stage, optionally assigning users or roles and notifying them with a comment |
storyblok_list_releases | Releases (bundles of story changes published together): id, name, scheduled release_at, released flag and branches to deploy |
storyblok_get_release | One release by id: name, release_at, released state, owner and branches to deploy |
storyblok_create_release | Create a release to collect story changes, optionally scheduled for a time |
storyblok_update_release | Rename or reschedule a release, or deploy it now with do_release true, which publishes every story change it holds |
示例提示
- “列出 blog/ 下有未发布更改的故事。”
- “给我看 home 故事的内容以及它用了哪些区块。”
- “修正 FAQ 故事中的拼写错误“recieve”并发布。”
- “资源库里哪些图片没有替代文本?为前十张建议替代文本。”
- “把价格页面的故事移到 Review 阶段,并附评论通知 marketing 角色。”
FAQ
ChatGPT 免费套餐能用自定义 MCP 服务器吗? OpenAI 只为付费套餐提供自定义 MCP 服务器的说明,Free 套餐不在其列。
下一步
这份指南对你有帮助吗?