Agent Abilities for MCP について
Agent Abilities for MCPは、WordPressの権限に基づいてAIエージェントがサイトのコンテンツや対応する連携機能を扱うためのプラグインです。ツールは初期状態で無効で、拒否された試行を含む呼び出しを監査ログに記録します。
主な機能
- 01管理されたWordPressの機能とツール
- 02ロール別・接続別の許可リスト
- 03読み取り専用と下書き承認の制御
- 04呼び出しごとの監査ログ
- 05WooCommerceとプラグイン連携
活用シーン
- 01Editorアカウントで投稿を更新
- 02確認用の下書きをエージェントに作成させる
- 03個別の制御で複数サイトに接続
- 04エージェントのアクセスと拒否を監査
MCP 対応
公式MCP Adapterを同梱し、有効化され権限確認を通過したWordPress機能をMCPツールとして公開します。OAuthまたはApplication Passwordで接続し、アクセス範囲は接続ユーザーのWordPress権限に従います。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://{hostname}/wp-json/agent-abilities-for-mcp/mcpclaude mcp add --transport http unaibamir-agent-abilities-for https://{hostname}/wp-json/agent-abilities-for-mcp/mcp{"mcpServers":{"unaibamir-agent-abilities-for":{"type":"http","url":"https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"}}}Cursor で開く{"servers":{"unaibamir-agent-abilities-for":{"type":"http","url":"https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"}}}VS Code で開く{"mcpServers":{"unaibamir-agent-abilities-for":{"type":"http","url":"https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"}}}{"mcpServers":{"unaibamir-agent-abilities-for":{"serverUrl":"https://{hostname}/wp-json/agent-abilities-for-mcp/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
MCP 向けエージェント機能 - 権限管理と監査ログを備えて Claude と ChatGPT を接続
Claude と ChatGPT 向けの WordPress MCP サーバーです。アクセスを制限し、読み取り専用モードや承認制の下書き、監査ログを利用しながら、1 つまたは複数のサイトで実行できます。
| 貢献者 | unaibamir |
| タグ | chatgpt, claude, ai-agent, mcp, mcp-server |
| 必要なバージョン | 6.9 |
| テスト済みのバージョン | 7.1 |
| 必要な PHP バージョン | 7.4 |
| 安定版タグ | 1.9.0 |
| ライセンス | GPL-2.0-or-later |
説明
アクセス制限と監査ログを備えた、ChatGPT と Claude 向けの WordPress MCP サーバー
Agent Abilities for MCP は、厳選された 179 個の WordPress 機能(ツール)を通じて、Model Context Protocol(MCP)経由で ChatGPT、Claude、Cursor などの AI エージェントを WordPress サイトに接続します。エージェントは、管理者キーを使わず、指定した実際の WordPress ユーザーとして動作するため、そのユーザーの権限で許可されている操作のみを実行できます。1 つまたは複数のサイトで実行でき、各サイトに専用のユーザー、スイッチ、監査ログを設定できます。WordPress 6.9 Abilities API を基盤としており、公式 MCP Adapter が同梱されているため、ほかにインストールするものはありません。
このプラグインが提供する機能は、有効にするまで外部に公開されません。このプラグインのツールに対するすべての呼び出しは、選択したユーザーの権限に照らして確認され、実行前に監査ログへ記録されます。拒否された試行も記録されます。Editor アカウントは投稿の作成や公開はできますが、プラグインのインストールや設定の変更はできないため、信頼を築きながら権限の範囲を広げられます。新しい投稿を公開前に承認するには、「Force draft」をオンにし、ダッシュボードの「Needs review」カードでエージェントが作成した内容を確認します。プラグインが独自にアクセスできる対象については、以下の「外部サービス」をご覧ください。
Model Context Protocol(MCP)は、Anthropic が当初開発したオープン仕様です。Claude、ChatGPT、Cursor、VS Code、Gemini などの製品名は、それぞれの所有者の商標です。Agent Abilities for MCP はサードパーティー製プラグインであり、これらのいずれとも提携、推奨、後援関係にありません。
クイックリンク: ドキュメント | はじめに | 対応クライアント | プロンプトライブラリー | ウェブサイト
WordPress MCP サーバーとは?
WordPress MCP サーバーを使うと、チャット画面と wp-admin の間でテキストをコピーする代わりに、AI アシスタントがサイト上で直接作業できます。MCP(Model Context Protocol)は、サービスが提供するツールとその呼び出し方法を AI クライアントに伝えるオープン標準です。Claude、ChatGPT、その他の MCP クライアントは、投稿の一覧表示、下書きの作成、WooCommerce の注文の更新などを行えます。
簡単な紹介動画:
利用例
- 1つのAIチャットから複数のサイトを操作します。 各サイトにインストールし、それぞれを個別のコネクターとしてChatGPTまたはClaudeに追加します。各サイトは独自のユーザー、設定、監査ログを保持するため、エージェンシーはほかのサイトに触れずに、あるクライアントのサイトをエージェントに任せられます。
- 管理者アクセス権を与えずに、ChatGPTまたはClaudeに投稿を書いたり編集したりしてもらいます。 エージェントを編集者、投稿者、または寄稿者アカウントとして接続します。wp-adminでその権限に許可されている操作だけを実行できます。
- エージェントに下書きを保存させ、承認できるようにします。 「新規作成時に下書きを強制」をオンにすると、エージェントが作成した投稿や公開しようとした投稿はすべて下書きとして保存されます。ダッシュボードの「要確認」カードには、エージェントが作成した下書きと公開待ちの投稿が表示され、「プレビュー」「エディターで開く」「公開」「破棄」を実行できます(「破棄」すると投稿はゴミ箱に移動します)。すでに公開済みの投稿も変更させないようにするには、エージェントを寄稿者として接続します。
- AIにサイトを読み取らせ、変更はできないようにします。 読み取り専用モードでは、ほかのプラグインからブリッジした書き込みツールも含め、すべての書き込みツールが読み込まれなくなります。
- サイトについての情報を一度だけエージェントに伝えます。 設定タブの「サイト概要」に、サイトのスタイルや変更してほしくない内容などを数行で記入します。このプラグインは、セッション開始時に接続してきたすべてのエージェントにその情報を送信します。
- エージェントが接続できない理由を調べます。 接続タブの「接続診断」では、自分のサーバーから接続を確認し、たとえば認証ヘッダーを削除するホストなど、必要な対処を特定できます。
- 誤字を修正し、古い投稿を更新します。 エージェントは投稿を検索して読み取り、更新できます。プラグインを介したすべての手順が記録されます。
- エージェントを通じてほかのプラグインを利用します。 WPFormsなど、WordPressのアビリティを登録するプラグインは「その他のプラグイン」画面に表示され、オンにするまで無効のままです。
🛡️ すべての呼び出しに対する権限管理と監査ログ
- 設計段階から最小権限を徹底。 AI エージェントは OAuth またはアプリケーションパスワードを介して、実際の権限が限定された WordPress ユーザーとして接続します。管理者と同等のキーは使用しません。
- デフォルトでは無効。 有効にするまで、このプラグインのツールは一切公開されず、更新によって有効になることもありません。更新で変更される可能性があるのは、他のプラグインが公開先として使用するアダプターのデフォルトサーバーだけです。詳しくは FAQ をご覧ください。
- 読み取り専用モード。 1 つの切り替えで、チェック状態にかかわらず、他のプラグインからブリッジされた機能も含め、すべての書き込み機能が登録されなくなります。オフに戻しても選択内容はそのままです。他のプラグインがアダプターのデフォルトサーバーに直接公開するツールには適用されません。
- 2 層の権限チェック。 接続からは、そのユーザーが呼び出せるツールだけが見えます。また、実行前に毎回その権限を再確認します。例外として、アイテム ID を必要とする独自のチェックを持つ、他のプラグインからブリッジされたツールは、投稿を編集できるユーザーなら誰でも一覧に表示されます。呼び出しごとの判定は、そのプラグインのチェックによって行われます。
- 権限グループ別・接続別の許可リスト。 グローバルリストに加えて、特定の権限グループまたは接続が利用できる範囲を絞り込めます。リストによって範囲が広がることはありません。エージェントが機能を呼び出すには、グローバルリスト、権限グループのリスト、接続のリストのすべてを通過する必要があります。この画面を開かないサイトでは、変更はありません。
- 正確な監査ログ。 このプラグインのツールへのすべての呼び出しを、拒否された試行も含めて記録します。呼び出しを行ったユーザーまたは接続、引数のキー、操作対象を示す識別子のみの短いメモも記録されます。自由記述の引数内容は保存されず、ログはサイト独自のデータベースに保存されます。
- 設計上、操作範囲を制限。 任意のオプションやメタデータにはアクセスできず、コードも実行できません。アップロードは実際のバイト列を基に画像の許可リストと照合して検証されます。URL からのアップロードでは、プライベート、ループバック、リンクローカルの宛先を拒否し、リダイレクトも追跡しません。新しいユーザーにはデフォルトの権限グループが割り当てられ、管理者になることはありません。また、最後の管理者を削除することはできません。破壊的な操作はデフォルトで無効になっており、権限チェックが行われ、対応している場合はゴミ箱に移動されます。
- 任意で有効にできる安全機能。 1 分あたりのレート制限、IP 許可リスト、下書き固定モード、タイトルの長さ制限を有効にできます。4 つすべて、設定するまでは無効です。
- コンテンツがサイト外に送信されることはありません。 このプラグインは AI プロバイダーに接続せず、テレメトリーもありません。プラグイン自体が独自に行う可能性がある 2 件の外部リクエストについては、以下の「外部サービス」をご覧ください。
- 2 種類の接続方法。 OAuth でエージェントを承認する方法(設定ファイルにシークレットを記載しません)と、権限を限定した専用ユーザーにアプリケーションパスワードを設定する方法があります。ガイド付き画面で設定を作成できます。アプリケーションパスワードはサイト全体で有効な認証情報で、その権限はユーザーの権限グループによってのみ制限されます。そのため、このプラグイン独自の制限(許可リスト、高リスク操作の最低権限、監査ログ)が適用されるのは、MCP エンドポイント経由の呼び出しだけです。この制限は OAuth には適用されません。このプラグインが発行するトークンは、このエンドポイントの認証にのみ使用されるためです。
🤖 WordPress Abilities API と MCP Adapter を基盤に構築
WordPress 6.9 には Abilities API が搭載されています。公式 MCP Adapter(wordpress/mcp-adapter)はこのプラグインに同梱されているため、別途インストールする必要はありません。単体の Adapter プラグインも有効になっている場合、このプラグインは先に読み込まれた方のコピー(0.6.1 から 0.7.x まで)と連携します。Agent Abilities for MCP は独自のプロトコルやサーバーを作るのではなく、厳選され、管理された一連の機能をその上に登録するため、信頼性を確認する必要のある独自のトランスポートはありません。「設定」の切り替え(自動、常にオン、常にオフ)で、他のプラグインがツールを公開できるアダプターのデフォルトサーバーを制御します。デフォルトの「自動」では、他のプラグインがそこにツールを公開したときにのみ起動し、このプラグイン独自のツールがそこに表示されることはありません。
📦 179 個のガバナンス対象アビリティ
このプラグインには179 個のガバナンス対象アビリティが含まれています。WordPress コア全体で 85 個、自動検出される連携機能から 94 個です。いずれも有効にするまではオフで、対象範囲が限定され、権限による制御とログ記録が行われます。ほかのプラグインのアビリティをブリッジすることもできます(以下を参照)。
WordPress コア(85 個のアビリティ)。 サイト全体の読み取りと、保護された書き込みが可能です。
- 📝 投稿と固定ページ: 一覧表示、読み取り、作成、更新、削除ができます。破壊的な操作はデフォルトでオフになり、削除した項目はゴミ箱に移動します。
- 🏷️ タームとタクソノミー: カテゴリー、タグ、カスタムタクソノミーのタームを管理します。
- 💬 コメント: コメントキューを読み取り、モデレートします。
- 🖼️ メディア: メディアライブラリの一覧表示と読み取りができます。また、インラインデータまたは HTTPS URL から画像を追加できます。許可リストに照らして実際のバイトデータを検証します。
- 🗂️ 投稿メタ: 管理者が許可リストに登録したメタキーのみを読み取り、書き込みます。保護されたキー、アンダースコアで始まるキー、認証キーは許可リストに登録できません。
- 👥 ユーザー: 権限の範囲内でユーザーの読み取りと管理ができます。新規ユーザーにはデフォルトの権限グループが設定され、管理者になることはありません。また、最後の管理者を削除することはできません。
- 🧭 サイト構造: メニューや、サイトを支える構造要素を操作します。
- 🕓 リビジョン履歴: コンテンツのリビジョン履歴を読み取ります。
- 🧱 ブロックとテンプレート: 再利用可能なブロック、テーマ、テンプレートを操作します。
- ⚙️ 限定的な設定とサイトヘルス: 対象範囲を厳しく限定した設定に加え、サイトヘルスとプラグインのステータスを読み取り専用で確認できます。
- 🔍 サイト全体の検索: すべての投稿タイプを一度に横断検索します。
連携機能(94 個のアビリティ)。 有効なプラグインごとに自動検出され、有効化するまではオフです。権限による制御とログ記録が行われ、プラグインが有効な間のみ利用できます。
- 🛒 WooCommerce MCP(52 個のアビリティ): 商品、注文、顧客の読み取りと書き込みができ、ストアの運営に役立ちます。個人データ(氏名、メールアドレス、住所)にアクセスするため、明確な管理者向け通知が表示され、有効にするまではオフのままです。
- 🧩 Advanced Custom Fields(7 個のアビリティ): ACF フィールドデータの読み取りと書き込みができます。WooCommerce と同様に、個人データにアクセスする可能性があるため、同じ通知が表示されます。
- 📈 Rank Math SEO(5 個のアビリティ): Rank Math SEO データを読み取り、管理します。
- 📈 Yoast SEO(3 個のアビリティ): Yoast SEO データを読み取り、管理します。
- 📈 All in One SEO(3 個のアビリティ): AIOSEO データを読み取り、管理します。
- 📅 The Events Calendar(13 個のアビリティ): イベント、会場、主催者を読み取り、管理します。
- 🎫 Event Tickets(3 個のアビリティ): イベントのチケットと参加者を読み取ります。チケット購入の書き込み機能は公開されていません。
- 📈 Slim SEO(2 個のアビリティ): Slim SEO データを読み取り、管理します。
- 🎨 Avada / Fusion Builder(2 個のアビリティ): ページの Fusion Builder マークアップをそのまま読み取り、ショートコードのレイアウトを崩さずにテキストを置換します。
- 📍 GeoDirectory(4 個のアビリティ、デフォルトでオフ): ビジネスや場所のリスティングを読み取り、管理します。有効な場合でもオフのままです。有効にするには、[連携機能]タブでオンにしてください。
🔗 他のプラグインのアビリティ(1.1.0 の新機能)
WordPress 6.9 では、このプラグイン以外のプラグインも独自のアビリティを登録でき、Agent Abilities for MCP はそれらも取り込めます。有効な他のプラグインのアビリティは、専用の 他のプラグイン 画面にプラグインごとに表示されます。すべて初期状態では無効になっており、有効にすると、組み込みカタログと同じルールに従って管理される MCP ツールになります。つまり、スコープが設定され、権限が確認され、レート制限が適用され、識別子のみがログに記録されます。
知っておくべき制限が 1 つあります。処理を行うのは他のプラグインのコードなので、そのプラグインが説明を公開している場合に限り、WordPress はブリッジされたアビリティの回答を説明と照合できます。権限、スコープ設定、レート制限、監査ログといった上記の管理機能は、いずれの場合もすべて適用されます。
一部のプラグインはこの画面を経由せず、ツールを Adapter のデフォルトサーバーに直接公開します。それらのツールはこのプラグインの制御対象外です(デフォルトサーバーに関する FAQ を参照してください)。
Abilities API に対応するプラグインならどれでもエージェントに利用させることができ、プラグイン全体のアビリティをまとめて有効・無効に切り替えられます。付属の WP-CLI コマンド wp aafm catalog export を実行すると、サイトで検出可能なアビリティが JSON 形式で出力されます。
ページビルダーのページ:無言で失敗させず、処理を拒否
Elementor、Divi、Beaver Builder、Avada は通常の投稿コンテンツとは別にレイアウトを保持するため、書き込みが成功したと報告されても、フロントエンドがまったく変わらないことがあります。1.7.4 以降、このプラグインは書き込み前に確認を行い、そのページを管理するビルダーの名前を含むエラーを返して呼び出しを拒否します。これは保護機能であり、いずれのビルダーとの連携機能でもありません。また、OptimizePress はまだ対象外です。
Claude を WordPress に接続する
プラグインをインストールし、Claude に利用させるアビリティを有効にして、サイトの MCP エンドポイントを Claude のカスタムコネクターとして追加し、OAuth サインインを一度承認します。API キーも設定ファイルも不要です。claude.ai アプリ、Claude Desktop、Claude Code で同じ接続手順を利用でき、Claude が操作できるのは、承認した WordPress ユーザーの権限の範囲内に限られます。
ChatGPT を WordPress に接続する
ChatGPT で開発者モードを有効にし(設定、次にコネクター、次に詳細設定)、サイトの MCP エンドポイントをカスタムコネクターとして追加して、OAuth で一度承認します。これは ChatGPT の有料プランで利用できるベータ機能であり、プラグインによる制限ではありません。接続できない場合は、接続タブで Connection Doctor を実行してください。接続後、ChatGPT が利用できるのは有効にしたアビリティのみで、承認した WordPress ユーザーとして動作します。
🔌 ChatGPT、Claude、Cursor、その他の MCP クライアントを接続する
エンドポイントにアクセスできる MCP クライアントならどれでも接続できます。ホスト型クラウドアプリ(ChatGPT、Claude、Manus)は URL で接続します。エンドポイントをカスタムコネクターとして追加し、設定ファイルの編集やブリッジのインストールを行わずに、OAuth で一度サインインを承認します。ChatGPT では開発者モードを有効にする必要があり、そのためには有料プランが必要です。Claude のエントリーは Claude のウェブアプリと Claude Desktop の両方を対象としています。どちらも同じコネクター接続手順を使うためです。エディターやコマンドラインクライアント(Claude Code、Cursor、VS Code、Windsurf、Gemini CLI)は、直接接続するか、自分のマシン上で動作するオープンソースの mcp-remote ブリッジを介して接続します。OAuth の代わりにアプリケーションパスワードを使い、権限を最小限に抑えたユーザーでエンドポイントに接続することもできます。ホスト型 Gemini アプリには、まだ対応していません。
インストール
- プラグインを
/wp-content/plugins/agent-abilities-for-mcpディレクトリにアップロードするか、WordPress のプラグイン画面からインストールします。 - プラグイン画面から有効化します。
- 管理画面のサイドバーにある Agent Abilities for MCP メニューを開きます。Abilities タブで、エージェントに許可する能力だけを有効にします。すべて最初は無効になっています。
- Connection タブで、サイトの MCP エンドポイントをコピーします。最も簡単な方法は OAuth です。エンドポイントを MCP クライアントに貼り付け、ブラウザーで一度接続を承認すると、エージェントはお客様自身のアカウントとして動作します。
- OAuth を使いたくない場合、または対応していないクライアントを使う場合は、Connection タブで作成できる権限を限定した専用のエージェントユーザーを作成し、そのユーザー用のアプリケーションパスワードを生成して接続します。
- Connection タブで「Check my connection」を実行し、サーバーからエンドポイントにアクセスできることを確認します。
設定
サイトの MCP エンドポイントは、REST API 配下の固定パスにあります(example.com をご自身のドメインに置き換えてください)。
https://example.com/wp-json/agent-abilities-for-mcp/mcp
ホスト型アプリ(ChatGPT、Claude、Manus)では、この URL をそのまま使用できます。カスタムコネクターとして追加し、OAuth で一度接続を承認してください。エディターやコマンドラインクライアントでは、代わりに設定ファイルを使用します。標準の設定ブロックでは、オープンソースの mcp-remote ブリッジをお使いのマシン上で実行します。このブリッジがブラウザーでの同じ一度限りの OAuth 承認を案内するため、設定ファイルにシークレットは保存されません。ブリッジが発行されたトークンをお使いのマシン上の ~/.mcp-auth に保存します。
{
"mcpServers": {
"agent-abilities": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://example.com/wp-json/agent-abilities-for-mcp/mcp"]
}
}
}
VS Code では、同じ設定ブロックを mcpServers ではなく .vscode/mcp.json 内の servers として指定します。OAuth ではなくアプリケーションパスワードを使いたい場合は、Connection タブで作成できる権限を限定した専用のエージェントユーザーを作成し、認証情報を env ブロックに記述して @automattic/mcp-wordpress-remote ブリッジ経由で接続します。
{
"mcpServers": {
"agent-abilities": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://example.com/wp-json/agent-abilities-for-mcp/mcp",
"WP_API_USERNAME": "your-agent-user",
"WP_API_PASSWORD": "PASTE-APPLICATION-PASSWORD-HERE"
}
}
}
}
どちらのブロックも手動で記述する必要はありません。Connection タブで、実際のエンドポイントを入力した両方のブロックを生成できます。Windows 用の設定と接続確認機能も用意されています。
よくある質問
詳しい情報: ドキュメント | クライアントの接続 | セキュリティと脆弱性の報告 | サポートフォーラム
Claude を WordPress に接続するにはどうすればよいですか?
プラグインをインストールし、Abilities タブで使用する能力を有効にしてから、Connection タブで MCP エンドポイントをコピーし、Claude にカスタムコネクターとして追加します。ブラウザーで一度サインインを承認してください。claude.ai のウェブアプリと Claude Desktop では同じ方法を使います。Claude Code はコマンドラインから接続します。
エージェントに管理者アクセス権が付与されますか?
いいえ。エージェントは、紐付けた WordPress ユーザーとして認証されます。プラグインで作成できる権限を限定した専用ユーザーを指定すれば、そのユーザーに許可された操作だけを実行できます。また、このプラグインの各能力は実行前にユーザーの権限を再確認するため、そのユーザーに使用が許可されていない能力を接続経由で呼び出すことはできません。
AI エージェントに対してどのような権限制御を行えますか?
Agent Abilities for MCP では、独自のツールに対して3段階の制御を行えます。各能力は有効にするまで無効です。エージェントは選択した実際の WordPress ユーザーとして接続するため、そのユーザーの権限で許可されている操作だけを実行できます。各呼び出しの実行前にユーザーの権限を再確認し、確認に失敗した呼び出しは拒否され、記録されます。
ある接続のアクセス権を、別の接続より制限できますか?
はい。サイト全体で有効にする機能の一覧に加えて、「接続」画面でロールごとの許可リスト、接続ごとの許可リスト、またはその両方を追加できます。いずれも、すでに有効になっている機能の範囲を狭めるだけです。エージェントが機能を呼び出すには、まずグローバルリスト、次に該当するロールのリスト、最後に該当する接続のリストを通過する必要があります。ロールと OAuth 接続より細かい範囲指定はできません。アプリケーションパスワードはユーザーのロール全体を引き継ぎ、パスワードごとの個別制限はありません。画面の設定を変更しなければ何も変わらず、既存の接続はすべてこれまでどおり動作します。
エージェントが実行した内容を確認するには?
「アクティビティログ」タブを開いてください。ユーザー、接続、ツール、プラグイン、日付、テキストで絞り込めます。各行には、接続名、送信元 IP アドレス、ツールの実行時間が表示されます。上部には過去 7 日間の概要が表示され、ライブ表示では、表示中に最初のページが最新の状態に保たれます(テキスト検索またはユーザーフィルターを適用している場合は、日付範囲の指定が必要です)。「CSV をエクスポート」を選ぶと、フィルターに表示されている行だけがダウンロードされます。
IP アドレスはリクエストの送信元アドレスなので、プロキシや CDN の背後にある場合は、プロキシのアドレスが記録されます。実行時間はツール内部での処理時間であり、エージェントが実際に要した時間ではありません。拒否された呼び出しは実行されないため、実行時間は記録されません。
エージェントが実行した内容の監査ログはありますか?
はい。Agent Abilities for MCP は、その機能のいずれかへの呼び出しをすべて、お使いのデータベースの監査ログに記録します。拒否された試行も含まれます。各エントリーには、実行ユーザー、機能名、引数のキー、呼び出しが対象とした内容の短い説明が記録されます。説明に含まれるのは、ID、メタキー名、スラッグ、ステータス値などの識別に必要な値のみです。別のプラグインのブリッジ機能への呼び出しが失敗した場合は、そのプラグインのエラーコードも記録されますが、エラーメッセージは記録されません。自由記述の引数の内容、投稿本文、メールアドレスは保存されません。各エントリーには、送信元 IP アドレスとツールの所要時間も記録され、拒否された呼び出しについては拒否理由が記録されます。この理由はログに記録され、エージェントが受け取るメッセージには含まれません。管理画面からログを消去できます。
AI エージェントを自分の WordPress サイトに接続しても安全ですか?
はい。接続の権限範囲が制限されている場合は安全です。このプラグインは、そのような設計を基本としています。エージェントは、管理者と同等の権限を持つキーではなく、選択した実在の最小権限の WordPress ユーザーとして接続します。すべての機能は有効にするまでオフになっており、ツールへの呼び出しは実行前に毎回ユーザーの権限を再確認し、すべて記録されます。拒否された試行も含まれます。別のプラグインが Adapter のデフォルトサーバーに公開するツールは、これらのチェックの対象外です。詳しくは、デフォルトサーバーに関する FAQ をご覧ください。このプラグイン自体が管理者と同等の権限を持つキーを保持することはありません。
エージェントは実際に何ができますか?
有効にした機能のみを、紐付けられたユーザーの権限の範囲内で実行できます。機能一覧には、投稿、固定ページ、ターム、コメント、メディア、投稿メタ、サイト構造に対する読み取りと制限付きの書き込みのほか、リビジョン履歴、すべての投稿タイプを一度に横断する検索があります。任意のオプション変更、ロールの変更、コードの実行はできません。リモート URL を取得する機能は、メディアのアップロード用のものだけです。https のみを受け付け、プライベート、ループバック、リンクローカルのアドレスに解決される接続先は拒否し、リダイレクトには従いません。また、他の機能と同様に、明示的に有効にするまでオフになっています。エージェントが投稿メタを書き込めるのは、管理者が明示的に許可リストに追加したキーのみです。保護対象のキー、アンダースコアで始まるキー、認証キーは許可リストに追加できません。削除は、機能が対応している場合、コンテンツをゴミ箱に移動します。完全に削除する機能はデフォルトでオフになっており、権限チェックも適用されます。
エージェントがElementorやDiviのページを壊すことはありますか?
いいえ。代わりに書き込みを拒否します。Elementor、Divi、Beaver Builder、Avadaはすべて、通常の投稿コンテンツとは別の場所にレイアウトを保存するため、保護されていない編集では、見た目に何も変化がないのに成功と報告されたり、ビルダー独自のマークアップが破損したりする可能性があります。このプラグインはコンテンツを書き込む前にページビルダーの所有権を確認し、そのページを所有するビルダー名を含むエラーを返して呼び出しを拒否するため、後になって気づくのではなく、すぐに把握できます。そのページは、対応するビルダーで編集してください。これは拒否するためのガードであり、これらのビルダーとの連携機能ではありません。また、OptimizePressにはまだ対応していません。
このプラグインはツールとアクセスをどのように扱いますか?
Agent Abilities for MCPでは、最初はすべての機能がオフになっています。選択した1人のWordPressユーザーにエージェントを紐づけ、ツールを呼び出すたびにそのユーザーの権限を再確認し、拒否された呼び出しも含めて、すべての呼び出しを記録します。一度にすべてを許可するのではなく、信頼を深めながらアクセス範囲を広げられます。監査可能な制御を優先し、ツールの数は絞っています。
無料ですか?
はい。Agent Abilities for MCPはWordPress.orgで無料で提供されており、有料プランや購入が必要なAPIキーはなく、このプラグインによる使用制限もありません。
他のプラグインと一緒に使えますか?
はい。対応するプラグインが対象です。対象のプラグインが有効になると、Agent Abilities for MCPはコアと同じルールのもとで、そのプラグイン向けのアビリティを追加します。自動的に検出され、ユーザーが有効にするまではオフで、権限による制御とログ記録が適用されます。標準では、WooCommerce、Advanced Custom Fields、SEO(Yoast、Rank Math、All in One SEO)に対応しています。WooCommerceとACFのアビリティは、名前、メールアドレス、住所などの個人データを含む、実際の顧客データや注文データを読み書きできます。そのため、管理画面に明確な注意書きが表示され、ユーザーが有効にするまではオフのままです。これらの組み込み連携に加えて、このプラグインはWordPress Abilities APIを通じて他のプラグインが登録したアビリティをブリッジすることもできます。今後、さらに連携を追加する予定です。
他のプラグインのアビリティを公開できますか?
はい。WordPress 6.9では、どのプラグインでもアビリティを登録でき、Agent Abilities for MCPは、他の有効なプラグインが宣言したアビリティをブリッジできます。管理画面で他のプラグインを開くと、登録元のプラグインごとにグループ化され、最初はオフになっています。アビリティを1つ有効にすると、他の機能と同じルールで管理されるMCPツールになります。紐づけられたユーザーに範囲が限定され、呼び出しごとに権限が確認され、レート制限が適用され、ログに記録されます。プラグイン単位でアビリティをまとめて有効または無効にすることもでき、選択するまでは何もブリッジされません。
イベント、チケット、ディレクトリの掲載情報をエージェントに管理させることはできますか?
はい。対応するプラグインが有効な場合に可能です。The Events Calendarが有効なら、エージェントはイベント、会場、主催者を読み取り、管理できます。Event Ticketsが有効なら、チケットと参加者を読み取れますが、チケット購入に関する書き込み機能は公開されません。GeoDirectoryが有効なら、ビジネスや場所の掲載情報を読み取り、管理できます。ただし、この連携はプラグインが有効でもオフのままです。他の多くの連携のように有効化するだけで利用可能になるのではなく、[連携]タブで自分でオンにする必要があります。これらのアビリティはすべて、他の機能と同じルールに従います。有効にするまではオフで、権限による制御とログ記録が適用されます。
これはWordPress Abilities APIや公式のMCPアダプターと同じものですか?
どちらも基盤として利用しています。WordPress 6.9にはAbilities APIが付属しており、公式MCP Adapterはこのプラグインに同梱されています。Agent Abilities for MCPは独自のプロトコルやトランスポートを作るのではなく、これらの上に、厳選され、管理されたアビリティを登録します。そのため、信頼性を確認する必要がある独自のサーバーはなく、このプラグインは標準の動作を引き継ぎます。このプラグインが追加するのは管理レイヤーです。デフォルトでオフのカタログ、権限による制御、安全機能、監査ログを備えています。
他の WordPress MCP プラグインとの違いは何ですか?
WordPress 向けの多くの MCP プラグインは、公開できるツールの数を競っています。Agent Abilities for MCP が重視しているのは制御です。有効にするまではすべて無効で、エージェントは管理者相当のキーではなく、実際の最小権限の WordPress ユーザーとして操作します。ツールが呼び出されるたびに、実行前にそのユーザーの権限が再確認され、許可されなかったものも含め、すべての呼び出しが記録されます。独自に作り込んだサーバーではなく、公式の WordPress Abilities API と MCP Adapter を基盤としているため、信頼性を独自に検証しなければならないカスタムトランスポートはありません。監査可能で、信頼を築きながら拡張できる範囲を得るため、生のツール数を絞っています。
WordPress REST API との違いは何ですか?
REST API は生のエンドポイントを公開します。MCP は、AI エージェントが発見し、推論したうえで呼び出せるツールとして、サイトの機能を記述します。このプラグインはそれぞれの機能をガバナンス層で包みます。デフォルトでは無効で、このプラグインのツールを呼び出すたびに権限が確認され、呼び出しが記録されます。基盤となる WordPress は同じですが、設定した制限の範囲内でエージェントが操作できるよう、ガバナンスが適用されます。
必要な WordPress のバージョンを教えてください。
WordPress 6.9 以降が必要です。このバージョンから、プラグインが基盤としている Abilities API と公式 MCP Adapter を利用できます。また、PHP 7.4 以降が必要です。
どの AI クライアントが使えますか?
サイトのエンドポイントに接続できる MCP クライアントであれば利用できます。OAuth を使う場合は、エンドポイント URL をクライアントに貼り付け、ブラウザーで一度接続を承認します。ホスト型クラウドアプリ(ChatGPT、Claude、Manus)は、インストールするブリッジなしで URL 経由で接続できます。Claude Desktop、Claude Code、Cursor、VS Code、Windsurf、Gemini CLI も接続できます。クライアントによっては直接接続でき、そうでない場合はお使いのマシン上で動作する mcp-remote ブリッジを使います。OAuth の代わりに Application Password で接続することもできますが、ホスト型クラウドアプリでは OAuth のみを使用します。ホスト型の Gemini アプリには、まだ対応していません。
ChatGPT で使えますか?
はい。ChatGPT で開発者モードを有効にし、MCP エンドポイント URL を使ってサイトをカスタムコネクターとして追加した後、OAuth で一度接続を承認してください。カスタムコネクターを利用できる ChatGPT プランが必要です。Claude Desktop、Claude Code、Cursor、VS Code、Windsurf、Gemini CLI も利用できます。クライアントによっては直接接続でき、そうでない場合はお使いのマシン上で動作する mcp-remote ブリッジを使います。
リモートサイトに接続するために、自分のコンピューターを外部に公開する必要がありますか?
いいえ。MCP サーバーは WordPress サイトなので、エンドポイントはすでにサイト上で HTTPS 経由で公開されており、コンピューター上にはありません。ChatGPT や Claude などのホスト型クライアントをリモートの WordPress インストールに接続するには、エンドポイント URL をクライアントに貼り付け、ブラウザーで OAuth サインインを一度承認するだけです。トンネルもリバースプロキシも、起動し続けるローカルブリッジプロセスも必要ありません。ブリッジが必要なのは、リモート MCP 接続を単独で開始できないクライアントだけです。上記をご覧ください。
ChatGPT から WordPress サイトを編集できますか?
許可した範囲に限り、編集できます。ChatGPT は、ご自身で追加したカスタムコネクターを介してサイトに接続します。接続を承認した WordPress ユーザーとして操作し、有効にした機能以外は見えません。このプラグインのエンドポイント経由で行われる書き込みは、すべて実行前に権限が確認され、監査ログに記録されます。また、読み取り専用モードにすれば、すべての書き込みを一度に停止できます。
ChatGPT や Claude から複数の WordPress サイトを管理できますか?
はい。各サイトにプラグインをインストールし、それぞれのエンドポイントを個別のコネクターとして AI クライアントに追加してください。そうすれば、エージェントは一か所から複数のサイトを操作でき、各サイトはそれぞれ独自のユーザー、許可されたツール、監査ログを保持します。
管理者権限ではなく、AI エージェントに制限付きアクセスを付与するにはどうすればよいですか?
より権限の少ないロールを持つ WordPress ユーザーとして接続してください。Editor はあらゆる投稿の作成、編集、公開ができ、Author は自分の投稿のみ操作でき、Contributor は投稿を作成できますが公開はできません。このプラグインでは、権限を絞った専用ユーザーを作成できます。また、特定のロールや接続に対して、使用できるツールをさらに制限できます。
エージェントが下書きだけを保存し、公開前に私が承認できるようにできますか?
はい。設定で「作成時に下書きを強制」をオンにしてください。エージェントが作成するものも、公開リクエストも、すべて下書きとして保存されます。すでに公開済みの投稿への編集はそのまま反映されるため、すべての変更を確認したい場合は、公開済みの投稿を編集できない「寄稿者」としてエージェントを接続してください。ダッシュボードの「レビュー待ち」カードに下書きが表示されるので、プレビュー、公開、破棄ができます。
ChatGPT や Claude を WordPress サイトに接続できないのはなぜですか?
「接続」タブを開き、「接続を確認」(接続診断)をクリックしてください。お使いのサーバー上でチェックを実行し、たとえば Authorization ヘッダーを削除するホストなど、修正すべき内容を示します。その他によくある原因は、/mcp パスをブロックする CDN やファイアウォール、自己署名証明書を使っているローカルサイトです。どちらについても、以下に対処方法を記載しています。
ハウススタイルや変更してほしくない内容など、サイトについて AI エージェントに伝えられますか?
はい。「設定」タブの「サイト概要」に、サイトについて最大1,500文字で記入できます。プラグインは、セッション開始時に接続してくるすべてのエージェントにこの内容を送信します。それに従うかどうかはクライアントによります。変更できるのはあなただけです。
エージェントが作成したものが公開される前に、どこで確認できますか?
ダッシュボードの「レビュー待ち」カードに、エージェントが作成した下書きと公開待ちの投稿が一覧表示され、「プレビュー」「エディターで開く」「公開」「破棄」のボタンが表示されます。「破棄」を選ぶと投稿はゴミ箱に移動します。ゴミ箱が無効の場合は利用できません。新しい投稿と公開リクエストを下書きとして保留して一覧に表示するには、設定で「作成時に下書きを強制」をオンにしてください。
AI が何も変更できない状態で、サイトを読み取れるようにできますか?
はい。読み取り専用モードをオンにすると、ほかの設定に関係なく、書き込みツールは登録されません。他のプラグインから連携した書き込み機能も対象です。エージェントは引き続き検索と読み取りを行えます。選択した設定は、読み取り専用モードをオフに戻すまで保持されます。他のプラグインが Adapter のデフォルトサーバーに直接公開するツールは対象外です。次の回答で説明します。
MCP Adapter を別途インストールする必要がありますか?
いいえ。公式の MCP Adapter はこのプラグインに同梱されており、スタンドアロン版の Adapter プラグインも実行している場合は、両方が連携します。Adapter には、他のプラグインがツールを公開できるデフォルトサーバーが組み込まれています。「設定」では、次のいずれかを選択できます。「自動」(デフォルト)、「常にオン」、「常にオフ」です。「自動」の場合、別の有効なプラグインがそこにツールを公開しているときだけサーバーが起動します。そのため、以前のバージョンから更新されたサイトでは、デフォルトサーバーにツールを公開するプラグインがあればサーバーが起動し、初回起動時にアクティビティログへ記録されます。WordPress コアの公開機能は公開元としてカウントされないため、それらを利用する目的だけでスタンドアロン版 Adapter を実行していた場合は、「常にオン」を選択してください。このプラグイン独自のツールは、どの設定を選んでもそのサーバーには公開されません。このプラグインが管理するエンドポイントからのみ提供されます。デフォルトサーバー上のツールはこのプラグインの管理対象ではないため、読み取り専用モード、許可リスト、IP 許可リスト、レート制限、監査ログは適用されません。何も公開したくない場合は、「常にオフ」を選択してください。
Windows を使っていますが、設定が起動しません。
Windows の MCP クライアントでは、npx shim を名前で起動できません。cmd でラップしてください。command に cmd を設定し、args の先頭に /c、npx を指定します。「接続」タブには、この設定を生成する Windows タブがあります。
エージェントがローカルサイトまたはステージングサイトに接続できません。
DDEV、Local、Valet などのローカル環境は、Node が拒否する自己署名証明書を使っているため、プロキシが WordPress に到達できません。ローカルでのテストに限り、env ブロックに "NODE_TLS_REJECT_UNAUTHORIZED": "0" を追加してください(「接続」タブでは、ローカルサイトを検出すると自動的に追加されます)。本番環境にはこの設定を適用しないでください。公開サイトでは信頼された証明書が使われるため、この設定は不要です。
エージェントが接続できません。サイトは Cloudflare などの CDN の背後にあります。
WordPress の前段にある CDN やファイアウォールによって、エージェントのリクエストがサイトに届く前にブロックされることがあります。よくある原因は、Cloudflare の AI ボットブロック(および Super Bot Fight Mode)です。エージェントはサインインを完了しますが、AI クライアントのサーバーから AI User-Agent を使って送信された MCP リクエストがエッジでブロックされます。サインインはアクティビティログに記録されますが、その後にツールの呼び出しはありません。
確認するには、CDN のファイアウォールまたはセキュリティイベントログを開き、接続を試みた時刻ごろに、AI クライアントの IP 範囲からプラグインの MCP エンドポイント(パスが /mcp で終わります)へのリクエストがブロックされていないか確認します。ログには、ブロックしたルール名が記載されています。
解決するには、そのエンドポイントへのアクセスを許可します。Cloudflare ダッシュボードで Security Settings を開き、「Configure AI bot policies」を使って AI クライアントのトラフィックを許可します。セキュリティイベントで確認したブロックに該当するポリシーを「Allow」に設定してください。Cloudflare は従来の「Block AI bots」スイッチを非推奨にしました(2026 年 9 月 15 日)。まだ使用している場合は、オフにしてください。ゾーン全体でトラフィックを許可できない場合は、/mcp パスに対して Skip アクションを指定するカスタムルールを追加し、Super Bot Fight Mode ルールをスキップすることで、サイトの残りの部分は保護したままにできます(Cloudflare では Free プランの Skip ルールで Bot Fight Mode をスキップできません)。ほかの CDN やセキュリティプラグインにも、同様の許可リストや例外設定があります。
WP Engine を使用していて Global Edge Security が有効な場合は、まずこれを確認してください。User Portal で環境の Insights メニューを開き、Traffic and Security に移動してから、Settings タブを選択し、Edge traffic rules を確認します。ボットのカテゴリに対するルールは、トラフィックが WordPress に届く前にブロックします。そのため、AI クライアントに該当するルールを削除してください。WP Engine はプラットフォーム全体で一部の AI ボットにもレート制限を適用しており、自分で無効にすることはできません。WP Engine でエージェントの呼び出しが HTTP 429 エラーで失敗する場合は、WP Engine サポートに連絡し、サイトに適用されている制限を確認するよう依頼してください。
重要なイベントが起きたとき、メールを受け取れますか?
はい。ただし、デフォルトでは無効になっています。Settings の Notifications で、管理者通知のみ、すぐにメールを送信(通知も送信)、または毎日 1 通のメールを送信(通知も送信)のいずれかを選び、通知を受け取りたいイベントにチェックを入れます。対象となるイベントは、アプリが接続を許可されたとき、投稿を編集できるユーザーまたはエージェントユーザー向けに Application Password が作成されたとき、高リスクのツールが実行されたとき、別のプラグインの完全削除または破壊的なツールが実行されたとき、拒否された呼び出しが短時間に集中したとき、接続がレート制限に達したとき、読み取り専用モードまたは高リスクロックが切り替えられたときです。
イベントの種類ごとに、15 分間に送信されるメールは最大 1 通です。そのため、読み取り専用モードの有効化と無効化は別々に数えられ、許可されたアプリもそれぞれ別に数えられます。設定の変更と、以前のメールアドレスに送信される警告用には、ほかの用途には使われないメール枠が 1 時間あたり 6 通分確保されています。高リスクの実行には専用の枠が 1 時間あたり 4 通分、新しいアプリには 2 通分、拒否された呼び出しの集中には 2 通分あります。制限によってメールの送信が保留された場合、次のメールには見逃した件数が記載されます。メールには何が起きたかとアクティビティログへのリンクが記載されます。呼び出しの内容、ユーザー名、IP アドレスは含まれません。メールは WordPress のメール送信機能を通じて送信されるため、メールの信頼性が低いホストでは、管理者通知が確実な選択肢です。毎日のメールには WP-Cron が必要です。
レート制限はありますか?
はい。Settings タブの「Rate limit (per minute)」で、1 分あたりの上限を設定します。各接続では、エージェントユーザーごとにカウントされる上限回数まで、エージェントの呼び出しができます。0 にすると制限は無効になります。上限を超えた呼び出しは拒否され、Activity Log タブに記録されるため、上限に繰り返し達している接続を確認できます。
コンテンツは OpenAI、Anthropic、Google に送信されますか?
いいえ。このプラグインが OpenAI、Anthropic、Google、その他の AI プロバイダーに接続することはありません。お使いの AI クライアントがサイトに接続し、有効にした機能を呼び出します。その後、AI クライアントが結果をどう扱うかは、お客様とそのクライアントの提供元との間のことです。(プラグイン自体が取得できるものは、URL だけです。URL アップロード機能を有効にした場合に限ります。詳しくは、以下の「データはどこかに送信されますか?」をご覧ください。)
データはどこかに送信されますか?
AI プロバイダーへの送信も、テレメトリーもありません。エージェントはサイトと直接通信します。例外は、デフォルトで無効になっている URL からのメディアアップロード機能です。有効にすると、AI クライアントから渡された URL を取得します(HTTPS のみ。プライベートアドレスと予約済みアドレスは拒否し、リダイレクトには従いません)。これにより、そのファイルをメディアライブラリに追加できます。この取得は通常の HTTP GET です。そのアドレスへのリクエストと同様、接続先には URL、サイトの IP アドレス、リクエストの発生時刻が伝わります。ただし、コンテンツ、認証情報、その他のサイトデータは一切含まれず、取得を依頼された URL のファイルを読み込むだけです。
監査ログには何が記録されますか?
このプラグインの機能が呼び出されるたびに、処理の開始、成功、エラー、拒否のいずれであっても、実行ユーザー、機能名、引数のキー、呼び出しが対象とした内容を示す短いメモが記録されます。メモには、ID、メタキー名、スラッグ、ステータス値など、識別に必要な小さな値だけが含まれます。別のプラグインのブリッジされた機能の呼び出しに失敗した場合は、そのプラグインのエラーコードも記録されますが、エラーメッセージは記録されません。自由記述の引数の内容、投稿本文、メールアドレスが保存されることはありません。また、リクエストの送信元 IP アドレスとツールの実行時間も記録されます。呼び出しが拒否された場合は、拒否理由も記録されます(ログには記録されますが、エージェントが見るメッセージには表示されません)。アクティビティログはサイト独自のデータベースに保存され、管理画面から消去できます。
プラグインをアンインストールすると、エージェントのアクセス権は取り消されますか?
それだけでは取り消されません。アンインストールすると、プラグイン独自の設定とアクティビティログが削除されます。「アンインストール時にデータを削除」を事前に有効にしていた場合に限り、OAuth テーブルも削除されます。プラグインが作成した専用のエージェントユーザーや、そのユーザーに発行されたアプリケーションパスワードは削除されません。これらはプラグイン独自のデータではなく、通常の WordPress アカウント認証情報だからです。エージェントのアクセスを完全に遮断するには、プラグインの削除前または削除後に、接続タブから OAuth の許可を取り消すか、ユーザー画面からアプリケーションパスワードまたはユーザーアカウントを削除してください。
セキュリティ上の問題はどのように報告すればよいですか?
詳細が公開される前に修正をリリースできるよう、セキュリティ上の問題はサポートフォーラムではなく、非公開で報告してください。このリポジトリに記載されているセキュリティ連絡先をご利用ください。
外部サービス
このプラグインは AI プロバイダーに接続せず、分析機能やテレメトリーも含みません。
プラグイン自体が外部への HTTP リクエストを行うのは、次の 2 種類です。接続タブでのチェック(MCP エンドポイントが応答するか、OAuth が有効な場合にディスカバリードキュメントが読み込めるかを確認するため、サイトが自身のアドレスに対して行う少数のリクエスト)と、デフォルトで無効になっている URL からのメディアアップロード機能を有効にした場合に限り、AI クライアントから渡された HTTPS URL をそのまま取得するリクエストです。これにより、そのファイルをメディアライブラリに追加できます。この取得処理では、プライベートアドレス、予約済みアドレス、リダイレクトを利用した宛先を防ぐための SSRF 対策が施されています。また、コンテンツ、認証情報、サイトデータは一切送信されず、その URL で既に公開されているものを読み込むだけです。
クライアントの接続はプラグインではなく、クライアント側で行います。エンドポイントに直接接続するクライアントもあれば、オープンソースの mcp-remote や @automattic/mcp-wordpress-remote などのブリッジを使うクライアントもあります。これらはお使いのマシン上で実行され、このプラグインには同梱されていません。
変更履歴
1.9.0
- 機能: アクティビティログで、ユーザー、接続、ツール、プラグイン、日付、テキストによる検索と絞り込みができるようになりました。各呼び出しには接続と IP アドレスが表示され、実行された場合は所要時間も表示されます。また、ログに7日間の概要とライブビューが追加されました。CSV エクスポートには、設定した絞り込みが反映されます。
- 機能: デフォルトでは無効の、任意のアラートを追加しました。アプリが接続を許可されたとき、投稿を編集できるユーザーまたはエージェントユーザーにアプリケーションパスワードが作成されたとき、高リスクのツールまたは完全削除が実行されたとき、短時間に呼び出しが集中して拒否されたとき、読み取り専用モードまたは高リスクロックが切り替えられたときに、管理者通知、即時メール、または毎日のメールを送信できます。
- 修正: 拒否された呼び出しの理由がアクティビティログに記録されるようになりました。たとえば「キーが許可リストにありません」と表示されます。エージェントに表示されるメッセージは変更されていません。メタキーの読み取りでも、書き込みと同様にメモが記録されるようになりました。
- 雑務: FAQ、README、ヘルプタブの Cloudflare に関する案内で、非推奨の「Block AI bots」スイッチではなく「Configure AI bot policies」を参照するようになりました。また、WP Engine のエッジトラフィックルールと HTTP 429 の制限に関する手順を追加しました。
1.8.1
- 修正: WooCommerce の注文や商品などのブリッジされたツールで、日付にタイムゾーンが含まれていない場合や URL が空の場合など、値がソースプラグインで宣言された形式と一致しないと、Claude などの厳格なクライアントで失敗していました。ブリッジされたツールが厳格な形式を提示しないようになりました。値自体に変更はありません。
1.8.0
- 機能: 設定タブにサイト概要ボックスを追加しました。サイトについて数行で説明できます。このプラグインに接続するすべてのエージェントが内容を読み取ります。
- 機能: 接続タブに接続診断機能を追加しました。ワンクリックで自サーバーからの接続を確認し、Authorization ヘッダーを削除するホストなど、修正すべき点を知らせます。
- 機能: ダッシュボードに確認が必要なカードを追加しました。エージェントが作成した下書きが一覧表示され、プレビュー、エディターで開く、公開、破棄のボタンを使用できます。破棄すると投稿はゴミ箱に移動します。
- 修正: このプラグインが有効な間、MCP Adapter のデフォルトサーバー上にある他のプラグインのツールが動作しなくなっていました。新しい設定スイッチ(自動、常に有効、常に無効)でそのサーバーを復旧できます。既存のサイトは「自動」に移行し、他のプラグインがそのサーバーにツールを公開したときだけ起動します。このプラグイン独自のツールはそのサーバーに表示されないため、WordPress コアの機能だけに使用していたサイトでは「常に有効」を選択してください。
- 修正: 「下書きを強制」が有効な場合、すでに公開済みの投稿に対してエージェントが再度「公開」を送信すると、投稿が非公開になっていました。投稿は公開されたままになります。スタンドアロンの MCP Adapter 0.6.x と併用したときの「WP_MCP_VERSION already defined」警告、および古いアダプターのコピーによる設定画面のクラッシュも修正しました。プラグインのタイトルには Claude と ChatGPT が記載されるようになりました。
1.7.10
- 修正: Query Monitor で、リクエストのたびに MCP Adapter から「bundled dependency」の非推奨警告が表示されていましたが、表示されなくなりました。
1.7.9
- 修正: スタンドアロンの MCP Adapter プラグイン(0.7.0)が有効で、こちらより先に読み込まれると、/mcp エンドポイントが 404 を返していました。読み込み順にかかわらず応答するようになりました。
- 修正: このプラグインに同梱された MCP Adapter が使用中にもかかわらず、スタンドアロンの MCP Adapter プラグインに赤色の「Another version of MCP Adapter is already loaded」という通知が表示されていました。表示されなくなりました。
- 修正: アダプターがリクエストごとに出力する「bundled dependency」の非推奨メッセージが PHP のエラーログに記録されなくなりました。
- 雑務: 同梱の MCP Adapter を 0.6.1 から 0.7.0 に更新し、アダプターの 0.6.1 から 0.7.x までのバージョンをサポートするようになりました。アダプター自体も、不明なツールに対して -32003 ではなくエラー -32602 を返すようになり、クライアントは initialize の後に MCP-Protocol-Version ヘッダーを送信する必要があります。
1.7.8
- 機能: ブリッジされた機能でエラーが発生した場合、どのプラグインが返したエラーかが表示されるようになりました。また、アクティビティログにはそのプラグインのエラーコードが記録されます(コードのみで、メッセージは記録されません)。
- 修正: WooCommerce、Meta Box、SiteOrigin、Premium Addons、SEOPress、WPForms、Elementor、ElementsKit のブリッジされた37個のツールは、呼び出すと動作するものの、ツール一覧には表示されていませんでした。投稿を編集できるユーザーには表示されるようになりました。呼び出しを許可するかどうかは、引き続き元のプラグインが決定します。
- 修正: ブリッジされたACF経由で削除すると、項目がすでに削除された後にエラーが報告されていました。ACF独自の結果を返すようになりました。
- 修正: PixelYourSiteのレスポンスなど、プレーンオブジェクトを含むブリッジ結果は、書き込みがすでに行われた後に拒否されていました。結果が返されるようになり、拒否された呼び出しは成功ではなくエラーとして記録されます。
- 修正: WordPress 7.0以降では、例外をスローしたプラグインの生の例外テキストがクライアントに届かなくなりました。
1.7.7
- 機能: 「機能」タブに「変更を保存」ボタンが1つ追加され、タブ内のすべてのセクションを保存できるようになりました。「未保存の変更」というメモも表示され、編集内容が未保存のままページを離れようとすると警告されます。
- 機能: 公開対象のリスト(コンテンツタイプ、投稿・ユーザー・タームのメタキー)が変更されると、アクティビティログに行が追加されます。リスト名と、追加・削除されたキーの数が記録されます。
- 修正: 公開対象のメタキーやコンテンツタイプの編集内容は、メインの「保存」だけを押すと失われていました。4つの個別セクションボタンをなくし、1つの「保存」ボタンですべて保存するようになりました。
- 修正: セクションの保存に失敗した場合、ページにセクション名が表示され、再試行できるように編集内容が保持されます。保存に成功したセクションはそのまま保存されます。
- 修正: 詳細JSONなどの値が長いと、アクティビティログのテーブルが横スクロールしていました。各列がページ幅を共有し、長い値は折り返されるようになりました。
1.7.6
- 修正: MCP エンドポイント用に発行されたOAuthトークンで、他のRESTルート、admin-ajax.php、admin-post.php、コメントフォーム、OAuth認可画面、ディスカバリーURLでもサインインできていました。MCPルートでのみ機能するようになりました。
- 修正: メタデータ、SEO、メディア、WooCommerce、The Events Calendarへの書き込みで、実際にデータベースに反映された内容を確認し、書き込み済み、変更なし、拒否、読み取り失敗のいずれかを報告するようになりました。アクティビティログには各結果が識別子のみで記録されます。
- 修正: 読み取り専用モード、高リスクロック、機能スイッチ、許可リストは、MCPリクエストごとにデータベースから読み取られるようになりました。読み取りに失敗した場合は、より制限の厳しい設定が維持されるため、古いオブジェクトキャッシュによって制限が緩和されることはありません。
- 修正: WP-CLIでは、有効になっているブリッジツールの元プラグインが無効な場合、ツールごとに「called incorrectly」という通知が2つ表示されていました。該当ツールは通知なしでスキップされるようになりました。拒否された呼び出しのアクティビティログ行は、変更が行われたように見えないよう「試行:...」と表示されます。
- 修正: 永続オブジェクトキャッシュを使用している場合、レビューのプロンプトが他のプラグインの「オプションが存在しない」というキャッシュエントリを消去していました。自身のエントリのみを消去するようになりました。その他、replace-sitewide、WooCommerceのゲートウェイ順序、Rank MathとAIOSEOのheadプレビュー、複数のツール説明にも小規模な修正が加えられています。
1.7.5
- 機能: 「接続」タブの許可リストのテキストエリアが、検索可能なチェックボックスの選択欄に置き換わりました。また、権限グループとクライアントの選択欄、クライアントIDのコピーボタン、ページネーション付きテーブル、タブをまたいだ機能検索が追加されました。
- 修正: 検索結果が0件の場合、空のカードに「保存」ボタンが取り残されていました。保存バーは非表示になり、結果が戻ると再表示されるようになりました。
- 修正: クライアント選択欄のホバー状態と選択状態が同じように見えていました。ホバー時は枠線のアウトラインのみが表示されるようになりました。
- 修正: 機能の順序が再保存後も維持されるようになりました。キーボード操作で古い検索結果がクリアされ、大きな許可リストですべてのチェックボックスが読み込み時に描画されなくなりました。また、新しいコントロールにアクセシブルな名前と翻訳が追加されました。
- 修正: 投稿、ブロック、テンプレートへの書き込みで、反映された内容が確認されるようになりました。停止したOAuth移行によって無効にしたスイッチが再度有効になることはなくなり、コメント数から非表示のコメントを推測できなくなりました。また、トークンの取り消しに失敗した場合に成功と報告されることはなくなりました。
1.7.4
- 機能: The Events Calendar、Event Tickets、Slim SEO、Avada、GeoDirectoryを対象とする新しい機能を26個追加したほか、URLからメディアを直接アップロードできるようになりました。これらはすべて、有効にするまでオフのままです。
- 機能: ページビルダーガードにより、Elementor、Divi、Beaver Builder、Avadaが所有するページに対して、書き込みが何もせずに終わってしまう場合は拒否します。新しい許可リストで、各ロールや接続がアクセスできる範囲を絞り込めます。
- 修正: mcp-adapter 0.6.1への更新により、実際のサブサイト接続が失敗と報告されるマルチサイトのバグを解消しました。
- 修正: OAuthの複数の処理で、データベースの読み取りに失敗すると権限が許可されたものとして扱われていました。無効化されたクライアント、存在しないクライアントレコード、読み取れない登録上限がある場合は、リクエストを通すのではなく拒否するようになりました。
- 修正: 削除されたユーザーに属する許可を消去するようになりました。接続画面には各IDの現在のロールが表示されます。また、WooCommerce、管理画面、接続タブにわたって、複数の小規模な修正を行いました。
1.7.3
- 修正: 永続的なWordPressオブジェクトキャッシュ(Redis、Memcached、またはホスト独自のドロップイン)に完全に対応しました。オフにしたスイッチはオフのままになり、変更が適用されなかった場合は、完了として記録するのではなく、その旨が報告されます。
- 修正: デフォルトへのリセットとアンインストール時の削除で、プラグイン独自のオプションキャッシュエントリーも消去するようになりました。これにより、古いキャッシュによってリセット後に設定が復元されることはありません。
1.7.2
- 機能: エージェントがサインイン時に見る同意画面を作り直しました。正規のブランドマーク、サイトアイコン、そして検証済みのリダイレクトホストによってプラグインが認識した場合は、コネクター独自のアイコンも表示されます。
- 機能: アクティビティログに、WordPressに到達したすべてのMCPリクエストが記録されるようになりました。サインイン後に呼び出しが記録されていない場合は、CDNまたはファイアウォールによって、エージェントが到達前にブロックされたことを意味します。
- 修正: 動的クライアント登録がオフのサイトで、ChatGPTが接続できない問題を修正しました。設定タブに専用のスイッチが復活し、デフォルトでオンになります。また、既存のインストール環境もアップデート時にオンになります。
- 修正: 接続に関する3つのバグを解消しました。OAuthの認可ステップでパーセントエンコードされたリダイレクトアドレスが破損する問題、セッション書き込みに失敗した際に存在しないセッションIDが返される問題、ツールリストの作成中に非常に大きなツールスキーマがメモリを使い果たす問題を修正しました。
- 修正: WooCommerce、ACF、Rank Mathに関する小規模な正確性の修正に加え、リビジョン削除時の誤った権限チェック、アンインストール後に残されるOAuthオプション、エッジでエージェントをブロックするCDN向けの新しいreadme FAQを追加しました。
1.7.1
- 修正:
lang:"all"は一部の言語だけを測定し、それでも成功を報告していました。投稿、固定ページ、メディア、ターム、検索、WooCommerce 製品について、設定済みの WPML 言語をすべて照会するようになり、共通の件数ヘルパーはそれらすべての合計を算出します。 - 修正:
tools/listにおけるツールの表示状態と、実行時の権限チェックで実際に許可される内容が、どちらの方向にも食い違うことがありました。その結果、エージェントが使えるツールが隠されたり、使えないツールが表示されたりしていました。カスタム投稿タイプ、固定ページ、ACF のタームフィールドについて、検出結果と実行時の権限を一致させました。 - 修正: RFC 9728 の保護リソースメタデータのルートが、エージェントが実際にリクエストするパスでは 404 になり、少なくとも 1 人のユーザーから報告された Claude 接続の問題を引き起こしていました。仕様で定められた、パスが付加された URL で解決されるようになりました。
- 修正: コメントがすでに要求された状態(すでに承認済み、すでにスパム扱いなど)の場合、何も問題がないにもかかわらず、
moderate-commentは失敗を報告していました。何も変更しない場合は成功を報告するようになり、監査エラーとして記録されることもなくなりました。 - 修正: WordPress コア 7.1 より前の環境も含め、複数のコードパスで呼び出しが完了する前に処理が打ち切られたり拒否されたりし、監査ログに実際の結果ではなく、「開始済み」のままの読み取り不能な行が残ることがありました。すべての呼び出しに一意のトークンを付与し、対応する行を確実に完了させるようになりました。
- 修正: サードパーティ製プラグインのアビリティからブリッジされた出力に、1〜2 階層深くに安全でないオブジェクトが含まれている場合、見落とされることがありました。結果を再帰的に調べて検出するようになり、裸のオブジェクトや曖昧なオブジェクトは、安全と見なさず拒否するようになりました。ブリッジされた出力は、このプラグイン独自のアビリティの出力のように秘匿化されないことも、README に明記しました。
- 修正: メディアのアップロードで WordPress 独自のサイドロード処理を利用し、作成された添付ファイルのコンテンツを再サニタイズするようになりました。この処理経路に合わなくなったピクセルサイズの上限は削除しました。
- 修正: WooCommerce、ACF、AIOSEO、Rank Math、Yoast に関する複数の細かな正確性の修正を行いました。読み書きは各ベンダー独自の関数を経由するようになり、動作を独自に再構築しなくなりました。また、ツールの説明、キャッシュの無効化、検出の最低要件が誤っていた一部の固定ページも修正しました。
- 整理: アンインストール時に、データ削除に関連するイベントだけでなく、両方の日次 cron イベントを削除するようになりました。
1.7.0
- 機能: Abilities タブのセクションに、「すべての読み取りを有効化」に加えて「すべての書き込みを有効化」ボタンが表示されるようになりました。通常の書き込みにはチェックを入れ、削除と高リスクのアビリティはそのままにします。
- 機能: 監査ログに記録される情報が増えました。完全削除では削除した対象が記録され、タームメタ、ユーザーメタ、サイト設定の更新では、書き込んだキーが記録されます。記録するのは名前と識別子であり、呼び出しに含まれていた自由記述のテキストではありません。
- 修正: 権限付与を取り消したときに処理中だった認可リクエストが、引き続きコードを発行する可能性がありました。また、トークンエンドポイントでは同意が再確認されなかったため、画面で取り消しが成功したと表示された後でも、そのコードを引き換えると有効なトークンが発行されていました。引き換え時に同意を再確認するようになりました。
- 修正: 決済ゲートウェイの設定で、camelCase の認証情報キーがすべてそのまま返され、いずれもマスキングされていませんでした。Authorize.Net の apiLoginID と transactionKey が該当します。
- 修正: ACF の書き込み処理で、保存済みのコンテンツを破損してから失敗を報告する問題が 4 件ありました。解決できないフレキシブルコンテンツのレイアウト、ほぼ一致するアドレスを使ったクリア処理、ACF のアドレスではなく呼び出し元のアドレスを読み取っていた保護メタのチェック、未宣言の名前で行われていたサブフィールドへの書き込みです。いずれも、書き込み前に拒否されるようになりました。
- 修正: WooCommerce が返金を注文として数えていたため、注文 6 件と返金 3 件のストアで、注文数が 9 件と報告されていました。バリエーションの検証に親商品ではなく表示フィルターを使用していた問題、バリエーションの削除が成功しているのに失敗を報告する問題、ロールバック対象の注文検索で発生した例外が伝播する問題も修正しました。
- 修正: MCP 経由の 2 件の拒否で、実際の原因とは異なる「権限がありません」というメッセージが表示されていました。alt テキストの設定では、WordPress が alt を保護されたキーの下に保存するためにこの問題が発生していましたが、拒否理由に aafm-update-media が表示されるようになりました。また、必須引数が欠けた呼び出しでも同じ問題が発生していましたが、欠けている項目を示すスキーマエラーが表示されるようになりました。
- 修正: WooCommerce、SEO、ACF のフィールド、注文先住所、保存済みの投稿テキストなど、テキストがストレージに保存される際に不可視文字が除去されるようになりました。完全削除では、サイトで提供できない復元機能が提示されなくなり、リスクなしと宣言されたアビリティも完全削除として扱われます。そのほか、配送ゾーン、WordPress 6.9 でのメニュー一覧、ACF のコンテナー書き込み、初回起動ウィザード、誤った原因を示していた拒否メッセージなど、複数の小規模な修正を行いました。
- 作業: WordPress 7.1 でテストしました。管理画面のアクセシビリティを確認し、キーボード操作、強制カラーでのフォーカスリング、トグルとテーブルヘッダーの適切な名前付けに対応しました。OAuth の保守性も向上し、トークン処理をロールバックできるよう InnoDB テーブルを使用し、サブサイト上で自己修復するクリーンアップ cron を追加しました。プラグインがしばらく利用された後に wordpress.org でのレビューを依頼する通知が表示されるようになり、通知は完全に非表示にできます。ベンダーリポジトリのメタデータは wordpress.org に送信されなくなりました。
1.6.3
- 作業: 変更履歴を簡潔にし、両方の readme でリリース履歴全体が wordpress.org の掲載文字数制限に収まるようにしました。リリース内容はそのままに、行数を減らし、セキュリティとデータ整合性の修正は引き続き個別に記載しています。
- 作業: コンシューマープラグインのショートサーキットがレート制限の解除フックから認識されるタイミングについて、やや誇張していたコードコメントを修正しました。
リリース履歴の全文はこちらです:agentabilitieswp.com/changelog
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
