Home
Login

WordPressサイトをモデルコンテキストプロトコル(MCP)サーバーに変換するプラグイン。AIエージェントや大規模言語モデルがREST APIを通じてWordPressの機能と連携することをサポートします。

PHP 213Automatticwordpress-mcp Last Updated: 2025-06-24

WordPress MCP プロジェクト詳細

プロジェクト概要

WordPress MCP(Model Context Protocol)は、Automatticが開発したWordPressプラグインで、WordPressサイトをシンプルなMCPサーバーに変換し、WordPress REST APIを通じてサイト機能を公開し、大規模言語モデル(LLM)やAIエージェントがそれと対話できるようにすることを目的としています。このプロジェクトにより、開発者はAIツールを利用して、コンテンツ管理、ユーザー操作、サイト構成などの自動化タスクを実現し、開発効率と統合能力を向上させることができます。

主要機能

  1. MCPサーバーサポート

    • REST APIルート(/wp/v2/wpmcp/wp/v2/wpmcp/streamableなど)を通じてMCPサーバー機能を提供し、AIエージェントとWordPressの対話をサポートします。
    • McpStdioTransport(標準入出力)とMcpStreamableTransport(ストリーミング伝送、SSEまたは他のストリーミングプロトコルに適用)の2つのトランスポート層をサポートします。
  2. 認証メカニズム

    • JWT(JSON Web Token)認証システムを採用し、安全な通信を確保します。
    • WordPressアプリケーションパスワード(Application Passwords)およびWooCommerce REST APIのコンシューマーキーとシークレットキーをサポートし、セキュリティを強化します。
  3. メソッドハンドラー

    • ツール(Tools)、リソース(Resources)、プロンプト(Prompts)などのメソッドハンドラーを提供し、コンテンツ管理、サイト初期化などの操作をサポートします。
    • カスタムツールを通じて機能を拡張し、特定のニーズを満たすことができます。
  4. 管理インターフェース

    • Reactベースの管理インターフェースを提供し、ユーザーがWordPressバックエンドで認証トークン(Tokens)やその他の構成を簡単に管理できるようにします。
  5. MCPクライアントとの互換性

    • MCP互換のクライアント(Claude Desktopなど)とシームレスに連携し、プロキシ(mcp-wordpress-remoteなど)を通じてREST APIリクエストをサポートし、常時接続を維持する必要はありません。

プロジェクトの特徴

  • 安全性:JWT認証とアプリケーションパスワードを通じてデータセキュリティを確保し、HTTPS暗号化通信の使用を推奨します。
  • 拡張性:開発者がカスタムツール、リソース、プロンプトを追加してプラグイン機能を拡張することをサポートします。
  • 開発フレンドリー:詳細なテストドキュメント(tests/README.md)と貢献ガイドを提供し、コミュニティの参加を奨励します。
  • 軽量かつ高効率:プロキシモードは常時接続を回避し、パフォーマンスを最適化し、ローカル開発とリモートデプロイに適しています。
  • オープンソースライセンス:GPL v2以降のライセンスを採用し、WordPressおよびAIコミュニティに公開します。

技術アーキテクチャ

プロジェクトのコアアーキテクチャには、以下のモジュールが含まれます。

  • トランスポート層(Transport Layer)

    • McpStdioTransport:標準入出力を通じてMCPリクエストを処理し、ローカル開発に適しています。
    • McpStreamableTransport:ストリーミング伝送をサポートし、リアルタイムインタラクションシナリオに適しています(現在、一部のクライアントはサポートしていない可能性があります)。
  • 認証システム(Authentication)

    • JWT認証を使用し、wp-config.phpWPMCP_JWT_SECRET_KEYを定義する必要があります。
    • WordPressアプリケーションパスワードとWooCommerceキーをサポートし、柔軟性を高めます。
  • メソッドハンドラー(Method Handlers)

    • ツール(Tools):コンテンツの作成、更新、削除などの操作を実現します。
    • リソース(Resources):サイトデータアクセスインターフェースを提供します。
    • プロンプト(Prompts):AIエージェントにコンテキストガイダンスを提供します。
    • システム初期化(System & Initialization):MCPサーバーの起動と構成を処理します。
  • 管理インターフェース(Admin Interface)

    • Reactを使用して構築され、WordPressバックエンドの「設定 > WordPress MCP」ページにあり、認証トークンと機能スイッチを管理するために使用されます。

