「Claudeに頼んだら、そのままWordPressの記事を下書きしてくれたら便利なのに」。そう思ったことはないでしょうか。WordPress公式のAIチームが公開するMCP Adapterと、本体に組み込まれたAbilities APIによって、これが「プラグイン頼み」ではなく「WordPressの標準的な仕組み」として実現できるようになってきました。
結論から言うと、WordPress 7.1と公式MCP Adapter(v0.6.1)を組み合わせれば、ClaudeなどのAIエージェントからWordPressの機能を呼び出すことは実際に可能です。ただし、本番サイトで使うにはユーザー権限と認証の設計が必須で、現時点では「開発者が用意した機能だけをAIに使わせる」段階だと考えるのが正確です。この記事では、ローカル環境で実際に構築・検証した結果をもとに、仕組みと注意点を解説します。
WordPress MCPとは?AIがサイトを「操作できる」仕組み
MCP(Model Context Protocol)は、AIアシスタントが外部のツールやデータを安全に呼び出すための共通ルールです。Claude Desktop、Claude Code、Cursorなど多くのAIツールが対応しており、「AI側から見た、外部サービスの共通コンセント」だと考えると分かりやすいでしょう。WordPress側にこのコンセントを用意するのが、公式GitHubで開発されている「MCP Adapter」です。以前あったAutomattic製の「wordpress-mcp」はアーカイブされ、現在はWordPress/mcp-adapterが正式な実装として案内されています。
Abilities APIとMCP Adapterはどういう関係?
ここが一番大切なポイントです。MCP Adapterは、単体では何もできません。「WordPressにできること」を登録しておく仕組みがAbilities APIで、MCP AdapterはそれをAIに見える形に変換する「通訳」にすぎません。
Abilities APIはWordPress 6.9で本体に組み込まれ、7.1でも整備が続いています。実際に7.1のコアソースを確認すると、サイト情報・ユーザー情報・環境情報を返す3つのコアAbilityが登録され、REST APIには「wp-abilities/v1」という専用の名前空間も用意されています。
| 役割 | 名前 | どこにあるか |
|---|---|---|
| 「できること」を登録する | Abilities API | WordPress本体(6.9以降) |
| 登録された機能をAI向けに公開する | MCP Adapter | 別配布のプラグイン(GitHub) |
| 実際に使う側 | Claude Desktop / Claude Code など | MCPクライアント |
何ができて、何がまだできないのか
できることは「開発者がAbilityとして登録した機能をAIから呼び出すこと」です。逆に言えば、登録されていない機能は、AIからは一切見えません。しかもAbilityは初期状態では非公開で、開発者が明示的に「公開してよい」と設定したものだけがMCP経由で見えるようになります。
つまりこれは、「サイト側が許可した範囲だけをAIに開放する」ための仕組みです。標準のWordPressには前述の3つのコアAbilityしかないため、「記事を下書きする」「カスタム投稿を集計する」といった実務的な操作は、自分でAbilityを作る必要があります。

