Skip to main content
Glama

ストラピMCP

Strapi CMS 用の MCP サーバー。モデル コンテキスト プロトコルを通じてコンテンツ タイプとエントリへのアクセスを提供します。

概要

この MCP サーバーは、任意の Strapi CMS インスタンスと統合して、次の機能を提供します。

  • Strapiコンテンツタイプへのリソースとしてのアクセス

  • Strapiでコンテンツタイプを作成および更新するためのツール

  • コンテンツエントリを管理するためのツール(作成、読み取り、更新、削除)

  • 開発モードでのStrapiのサポート

Related MCP server: Ledger MCP Server

設定

環境変数

資格情報を保存するには、プロジェクト ルート内の.envファイルを使用することをお勧めします。

  • STRAPI_URL : StrapiインスタンスのURL(デフォルト: http://localhost:1337

  • STRAPI_ADMIN_EMAIL : Strapi 管理者ユーザーのメール アドレス (完全な機能、特にスキーマ アクセスに推奨)。

  • STRAPI_ADMIN_PASSWORD : Strapi 管理者ユーザーのパスワード (推奨)。

  • STRAPI_API_TOKEN : (オプションのフォールバック) APIトークン。管理者の資格情報が提供されていない場合に使用できますが、権限が制限される場合があります。

  • STRAPI_DEV_MODE : 開発モード機能を有効にするには"true"に設定します (デフォルトはfalse )。

.env

STRAPI_URL=http://localhost:1337 STRAPI_ADMIN_EMAIL=your_admin_email@example.com STRAPI_ADMIN_PASSWORD=your_admin_password # STRAPI_API_TOKEN=your_api_token_here # Optional

**重要:**資格情報のコミットを回避するには、 .gitignoreファイルに.envを追加します。

インストール

npm install strapi-mcp

ランニング

推奨方法 (

プロジェクトがビルドされていることを確認してください( npm run build )。次に、Node.js v20.6.0+ で--env-fileフラグを指定してサーバーを実行します。

node --env-file=.env build/index.js

代替案(環境変数を直接使用):

export STRAPI_URL=http://localhost:1337 export STRAPI_ADMIN_EMAIL=your_admin_email@example.com export STRAPI_ADMIN_PASSWORD=your_admin_password # export STRAPI_API_TOKEN=your-api-token # Optional fallback export STRAPI_DEV_MODE=true # optional # Run the globally installed package (if installed via npm install -g) strapi-mcp # Or run the local build directly node build/index.js

特徴

  • コンテンツの種類を一覧表示して読む

  • エントリを取得、作成、更新、削除する

  • メディアファイルをアップロードする

  • 関係の接続と切断

  • コンテンツタイプスキーマを取得する

変更履歴

0.1.6

  • create_content_type Content-Type Builder API 経由で新しいコンテンツ タイプを作成できるようになりました (管理者の資格情報が必要です)。

  • **管理者の資格情報の優先順位:**コンテンツ タイプとスキーマを取得するために管理者のメール アドレスとパスワードを優先するようにロジックを更新し、信頼性を向上しました。

  • **更新されたドキュメント:**認証方法と推奨される実行手順を明確にしました。

0.1.5

  • 複数のフォールバック方法によるコンテンツタイプの検出の改善

  • より堅牢なエラー処理とログ記録を追加しました

  • コンテンツタイプのスキーマ推論の強化

0.1.4

  • より具体的なエラーコードによるエラー処理の改善

  • ResourceNotFoundおよびAccessDeniedエラー コードを追加しました

  • 一般的な API エラーに対するエラー メッセージの改善

0.1.3

  • 初回公開リリース

ライセンス

マサチューセッツ工科大学

Strapi-mcp MCP サーバー

Strapi CMS用のMCPサーバー

これは、Strapi CMSと統合されたTypeScriptベースのMCPサーバーです。MCPプロトコルを介してStrapiのコンテンツタイプとエントリにアクセスできるため、以下のことが可能になります。

  • Strapiコンテンツタイプをリソースとしてアクセスする

  • コンテンツエントリの作成、読み取り、更新、削除

  • MCPツールを通じてStrapiコンテンツを管理する

特徴

リソース

  • URI 経由でコンテンツ タイプを一覧表示してアクセスするstrapi://content-type/ )

  • 各コンテンツタイプはエントリをJSONとして公開します

  • 構造化コンテンツへのアクセスのためのアプリケーション/JSON MIME タイプ

ツール

  • list_content_types - Strapiで利用可能なすべてのコンテンツタイプを一覧表示します

  • get_entries - フィルタリング、ページ区切り、並べ替え、リレーションの設定など、特定のコンテンツタイプのエントリを取得します。

  • get_entry - IDで特定のエントリを取得する

  • create_entry - コンテンツタイプの新しいエントリを作成する

  • update_entry - 既存のエントリを更新する

  • delete_entry - エントリを削除する

  • upload_media - Strapiにメディアファイルをアップロードする

  • get_content_type_schema - 特定のコンテンツ タイプのスキーマ (フィールド、タイプ、リレーション) を取得します。

  • connect_relation - 関連エントリをエントリの関係フィールドに接続します。

  • disconnect_relation - エントリの関係フィールドから関連エントリを切断します。

  • create_content_type - コンテンツ タイプ ビルダー API を使用して新しいコンテンツ タイプを作成します (管理者権限が必要です)。

高度な機能

フィルタリング、ページネーション、ソート

get_entriesツールは、高度なクエリ オプションをサポートしています。

{ "contentType": "api::article.article", "filters": { "title": { "$contains": "hello" } }, "pagination": { "page": 1, "pageSize": 10 }, "sort": ["title:asc", "createdAt:desc"], "populate": ["author", "categories"] }

リソースURI

リソースにはさまざまな URI 形式でアクセスできます。

  • strapi://content-type/api::article.article - すべての記事を取得する

  • strapi://content-type/api::article.article/1 - ID 1の記事を取得します

  • strapi://content-type/api::article.article?filters={"title":{"$contains":"hello"}} - フィルタリングされた記事を取得する

発達

依存関係をインストールします:

npm install

サーバーを構築します。

npm run build

自動リビルドを使用した開発の場合:

npm run watch

インストール

この MCP サーバーを展開およびテストする方法の詳細な手順については、 DEPLOYMENT.mdファイルを参照してください。

クイックセットアップ:

  1. サーバーをビルドする: npm run build

  2. Strapiインスタンスを設定し、APIトークンを取得する

  3. Claude Desktop にサーバー設定を追加します。

MacOS の場合: ~/Library/Application Support/Claude/claude_desktop_config.json Windows の場合: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "strapi-mcp": { "command": "/path/to/strapi-mcp/build/index.js", "env": { "STRAPI_URL": "http://localhost:1337", "STRAPI_API_TOKEN": "your-api-token-here", "STRAPI_DEV_MODE": "false" } } } }

