Кратко
Headless CMS Storyblok через Management API: поиск и чтение историй и папок с полным блочным контентом и историей версий, создание, изменение, публикация и снятие с публикации, чтение схем компонентов, управление метаданными ассетов, записями datasources, этапами workflow и релизами в регионах ЕС, США, Канада, Австралия или Китай.
Пошаговая настройка
Подключи Storyblok к Claude, ChatGPT или Copilot за 2 минуты
Начни бесплатный пробный период в AnythingMCP Cloud, подключи Storyblok в пошаговой настройке и добавь свой MCP URL в своего ИИ-ассистента. Без кода и без собственного сервера.
Без банковской карты · 7 дней пробного периода · Есть вариант self-host
Попробуй спросить
Примеры промптов для Storyblok
Кликни по промпту — он скопируется. Вставь в Claude, ChatGPT, Cursor, Gemini, Copilot или OpenClaw и запусти через этот коннектор.
Claude — это AI, он может ошибаться. Проверяйте ответы.
💡 Без установки? Используйте cloud.anythingmcp.com напрямую. Войдите, нажмите Connectors → Storyblok, вставьте учётные данные, создайте MCP API key, и готово. Без Docker, без
git clone, без локального сервера.
Storyblok
Headless CMS Storyblok через Management API: поиск и чтение историй и папок с полным блочным контентом и историей версий, создание, изменение, публикация и снятие с публикации, чтение схем компонентов, управление метаданными ассетов, записями datasources, этапами workflow и релизами в регионах ЕС, США, Канада, Австралия или Китай.
Настройка
Настройка занимает около 3 минут. Нужны space в Storyblok, его числовой id и регион, в котором он создан.
- В Storyblok откройте My account > Account settings > Personal access tokens, создайте токен и вставьте его в
STORYBLOK_PERSONAL_ACCESS_TOKEN. Storyblok принимает его как есть в заголовкеAuthorization, без префикса Bearer. Токен действует с вашими собственными правами во всех space, которые вы можете открыть, поэтому пользователь с ограниченной ролью даёт более узкий токен. STORYBLOK_SPACE_ID: числовой id в Settings > Space, он же в URL приложения после#/me/spaces/, например288868932106293.STORYBLOK_API_HOST: хост Management API региона, где создан space:mapi.storyblok.com(ЕС),api-us.storyblok.com(США),api-ca.storyblok.com(Канада),api-ap.storyblok.com(Австралия) илиapp.storyblokchina.cn(Китай). Только хост, безhttps://.- Установите коннектор и запустите
storyblok_get_space: он покажет название, тариф, языки и число историй space и подтвердит все три значения.
Черновики тоже: Management API читает черновики наравне с опубликованным контентом, поэтому токен Content Delivery API не нужен.
Что он читает:
- Истории и папки через
storyblok_list_stories, без контента: фильтры по папке (starts_with),by_slugs,search,text_search, тегам,filter_queryпо полям контента, статусу публикации, этапу workflow, релизу или корзине. - Одну историю с полным деревом блоков (
storyblok_get_story): каждый блок сcomponentи_uid, а также переводы, теги, этап workflow и данные релиза.storyblok_list_story_versionsпоказывает её историю с событием, автором и временем. - Схемы блоков через
storyblok_list_componentsиstoryblok_get_component: каждое поле с типом, обязательностью, опциями и разрешёнными блоками, а также папки компонентов. - Метаданные ассетов: имя файла как URL, заголовок, альтернативный текст, копирайт, точку фокуса, папку, теги, размер и признак приватности; папки ассетов и внутренние теги.
- Datasources и их записи (ключ в
name, значение вvalue, при желании для отдельной размерности, например языка). - Workflows по типу контента, их этапы и историю этапов истории; релизы с расписанием и состоянием.
Что он записывает:
storyblok_create_storyсоздаёт историю или папку, черновиком, еслиpublishне равно true. Корню контента нуженcomponentс блоком типа контента; вложенные блоки лежат в массивах и требуют_uid. ИИ сначала смотрит схему черезstoryblok_list_components.storyblok_update_storyзаменяет контент целиком: ИИ читает историю черезstoryblok_get_story, меняет её и отправляет обратно всё дерево блоков.publishtrue заодно публикует.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, показывают битый файл). Через этот коннектор их не отменить, поэтому администратор workspace включает их, когда они нужны команде.
Форматы данных: id это числа, поля uuid это UUID. full_slug это путь истории; published и unpublished_changes показывают её состояние. filename ассета это его публичный URL. Время в ISO 8601 UTC; release_at принимает YYYY-MM-DD HH:mm.
Постраничная выдача: истории, версии, ассеты, datasources и их записи принимают page (с 1) и per_page (по умолчанию 25, максимум 100, для записей datasources 1 000). Общее число приходит в заголовке total и показывается как _headers.total. Страница за концом списка возвращает пустой список.
Ограничения: 3 запроса в секунду на тарифе Starter, 6 на старших тарифах; 429 означает, что нужно замедлиться.
Частые ошибки: 401 означает неверный токен или хост региона, не совпадающий со space. 404 означает неверный id space или неизвестный элемент. 422 означает некорректную историю, и сообщение называет поле.
Коннектор не загружает файлы, не использует Content Delivery API и не меняет схемы компонентов.
Предварительные требования: STORYBLOK_PERSONAL_ACCESS_TOKEN, STORYBLOK_SPACE_ID, STORYBLOK_API_HOST
Локальная установка коннектора
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
Откройте http://localhost:3000/connectors/store, выберите Storyblok и введите переменные, перечисленные в Предварительных требованиях.
Доступные инструменты
| 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 и какие блоки в ней используются.»
- «Исправь опечатку «recieve» в истории FAQ и опубликуй её.»
- «У каких изображений в библиотеке ассетов нет альтернативного текста? Предложи текст для первых десяти.»
- «Переведи историю страницы цен на этап Review и уведоми роль marketing комментарием.»
Следующие шаги
Это руководство помогло?