ここまでのまとめ(サイト運営者の方へ)
- WordPress公式のMCP Adapterを使えば、ClaudeなどのAIからWordPressを操作する仕組みは実際に動きます。
- ただし、AIが使えるのは「開発者が用意して公開したAbility」だけです。何もしなければ、AIはほぼ何もできません。
- 本番導入には、AI専用ユーザーの権限設計と認証(アプリケーションパスワード)の管理が必須です。
- 2026年9月時点でMCP Adapterはバージョン0.6系で、破壊的変更を含む更新が続いています。「今すぐ本番」より「まず開発環境で試す」段階です。
ここからは、実際に構築した手順と結果を、技術者向けに詳しく紹介します。
実際に試してみた:WordPress 7.1 + MCP Adapter v0.6.1
検証環境は、Local(PHP 8.2)上に新規インストールしたWordPress 7.1(日本語版)です。MCP Adapterは、GitHubのリリースzipをWP-CLIから直接インストールしました。動作要件は公式ドキュメントでWordPress 6.9以上・PHP 7.4以上とされています。
|
1 2 3 4 |
wp core download --version=7.1 --locale=ja wp plugin install https://github.com/WordPress/mcp-adapter/releases/download/v0.6.1/mcp-adapter.zip --activate wp mcp-adapter list |
有効化直後に一覧コマンドを実行すると、「mcp-adapter-default-server」というサーバーが自動生成され、Abilityを探す・詳細を見る・実行するという3つの「メタツール」が登録されていることが分かります。AIはまずこれらを使ってサイトの機能を把握します。
独自Abilityを登録する
次に、検証用として「投稿数を返す」「下書きを作る」という2つのAbilityを、小さなmu-pluginとして登録しました。ポイントは、必ず wp_abilities_api_init フックの中で登録することと、meta の public を true にしないとMCPからは見えないことの2点です。以下は下書き作成側の抜粋です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
add_action( 'wp_abilities_api_init', function () { wp_register_ability( 'edel/create-draft', array( 'label' => '下書きを作成', 'description' => '指定したタイトルと本文で投稿の下書きを作成します。公開はしません。', 'category' => 'edel-test', 'input_schema' => array( 'type' => 'object', 'properties' => array( 'title' => array( 'type' => 'string', 'description' => '投稿タイトル' ), 'content' => array( 'type' => 'string', 'description' => '本文(任意)' ), ), 'required' => array( 'title' ), ), 'execute_callback' => function ( $input ) { $post_id = wp_insert_post( array( 'post_title' => sanitize_text_field( $input['title'] ), 'post_content' => wp_kses_post( $input['content'] ?? '' ), 'post_status' => 'draft', ), true ); if ( is_wp_error( $post_id ) ) { return $post_id; } return array( 'post_id' => (int) $post_id ); }, 'permission_callback' => function () { return current_user_can( 'edit_posts' ); }, 'meta' => array( 'public' => true ), ) ); } ); |
category は別途 wp_abilities_api_categories_init フックで登録します。description はAIがそのまま読んで「いつ使うか」を判断する材料になるため、人間向けの説明文をきちんと書くことがそのまま精度につながります。
MCPエンドポイントをcurlで叩く
MCP Adapterのデフォルトサーバーは、REST API上の「/wp-json/mcp/mcp-adapter-default-server」で待ち受けます。認証はWordPress標準のアプリケーションパスワードが使えます。まず initialize を送ると、レスポンスヘッダーで Mcp-Session-Id が返り、以降のリクエストにはこのヘッダーを付ける必要があります(付け忘れると「Missing Mcp-Session-Id header」というエラーになります)。
|
1 2 3 4 5 6 |
curl -u "admin:アプリケーションパスワード" -X POST \ -H "Content-Type: application/json" \ -H "Mcp-Session-Id: 取得したID" \ -d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"mcp-adapter-execute-ability","arguments":{"ability_name":"edel/create-draft","parameters":{"title":"MCP経由で作成した下書き"}}}}' \ https://example.com/wp-json/mcp/mcp-adapter-default-server |
返ってきた結果は次のとおりで、実際にIDが4の下書きが作成され、WP-CLIの投稿一覧にも反映されていました。続けて投稿数を取得するAbilityを呼ぶと、draft が0から1に増えていることも確認できました。
|
1 2 |
{"success":true,"data":{"post_id":4,"edit_url":"https://example.com/wp-admin/post.php?post=4&action=edit"}} |
検証中に引っかかった点も共有しておきます。execute-ability の引数名は「ability_name」と「parameters」で、「input」や「name」ではエラーになります。また、Abilities APIのREST側では読み取り専用(readonly)のAbilityはGETで、書き込み系はPOSTで実行する仕様になっており、readonly にPOSTすると405エラーが返りました。ローカルのhttp環境ではアプリケーションパスワードが既定で無効なので、検証時だけフィルターで許可する必要があります(本番のhttpsでは不要です)。
権限チェックは効いているか
本番導入で一番気になるのはここでしょう。認証なしでMCPエンドポイントにアクセスすると401で拒否されました。さらに、購読者(subscriber)権限のユーザーで下書き作成Abilityを実行すると「Permission denied」となり、Ability側の permission_callback が正しく機能していることを確認できました。トランスポート(入口)の認証と、Ability単位の権限チェックの二段構えになっている点は安心材料です。
Claude Desktop / Claude Code から接続する設定
ローカル開発では、WP-CLIのSTDIOトランスポートが手軽です。今回、JSON-RPCを標準入力から流し込む方法でSTDIO経由の実行が動くことを確認しました。公式ドキュメントに基づく設定例は次のとおりで、Claude Desktopなら「開発者設定」の設定ファイル、Claude Codeなら claude mcp add コマンドで同じ内容を登録できます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{ "mcpServers": { "wordpress": { "command": "wp", "args": [ "--path=/path/to/wordpress", "mcp-adapter", "serve", "--server=mcp-adapter-default-server", "--user=admin" ] } } } |
リモートの本番サイトへHTTPで接続する場合は、公式ドキュメントで @automattic/mcp-wordpress-remote というプロキシを介し、環境変数にサイトのMCP URL・ユーザー名・アプリケーションパスワードを渡す方法が案内されています。なお、Claude DesktopのGUIからの接続操作そのものは今回は行っておらず、curlとWP-CLIでプロトコルレベルの動作を検証した結果である点はお断りしておきます。
本番で使う前に考えるべきセキュリティ
MCP AdapterのHTTPトランスポートは、既定では「ログイン済みユーザーなら通す」設計です。つまりアプリケーションパスワードが漏れれば、そのユーザーの権限でAIが(あるいは攻撃者が)Abilityを実行できることになります。最低限、次の3点は設計してから公開してください。
- AI専用のユーザーを作り、必要最小限の権限(例: 下書き作成だけなら投稿者)に絞る。管理者のアプリケーションパスワードをAIに渡さない。
- Abilityの permission_callback で「誰が実行できるか」を必ず明示する。読み取り系と書き込み系で権限を分ける。
- 公開するAbilityは読み取り系を優先し、削除や公開状態の変更など取り返しのつかない操作は、まずMCPに出さない。
加えて、MCP Adapterは0.6.0で「WordPress 6.9以上必須」などの破壊的変更が入っています。更新のたびに挙動が変わる前提で、ステージング環境で追従できる体制がないと、本番運用は難しいのが正直なところです。
まとめ:WordPress MCPは「AIに開放する範囲を設計する」技術
Abilities APIとMCP Adapterによって、ClaudeからWordPressを操作する土台はすでに本体と公式プラグインに用意されています。ただし、動かすこと自体より、「どの機能を、どの権限で、AIに開放するか」を設計することが本当の仕事です。ここはREST APIやプラグイン開発、権限設計の知識がそのまま活きる領域で、当社でもAI接客ボットやOpenAI API連携の開発で日々向き合っているテーマです。
「自社サイトの業務をAIから呼び出せるようにしたい」「安全に試せる環境を作りたい」という場合は、Ability設計から接続設定・権限の切り分けまで、まとめてご相談いただけます。WordPress 7.1全体の変更点はWordPress 7.1の新機能解説で、Abilityを作るためのフックやプラグイン開発の基礎はUdemyのプラグイン開発講座でも詳しく解説しています。
- WordPressカスタマイズ・プラグイン開発:独自Abilityの開発やAI連携の実装
- 顧問エンジニアサービス:MCP Adapterのような変化の速い技術を、継続的にキャッチアップして相談できる体制
- 無料相談はこちら:「うちのサイトで何ができそうか」の段階からお気軽にどうぞ