概要
Management API によるヘッドレス CMS Storyblok:ブロックコンテンツ全体とバージョン履歴付きでストーリーとフォルダを検索して読み取り、ストーリーを作成、更新、公開、非公開にし、コンポーネントのスキーマを読み、アセットのメタデータ、データソースのエントリ、ワークフローのステージ、リリースを管理できます。EU、米国、カナダ、オーストラリア、中国の各リージョンに対応します。
ガイド付きセットアップ
Storyblok を Microsoft Copilot に 2 分で接続
AnythingMCP Cloud の無料トライアルを始め、ガイド付きセットアップで Storyblok を接続して、MCP URL を Microsoft Copilot に追加します。コードもサーバーの運用も不要です。
クレジットカード不要 · 7日間の試用 · セルフホストの選択肢あり
こう聞いてみよう
Storyblok のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
💡 インストール不要? cloud.anythingmcp.com を直接利用してください。 サインインし、Connectors → Storyblok をクリック、認証情報を貼り付け、MCP API キーを発行すれば完了です。Docker も
git cloneもローカルサーバーも不要。
Storyblok + Microsoft Copilot
Management API によるヘッドレス CMS Storyblok:ブロックコンテンツ全体とバージョン履歴付きでストーリーとフォルダを検索して読み取り、ストーリーを作成、更新、公開、非公開にし、コンポーネントのスキーマを読み、アセットのメタデータ、データソースのエントリ、ワークフローのステージ、リリースを管理できます。EU、米国、カナダ、オーストラリア、中国の各リージョンに対応します。
前提条件
完全なセットアップ手順はコネクタ自体に組み込まれています (ストアでコネクタを選択すると表示)。必要な環境変数:
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 はこれを Bearer 接頭辞なしで、そのままAuthorizationヘッダーで受け取ります。トークンは、あなたが開けるすべてのスペースであなた自身の権限で動作します。権限を絞ったロールのユーザーで作れば、範囲の狭いトークンになります。 STORYBLOK_SPACE_ID: Settings > Space にある数値 ID です。アプリの URL の#/me/spaces/の後にもあります(例:288868932106293)。STORYBLOK_API_HOST: スペースを作成したリージョンの Management API ホストです。mapi.storyblok.com(EU)、api-us.storyblok.com(米国)、api-ca.storyblok.com(カナダ)、api-ap.storyblok.com(オーストラリア)、app.storyblokchina.cn(中国)のいずれかを、https://を付けずにホスト名だけで入力します。- コネクタをインストールし、
storyblok_get_spaceを実行します。スペースの名前、プラン、言語、ストーリー数が表示され、3 つの値すべてが確認できます。
下書きも読めます: Management API は公開済みコンテンツに加えて下書きも読むため、Content Delivery API のトークンは不要です。
読み取る内容:
storyblok_list_storiesによるストーリーとフォルダ(コンテンツ本体なし)。フォルダ(starts_with)、by_slugs、search、text_search、タグ、コンテンツフィールドへのfilter_query、公開状態、ワークフローのステージ、リリース、ゴミ箱で絞り込めます。- 1 つのストーリーとそのブロックツリー全体(
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 — アダプターをインストール
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 — Microsoft Copilot にコネクタを追加
サーバーURL: AnythingMCP で MCP Servers を開き、このコネクタがあるサーバーを選んで URL(
https://cloud.anythingmcp.com/mcp/…)をコピーします。このガイドでYOUR_SERVER_IDと表示されている箇所に使ってください。
Microsoft Copilot は、Copilot Studio で作成したエージェントを通じて MCP サーバーを使います。AnythingMCP をツールとしてエージェントに追加し、そのエージェントを Microsoft 365 Copilot と Teams に公開します。Copilot Studio は Microsoft のクラウドから Streamable HTTP で接続し、AnythingMCP はこれに対応しています。
- Copilot Studio でエージェントを開き(または新規作成し)、Tools で Add a tool → New tool → Model Context Protocol を選びます。
- Server name(例:
AnythingMCP)、コネクタでできることを説明する Server description、Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDを入力します。Copilot Studio はこの説明をもとに、いつサーバーを呼び出すかを判断します。 - 認証で API key を選び、Type を Header、ヘッダー名を
X-API-Keyにして Create を選びます。 - Add tool で Create a new connection を選び、AnythingMCP の MCP API キー(MCP Servers → 対象のサーバー → API keys)を貼り付けて Add to agent を選びます。
- エージェントの Test ウィンドウで試します。
Storyblokのツールが必要になる依頼をしてみましょう。 - Publish を選び、Channels → Microsoft 365 and Microsoft Teams で Make agent available in Microsoft Copilot を選択したまま Add channel を選びます。See agent in Teams で自分用にインストールされます。Microsoft 365 Copilot では @ を入力してエージェントを選びます。
ユーザーごとにサインインさせたい場合は、API キーの代わりに OAuth 2.0 → Dynamic discovery を選びます。各ユーザーは、エージェントが初めて呼び出すときに AnythingMCP にサインインします。
セルフホストの場合は、https://cloud.anythingmcp.com の代わりにインスタンスの公開 HTTPS アドレスを使ってください。Copilot Studio は Microsoft のクラウドから接続するため、localhost は使えません。
利用可能なツール
| 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」を直して公開して。」
- 「アセットライブラリで代替テキストのない画像はどれ?最初の 10 枚に代替テキストを提案して。」
- 「料金ページのストーリーを Review ステージに移して、マーケティングのロールにコメント付きで通知して。」
FAQ
どの Copilot が対象ですか? 職場で使う Microsoft 365 Copilot で、Copilot Studio のエージェントを通じて利用します。個人アカウント向けの Microsoft Copilot アプリでは、独自の MCP サーバーを追加できません。
何が必要ですか? エージェントを作成するために、Copilot Studio を利用できる職場アカウント(ライセンスまたは試用版)が必要です。Microsoft 365 Copilot や Teams でエージェントを使う人には、エージェントへのアクセス権が必要です。共有するか、管理者に組織向けに公開してもらってください。組織が Power Platform コネクタにデータ ポリシーを適用している場合は、MCP サーバーにも適用されます。
エージェントがツールを呼び出しません。 ヘッダー名が正確に X-API-Key であること、キーが URL と同じ MCP サーバーのものであることを確認し、Server description を具体的に書いてください。Copilot Studio はこの説明をもとにサーバーを呼び出すかどうかを判断します。変更のたびにエージェントを再公開し、開いているチャットでは "start over" と入力すると新しいバージョンになります。
次のステップ
このガイドは役に立ちましたか?