WordPress MCP プロジェクト詳細
プロジェクト概要
WordPress MCP(Model Context Protocol)は、Automatticが開発したWordPressプラグインで、WordPressサイトをシンプルなMCPサーバーに変換し、WordPress REST APIを通じてサイト機能を公開し、大規模言語モデル(LLM)やAIエージェントがそれと対話できるようにすることを目的としています。このプロジェクトにより、開発者はAIツールを利用して、コンテンツ管理、ユーザー操作、サイト構成などの自動化タスクを実現し、開発効率と統合能力を向上させることができます。
主要機能
-
MCPサーバーサポート:
- REST APIルート(
/wp/v2/wpmcpや/wp/v2/wpmcp/streamableなど)を通じてMCPサーバー機能を提供し、AIエージェントとWordPressの対話をサポートします。 McpStdioTransport(標準入出力)とMcpStreamableTransport(ストリーミング伝送、SSEまたは他のストリーミングプロトコルに適用)の2つのトランスポート層をサポートします。
- REST APIルート(
-
認証メカニズム:
- JWT(JSON Web Token)認証システムを採用し、安全な通信を確保します。
- WordPressアプリケーションパスワード(Application Passwords)およびWooCommerce REST APIのコンシューマーキーとシークレットキーをサポートし、セキュリティを強化します。
-
メソッドハンドラー:
- ツール(Tools)、リソース(Resources)、プロンプト(Prompts)などのメソッドハンドラーを提供し、コンテンツ管理、サイト初期化などの操作をサポートします。
- カスタムツールを通じて機能を拡張し、特定のニーズを満たすことができます。
-
管理インターフェース:
- Reactベースの管理インターフェースを提供し、ユーザーがWordPressバックエンドで認証トークン(Tokens)やその他の構成を簡単に管理できるようにします。
-
MCPクライアントとの互換性:
- MCP互換のクライアント(Claude Desktopなど)とシームレスに連携し、プロキシ(
mcp-wordpress-remoteなど)を通じてREST APIリクエストをサポートし、常時接続を維持する必要はありません。
- MCP互換のクライアント(Claude Desktopなど)とシームレスに連携し、プロキシ(
プロジェクトの特徴
- 安全性:JWT認証とアプリケーションパスワードを通じてデータセキュリティを確保し、HTTPS暗号化通信の使用を推奨します。
- 拡張性:開発者がカスタムツール、リソース、プロンプトを追加してプラグイン機能を拡張することをサポートします。
- 開発フレンドリー:詳細なテストドキュメント(
tests/README.md)と貢献ガイドを提供し、コミュニティの参加を奨励します。 - 軽量かつ高効率:プロキシモードは常時接続を回避し、パフォーマンスを最適化し、ローカル開発とリモートデプロイに適しています。
- オープンソースライセンス:GPL v2以降のライセンスを採用し、WordPressおよびAIコミュニティに公開します。
技術アーキテクチャ
プロジェクトのコアアーキテクチャには、以下のモジュールが含まれます。
-
トランスポート層(Transport Layer):
McpStdioTransport:標準入出力を通じてMCPリクエストを処理し、ローカル開発に適しています。McpStreamableTransport:ストリーミング伝送をサポートし、リアルタイムインタラクションシナリオに適しています(現在、一部のクライアントはサポートしていない可能性があります)。
-
認証システム(Authentication):
- JWT認証を使用し、
wp-config.phpでWPMCP_JWT_SECRET_KEYを定義する必要があります。 - WordPressアプリケーションパスワードとWooCommerceキーをサポートし、柔軟性を高めます。
- JWT認証を使用し、
-
メソッドハンドラー(Method Handlers):
- ツール(Tools):コンテンツの作成、更新、削除などの操作を実現します。
- リソース(Resources):サイトデータアクセスインターフェースを提供します。
- プロンプト(Prompts):AIエージェントにコンテキストガイダンスを提供します。
- システム初期化(System & Initialization):MCPサーバーの起動と構成を処理します。
-
管理インターフェース(Admin Interface):
- Reactを使用して構築され、WordPressバックエンドの「設定 > WordPress MCP」ページにあり、認証トークンと機能スイッチを管理するために使用されます。
インストールと構成
インストール手順
-
リポジトリのクローン:
cd wp-content/plugins/ git clone https://github.com/Automattic/wordpress-mcp.git cd wordpress-mcp -
依存関係のインストール:
composer install --no-dev npm install && npm run build -
プラグインのアクティブ化:
- WordPressバックエンドの「プラグイン」ページでWordPress MCPプラグインをアクティブ化します。
-
MCP機能の構成:
- 「設定 > WordPress MCP」に移動し、MCP機能を有効にして認証トークンを構成します。
-
JWTキーの構成:
wp-config.phpに以下を追加します。define('WPMCP_JWT_SECRET_KEY', 'your-secret-key'); define('WPMCP_DEBUG', true); // デバッグログを有効にする -
リモートクライアントのインストール(オプション):
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プロジェクトは、以下のシナリオに適しています。
-
コンテンツ管理の自動化:
- AIエージェントを通じて、記事、ページ、ユーザーなどを自動的に作成、更新、または削除し、手動操作の時間を節約します。
- 例:Claude Desktopコマンド「タイトルが「テスト記事 #1–10」の草稿記事を10件作成する」を使用すると、テストコンテンツが自動的に生成されます。
-
開発とテスト:
- 開発者はMCPツールを利用してテストデータを迅速に生成し、機能テストと統合開発を加速できます。
- 例:AIエージェントを通じてデバッグログをクエリして問題を要約し、デバッグプロセスを簡素化します。
-
サイト管理:
- サイト構成、ユーザー権限、またはメディアファイルをリモートで管理し、分散型チームコラボレーションに適しています。
- WooCommerce統合をサポートし、eコマース関連データ(注文、製品など)を管理できます。
-
AI駆動のカスタマイズ:
- 開発者はカスタムツールを追加して、特定のビジネスロジックを公開し、個々のニーズを満たすことができます。
- 例:カスタムツールを作成して、記事カテゴリを一括更新したり、SEOメタデータを最適化したりします。
拡張と開発
カスタムツールの追加
開発者は、以下の手順でプラグイン機能を拡張できます。
-
ツールファイルの作成:
wp-content/plugins/wordpress-mcp/includes/Tools/ディレクトリに新しいツールクラスを追加します。- ツールクラスの例:
<?php namespace WPMCP\Tools; class CustomTool { public function execute($params) { // カスタムロジックを実装する return ['success' => true, 'data' => 'Custom tool executed']; } }
-
ツールの登録:
- プラグインの初期化時に新しいツールを登録し、MCPインターフェースを通じて利用できるようにします。
-
既存の実装の参照:
includes/Tools/、includes/Resources/、およびincludes/Prompts/ディレクトリのサンプルコードを参照してください。
コードの貢献
- 貢献ガイド:リポジトリのContributing Guidelinesを参照して、プルリクエストを送信するか、Issueを報告してください。
- テストドキュメント:
tests/README.mdを参照してテストプロセスを理解し、コード品質を確保してください。 - ライセンス要件:すべての貢献は、GPL v2以降のライセンスに従う必要があります。
関連リソース
- GitHubリポジトリ:https://github.com/Automattic/wordpress-mcp
- リモートクライアント:https://github.com/Automattic/mcp-wordpress-remote
- WordPress MCP公式サイト:https://mcp-wp.github.io