説明
これは「AI Building Blocks for WordPress」イニシアチブの一環です。
MCP Adapter は、WordPress の Abilities API と Model Context Protocol (MCP) 仕様をつなぎ、AI エージェントが WordPress の機能を利用するための標準化された方法を提供します。HTTP と STDIO のトランスポート、包括的なエラー処理、独自の連携を追加できる拡張可能な構造を備えています。
機能:
- アビリティから MCP への変換 – WordPress のアビリティを MCP のツール、リソース、プロンプトに自動変換。
- 複数サーバーの管理 – 個別に設定した複数の MCP サーバーを作成、管理。
- 拡張可能なトランスポート層 – 組み込みの HTTP および STDIO トランスポートと、独自のトランスポートプロトコルへの対応。
- 柔軟なエラー処理 – WordPress と互換性のある標準のエラーログ記録と、サーバーごとに設定できる独自のハンドラー。
- 可観測性 – 設定可能なハンドラーを使い、追加の負荷をかけずにメトリクスを追跡。
- 権限の制御 – 公開するすべての機能に対して、細かく設定できる権限チェック。
インストール
- WordPress 管理画面の「プラグイン > 新規追加」に移動し、「MCP Adapter」を検索して「今すぐインストール」をクリックする。
- WordPress の「プラグイン」画面でプラグインを有効化する。
- 公開したいアビリティを登録するか、アビリティを登録するプラグインをインストールする。
プラグインの ZIP ファイルを「プラグイン > 新規追加 > プラグインのアップロード」からアップロードするか、WP-CLI でインストールすることもできます:
wp plugin install mcp-adapter --activate
FAQ
-
MCP とは何ですか ?
-
Model Context Protocol は、AI エージェントと外部システムを接続するためのオープン標準です。各 AI クライアントに個別の連携機能を実装する代わりに、システムが実行できる操作を MCP のツール、リソース、プロンプトとして公開し、MCP 対応クライアントが利用できるようにします。仕様は modelcontextprotocol.io を参照してください。
-
MCP Adapter とは何ですか ?
-
MCP Adapter はサーバーとトランスポートの層を提供します。AI 機能自体は提供しません。
公開する内容は WordPress の Abilities API で定義されます。アビリティは、投稿の読み取りや設定の更新など、WordPress 本体または別のプラグインが登録する単一の操作です。MCP Adapter はサイトに登録されたアビリティを MCP クライアントから利用できるようにし、プロトコルのネゴシエーション、権限チェック、エラー処理を担います。
そのため、利用するには WordPress 本体、またはアビリティを登録するプラグインによって、サイトにアビリティが用意されている必要があります。
-
AI エージェントをサイトに接続するにはどうすればよいですか ?
-
アダプターは組み込みの HTTP トランスポートで MCP エンドポイントを登録します。MCP 対応クライアントをエンドポイントに接続し、WordPress ユーザーとして認証してください。アダプターは MCP のリビジョン
2025-11-25と2026-07-28に対応しています。エンドポイントの詳細は入門ガイドを参照してください。 -
登録されたアビリティはすべて自動的に公開されますか ?
-
いいえ。公開するかどうかを選択できます。公開に設定されたアビリティだけが MCP 経由で利用可能になり、実行前には現在のユーザーに対する権限チェックも行われます。アビリティの公開と非公開の設定方法はドキュメントを参照してください。
-
バグの報告や機能の要望はどこに送ればよいですか ?
-
GitHub リポジトリで報告してください。セキュリティ上の問題は公開せず、SECURITY.md に記載された手順に従ってください。
プラグイン開発者は、プラグインのヘッダーに
Requires Plugins: mcp-adapterを追加して MCP Adapter への依存を宣言してください。WP-CLI と wp-env の利用方法は README を参照してください。
貢献者と開発者
変更履歴
0.7.1 – 2026-10-15
修正
- Bound stored session initialization parameters to 4 KiB and automatically recover oversized session data, preventing repeated database failures and excessive logging. Affected clients need to reconnect once. Client icons are excluded from storage so large inline icons do not prevent connections.
- Register the installed plugin’s autoloader before checking for bundled copies, allowing version selection before an older bundled class is loaded.
- Unknown ability names from MCP clients no longer generate WordPress developer notices.
変更
- Unavailable abilities return clearer errors with relevant available ability names or a pointer to discovery. Abilities not exposed through MCP return the same
ability_not_founderror as unknown names.
追加
- A site-owner guide covers connecting an AI client, Application Passwords, and troubleshooting.
0.7.0 – 2026-10-02
破壊的変更
- アダプターが提供する MCP スキーマのリビジョンを
2025-11-25と2026-07-28の2つに限定。2025-06-18または2024-11-05を提示するクライアントも接続でき、2025-11-25のスキーマで応答する。 - 生成された DTO クラス、
McpToolValidator、McpResourceValidator、McpPromptValidatorクラス、およびmcp_adapter_validation_enabledフィルターを削除。ワイヤー形式の検証は常に選択されたスキーマを通じて実行。 - 無効なプロトコルフィールドを黙って削除または修正しないように変更。対応するリビジョンで表現できないコンポーネントを拒否。
- 独自のトランスポートは
HttpRequestHandlerまたはMcpWireOrchestratorに処理を委譲する必要がある。JSON-RPC のバッチリクエストを拒否。 WP\MCP\Cliクラスをfinalに変更。
追加
- セッションを使用しない
server/discoverのライフサイクルと新しい HTTP ヘッダーを含む、MCP2026-07-28への対応。 - 直接呼び出せるツールが
McpInputRequiredを返すことで、2026-07-28では elicitation による入力を要求できるように変更。 - 選択されたスキーマ、トランスポート、セッションデータを保持する、リクエストごとの変更不可のコンテキスト
McpRequestContextを追加。
変更
- MCP Adapter を同梱ライブラリとして使用する方法を非推奨に変更。代わりに MCP Adapter プラグインをインストールする。
修正
mcp-adapter/get-ability-infoが空のinput_schemaを[]ではなく{}としてシリアライズするように修正。- 別のプラグインが MCP サーバーの初期化より先に Abilities API を初期化した場合でも、デフォルトのアビリティを登録するように修正。
変更の全一覧は、0.7.0 移行ガイドと CHANGELOG.md を参照してください。
0.6.1 – 2026-08-13
修正
- リリース ZIP に含まれないファイルを参照する Jetpack Autoloader のクラスマップを、ZIP に同梱しないように変更。0.6.0 のクラスマップには、
WP_CLIやWP_CLI_Commandなどのテスト専用グローバルクラスが記載され、リリース成果物から除外されるtests/phpunit/内のファイルに対応付けられていた。そのため、通常の Web リクエストでプラグインがclass_exists( 'WP_CLI' )を呼び出すと、捕捉されない致命的エラーが発生する可能性があった。WP-CLI を利用できない場合、class_exists( 'WP_CLI' )はfalseを返すように修正 (#283)。
API、フック、プロトコルの動作に変更はありません。0.6.0からのアップグレードに移行作業は不要です。ソースからビルドした環境や Composer 経由で導入した環境には影響しません。
0.6.0 – 2026-08-12
破壊的変更
- WordPress 6.9以降が必須に。単独の Abilities API プラグインを使ったインストール方法はサポートを終了。
meta.public: trueのアビリティは、meta.mcp.publicで明示的に除外されない限り、デフォルトの MCP サーバーを通じて公開されるように変更。既存の権限コールバックと権限チェックは引き続き適用される。- マルチサイトでは、セッション保存領域がネットワーク共通のキーからサイトごとのキーに変わるため、稼働中の Streamable HTTP セッションはアップグレード後に一度再接続する必要がある。単一サイトには影響しない。
McpValidatorが公開していた MIME 検証ヘルパーを削除。これらを直接呼び出している連携では、用途に応じた MIME 検証を独自に実装する必要がある。
追加
resources/templates/listに対応し、テンプレートがない場合は空のテンプレート一覧を返すように変更。- プラグインの PHP ファイルの直接実行を防止。
- 互換性、依存関係、Plugin Check に関する自動チェックの対象を拡大。
変更
- Jetpack Autoloader を使用し、単独のアダプターと別のプラグインに異なるバージョンが同梱されている場合、利用可能な最新の
WP\MCPクラスを優先。 - WordPress マルチサイトのサイトごとにセッション保存領域を分離。
- 同時に行われるセッションの変更を回数制限付きの再試行で保護し、あるリクエストが別のセッションを上書きするリスクを軽減。
- Abilities API が WordPress 6.9 以降に含まれることと、アビリティに
categoryフィールドが必要なことをドキュメントで明確化。各種例も改善。
修正
- リソースの内容、埋め込みリソース、コンテンツブロック、プロンプトメッセージの
_metaを保持。 - 不正な形式の
_metaは、対応するペイロードを破棄せずに省略。 text/html;profile=mcp-appのようにパラメーターを含む値も、宣言されたとおりにmimeTypeを出力。- Blob のみのリソースコンテンツは、正しく処理されます。
- リソース URI のスキームを大文字と小文字を区別せずに照合し、クライアントがスキームを小文字に正規化してもリソースを読み取り可能に。
- スキーマを定義するアビリティの空の引数を正規化し、有効な引数なしのツール呼び出しを実行可能に。
- デフォルトサーバーを選択する際、
wp mcp-adapter serveの JSON-RPC 用標準出力に余分な内容が混入しないよう修正。 - 競合するローカルオプションを登録せず、WP-CLI のグローバル引数
--userを使用。
以前のリリースについては CHANGELOG.md を参照してください。
