MCP Storyblok Server について
MCP Storyblok Serverは、コンテンツチーム向けにMCPクライアントとStoryblok CMSを接続します。モジュール化されたツールで、コンテンツ、アセット、コンポーネント、リリース、スペースを管理できます。
主な機能
- 01ストーリーの作成、編集、公開、バージョン管理
- 02アセットとフォルダーの管理
- 03コンポーネントの作成と更新
- 04タグによるコンテンツ整理
- 05リリースの予約と公開
- 06ストーリー検索とスペース情報の取得
活用シーン
- 01MCPクライアントからStoryblokのストーリーを管理
- 02アセットのアップロードとフォルダー整理
- 03予約公開するコンテンツの準備
- 04コンテンツ検索とコンポーネントスキーマの管理
MCP 対応
Storyblok Management APIとContent Delivery APIの操作をMCPクライアント向けのツールとして公開します。ストーリー、アセット、コンポーネント、リリース、タグ、スペース、データソースを扱えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Storyblok Server
Storyblok CMS と連携する、包括的な Model Context Protocol(MCP)サーバーです。整理されたモジュール型アーキテクチャを通じて、ストーリー、アセット、コンポーネント、リリースなどを管理するツールを提供します。
特長
- ストーリー管理:CRUD 操作、公開、バージョン管理、ライフサイクル管理
- アセット管理:アップロードのワークフロー、整理、フォルダー管理
- コンポーネント管理:ブロック/コンポーネントのスキーマ管理と更新
- タグ管理:コンテンツの整理と分類
- リリース管理:公開スケジュールのワークフロー
- コンテンツ検索:高度なフィルタリングとコンテンツの検出
- スペース管理:スペースレベルの操作とメタデータ
アーキテクチャ
このサーバーは、関心事を明確に分離したモジュール型アーキテクチャを採用しています。
src/
├── config/ # Configuration and environment setup
├── types/ # TypeScript type definitions
├── utils/ # Shared utilities and API helpers
├── tools/ # Tool implementations organized by feature
│ ├── ping.ts # Health check
│ ├── stories.ts # Story management
│ ├── releases.ts # Release workflows
│ ├── tags.ts # Tag management
│ ├── assets.ts # Asset management
│ ├── components.ts # Component management
│ ├── search.ts # Content discovery
│ ├── space.ts # Space operations
│ └── index.ts # Tool registration
└── index.ts # Main server entry point
環境変数
次の環境変数が必要です。
STORYBLOK_SPACE_ID=your_space_id
STORYBLOK_MANAGEMENT_TOKEN=your_management_token
STORYBLOK_DEFAULT_PUBLIC_TOKEN=your_public_token
インストールとセットアップ
- 依存関係をインストールします。
yarn install
- プロジェクトをビルドします。
yarn build
- MCP クライアントの設定で環境変数を設定します。
開発
ビルド
yarn build
型チェック
yarn tsc --noEmit
ツールのカテゴリ
基本ツール
ping:サーバーのヘルスチェック
コンテンツ管理
fetch-stories:フィルタリングしてストーリーを一覧表示get-story:ID/スラッグを指定してストーリーを取得create-story:新しいストーリーを作成update-story:既存のストーリーを更新delete-story:ストーリーを削除publish-story/unpublish-story:公開を制御get-story-versions/restore-story:バージョンを管理
タグ管理
fetch-tags:すべてのタグを一覧表示create-tag:新しいタグを作成create-tag-and-add-to-story:タグを作成して割り当てdelete-tag:タグを削除
リリース管理
fetch-releases:リリースを一覧表示create-release:公開スケジュールを設定したリリースを作成add-story-to-release:リリースにコンテンツを追加publish-release:リリースを公開delete-release:リリースを削除
アセット管理
fetch-assets:フィルタリングしてアセットを一覧表示get-asset:特定のアセットの詳細を取得delete-asset:アセットを削除init-asset-upload/complete-asset-upload:アップロードのワークフローfetch-asset-folders:アセットフォルダーを一覧表示create-asset-folder/update-asset-folder/delete-asset-folder:フォルダーを管理
コンポーネント管理
fetch-components:すべてのコンポーネントを一覧表示get-component:特定のコンポーネントを取得create-component:新しいコンポーネントを作成update-component:コンポーネントのスキーマを更新delete-component:コンポーネントを削除
コンテンツの検出
search-stories:高度なコンテンツ検索get-story-by-slug:スラッグでコンテンツを取得
スペース管理
get-space:スペース情報を取得fetch-folders:コンテンツフォルダーを一覧表示fetch-datasources:データソースを一覧表示
実装されているベストプラクティス
- モジュール型アーキテクチャ:各ツールカテゴリを独立したファイルに配置
- 型安全性:すべてのインターフェースに包括的な TypeScript 型を使用
- エラー処理:すべてのツールで一貫したエラー処理
- コードの再利用:共通の操作に共有ユーティリティを使用
- ドキュメント:コード内に包括的なドキュメントを記載
- 設定管理:環境変数の処理を一元化
API のカバレッジ
このサーバーは、Storyblok Management API と Content Delivery API を幅広くカバーしており、次の API が含まれます。
- Stories API(Management & Delivery)
- Assets API
- Components API
- Releases API
- Tags API
- Space API
- Datasources API
各ツールには、適切なエラー処理、パラメーターの検証、一貫したレスポンス形式が備わっています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。