環境変数

  • STRAPI_URL (オプション): StrapiインスタンスのURL (デフォルトはhttp://localhost:1337 )

  • STRAPI_ADMIN_EMAIL & STRAPI_ADMIN_PASSWORD (推奨): Strapi管理者ユーザーの認証情報。コンテンツタイプスキーマの取得など、すべての機能を利用するために必要です。

  • STRAPI_API_TOKEN (オプションのフォールバック):Strapi APIトークン。管理者の資格情報が提供されていない場合でも使用できますが、トークンの権限に基づいて機能が制限される場合があります。

  • STRAPI_DEV_MODE (オプション): 開発モード機能を有効にするには「true」に設定します (デフォルトは false)

認証の優先順位

サーバーは、次の順序で認証方法を優先順位付けします。

  1. 管理者のメールアドレスとパスワード ( STRAPI_ADMIN_EMAILSTRAPI_ADMIN_PASSWORD )

  2. APIトークン( STRAPI_API_TOKEN )

最良の結果を得るには、管理者資格情報を使用することを強くお勧めします。

Strapi 資格の取得

  • **管理者の資格情報:**既存のスーパー管理者のメール アドレスとパスワードを使用するか、Strapi 管理パネル (設定 > 管理パネル > ユーザー) で専用の管理者ユーザーを作成します。

  • APIトークン: (オプションのフォールバック)

  1. Strapi管理パネルにログイン

  2. 設定 > APIトークンに移動します

  3. 「新しいAPIトークンを作成」をクリックします

  4. 名前、説明、トークンの種類(「フルアクセス」が望ましい)を設定します

  5. 生成されたトークンをコピーして、MCP サーバー構成で使用します。

デバッグ

MCPサーバーはstdio経由で通信するため、デバッグが困難になる場合があります。パッケージスクリプトとして提供されているMCP Inspectorの使用をお勧めします。

npm run inspector

インスペクターは、ブラウザでデバッグ ツールにアクセスするための URL を提供します。

使用例

MCPサーバーの設定と実行が完了したら、Claudeと組み合わせてStrapi CMSと連携できるようになります。以下に例をいくつか示します。

コンテンツタイプのリスト

use_mcp_tool( server_name: "strapi-mcp", tool_name: "list_content_types", arguments: {} )

エントリの取得

use_mcp_tool( server_name: "strapi-mcp", tool_name: "get_entries", arguments: { "contentType": "api::article.article", "filters": { "title": { "$contains": "hello" } }, "pagination": { "page": 1, "pageSize": 10 }, "sort": ["title:asc"] } )

エントリの作成

use_mcp_tool( server_name: "strapi-mcp", tool_name: "create_entry", arguments: { "contentType": "api::article.article", "data": { "title": "My New Article", "content": "This is the content of my article.", "publishedAt": "2023-01-01T00:00:00.000Z" } } )

メディアのアップロード

use_mcp_tool( server_name: "strapi-mcp", tool_name: "upload_media", arguments: { "fileData": "base64-encoded-data-here", "fileName": "image.jpg", "fileType": "image/jpeg" } )

関係をつなぐ

use_mcp_tool( server_name: "strapi-mcp", tool_name: "connect_relation", arguments: { "contentType": "api::article.article", "id": "1", "relationField": "authors", "relatedIds": [2, 3] } )

関係の断絶

use_mcp_tool( server_name: "strapi-mcp", tool_name: "disconnect_relation", arguments: { "contentType": "api::article.article", "id": "1", "relationField": "authors", "relatedIds": [3] } )

コンテンツタイプの作成

use_mcp_tool( server_name: "strapi-mcp-local", tool_name: "create_content_type", arguments: { "displayName": "My New Product", "singularName": "product", "pluralName": "products", "kind": "collectionType", "description": "Represents products in the store", "draftAndPublish": true, "attributes": { "name": { "type": "string", "required": true }, "description": { "type": "text" }, "price": { "type": "decimal", "required": true }, "stock": { "type": "integer" } } } )

コンテンツタイプの更新

use_mcp_tool( server_name: "strapi-mcp-local", tool_name: "update_content_type", arguments: { "contentType": "api::speaker.speaker", "attributes": { "isHighlightSpeaker": { "type": "boolean", "default": false }, "newTextField": { "type": "string" } } } )

リソースへのアクセス

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/l33tdawg/strapi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server