インストールと構成

インストール手順

  1. リポジトリのクローン

    cd wp-content/plugins/
    git clone https://github.com/Automattic/wordpress-mcp.git
    cd wordpress-mcp
    
  2. 依存関係のインストール

    composer install --no-dev
    npm install && npm run build
    
  3. プラグインのアクティブ化

    • WordPressバックエンドの「プラグイン」ページでWordPress MCPプラグインをアクティブ化します。
  4. MCP機能の構成

    • 「設定 > WordPress MCP」に移動し、MCP機能を有効にして認証トークンを構成します。
  5. JWTキーの構成wp-config.phpに以下を追加します。

    define('WPMCP_JWT_SECRET_KEY', 'your-secret-key');
    define('WPMCP_DEBUG', true); // デバッグログを有効にする
    
  6. リモートクライアントのインストール(オプション):

    • mcp-wordpress-remoteと連携して使用するには、次のコマンドでインストールします。
      npx @modelcontextprotocol/inspector \
      -e WP_API_URL=https://your-site.com/ \
      -e JWT_TOKEN=your-jwt-token-here \
      npx @automattic/mcp-wordpress-remote@latest
      

構成に関する注意事項

  • 安全性:認証トークンをバージョン管理システムにコミットしないでください。WPMCP_JWT_SECRET_KEYを安全に保管してください。
  • デバッグWPMCP_DEBUGを有効にすると、デバッグログが記録され、問題のトラブルシューティングに役立ちます。
  • 削除操作:削除ツールを使用すると、データが完全に失われる可能性があるため、信頼できるユーザーのみに有効にしてください。
  • リモートクライアントへの依存:WordPress MCPプラグインは、mcp-wordpress-remoteと連携して使用し、完全な機能を実現する必要があります。

使用シナリオ

WordPress MCPプロジェクトは、以下のシナリオに適しています。

  1. コンテンツ管理の自動化

    • AIエージェントを通じて、記事、ページ、ユーザーなどを自動的に作成、更新、または削除し、手動操作の時間を節約します。
    • 例:Claude Desktopコマンド「タイトルが「テスト記事 #1–10」の草稿記事を10件作成する」を使用すると、テストコンテンツが自動的に生成されます。
  2. 開発とテスト

    • 開発者はMCPツールを利用してテストデータを迅速に生成し、機能テストと統合開発を加速できます。
    • 例:AIエージェントを通じてデバッグログをクエリして問題を要約し、デバッグプロセスを簡素化します。
  3. サイト管理

    • サイト構成、ユーザー権限、またはメディアファイルをリモートで管理し、分散型チームコラボレーションに適しています。
    • WooCommerce統合をサポートし、eコマース関連データ(注文、製品など)を管理できます。
  4. AI駆動のカスタマイズ

    • 開発者はカスタムツールを追加して、特定のビジネスロジックを公開し、個々のニーズを満たすことができます。
    • 例:カスタムツールを作成して、記事カテゴリを一括更新したり、SEOメタデータを最適化したりします。

拡張と開発

カスタムツールの追加

開発者は、以下の手順でプラグイン機能を拡張できます。

  1. ツールファイルの作成

    • wp-content/plugins/wordpress-mcp/includes/Tools/ディレクトリに新しいツールクラスを追加します。
    • ツールクラスの例:
      <?php
      namespace WPMCP\Tools;
      class CustomTool {
          public function execute($params) {
              // カスタムロジックを実装する
              return ['success' => true, 'data' => 'Custom tool executed'];
          }
      }
      
  2. ツールの登録

    • プラグインの初期化時に新しいツールを登録し、MCPインターフェースを通じて利用できるようにします。
  3. 既存の実装の参照

    • includes/Tools/includes/Resources/、およびincludes/Prompts/ディレクトリのサンプルコードを参照してください。

コードの貢献

  • 貢献ガイド:リポジトリのContributing Guidelinesを参照して、プルリクエストを送信するか、Issueを報告してください。
  • テストドキュメントtests/README.mdを参照してテストプロセスを理解し、コード品質を確保してください。
  • ライセンス要件:すべての貢献は、GPL v2以降のライセンスに従う必要があります。

関連リソース

Star History Chart