Strapi MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Integrates with Strapi CMS to provide access to content types and entries through the MCP protocol, allowing creation, reading, updating, and deletion of content entries, as well as media uploads

Strapi-mcp MCP サーバー

Strapi CMS用のMCPサーバー

これはTypeScriptベースのMCPサーバーで、Strapi CMSと統合されています。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_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_API_TOKEN (必須): 認証用のStrapi APIトークン
  • STRAPI_DEV_MODE (オプション): 開発モード機能を有効にするには「true」に設定します (デフォルトは false)

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" } )

リソースへのアクセス

access_mcp_resource( server_name: "strapi-mcp", uri: "strapi://content-type/api::article.article" )
-
security - not tested
F
license - not found
-
quality - not tested

MCP プロトコルを通じて Strapi CMS コンテンツへのアクセスを提供し、ユーザーが Claude 経由でコンテンツ エントリを作成、読み取り、更新、削除できるようにします。

  1. Features
    1. Resources
    2. Tools
    3. Advanced Features
  2. Development
    1. Installation
      1. Environment Variables
      2. Getting a Strapi API Token
      3. Debugging
    2. Usage Examples
      1. Listing Content Types
      2. Getting Entries
      3. Creating an Entry
      4. Uploading Media
      5. Accessing Resources
    ID: wrmh0bzzkr