ai-agent

WordPressをClaude Code / Codexから操作できるようにした話

WordPressの記事を、Claude CodeやCodexから直接下書き作成・編集できるようにした。

やったことはそれほど難しくない。WordPressでアプリケーションパスワードを発行して、GitHubからWordPress MCPのプラグインをダウンロードし、WordPressのプラグインとして入れて、Claude Code / Codex側に接続設定を追加しただけ。

この記事では、自前サーバーのWordPressをMCP経由でAIエージェントから扱えるようにするまでの流れを、できるだけシンプルにまとめる。

何をしたのか

今回やったことは、大きく分けると次の4つ。

  1. WordPressでアプリケーションパスワードを作る

  2. GitHubからWordPress MCPのプラグインをダウンロードする

  3. WordPressにプラグインとしてアップロードして有効化する

  4. Claude Code / CodexにWordPressへの接続情報を設定する

自分でMCPサーバーを一から実装したわけではない。既に公開されているWordPress MCP用のプラグインとMCPサーバーを使い、WordPress側の認証にはアプリケーションパスワードを使った。

全体像

構成はこうなる。

WordPress MCP連携の全体像

Claude Code / CodexからMCP経由でWordPressに接続する全体像。

Claude CodeやCodexから見ると、WordPressがMCPツールとして使えるようになる。たとえば、下書き一覧を取得したり、新しい記事案をWordPressの下書きとして作ったり、既存の記事を読み込んでリライトしたりできる。

WordPressのアプリケーションパスワードを作る

まずWordPress管理画面で、AI連携に使うユーザーのアプリケーションパスワードを作る。

手順は次の通り。

  1. WordPress管理画面にログインする

  2. ユーザー から対象ユーザーのプロフィールを開く

  3. アプリケーションパスワード の欄を探す

  4. 名前を付けて新しいパスワードを発行する

  5. 表示されたパスワードを控える

WordPressのプロフィール画面にあるアプリケーションパスワード欄

ユーザープロフィール画面の下部にある「アプリケーションパスワード」で新しい認証情報を作る。

アプリケーションパスワードは、WordPressの通常ログインパスワードとは別物。Claude CodeやCodexからWordPress APIにアクセスするための専用パスワードとして使う。

表示されるのは発行時だけなので、控え忘れた場合は作り直す。漏れた可能性がある場合も、そのアプリケーションパスワードだけ削除して再発行すればよい。

WordPress MCPプラグインを入れる

次に、GitHubからWordPress MCPのプラグインをダウンロードする。

プラグインは次のGitHubリポジトリから入手できる。

WordPressにアップロードするZIPは、リポジトリのトップページではなく、リリースページからダウンロードする。

ダウンロード場所はここ。

Automattic/wordpress-mcp
→ Releases
→ 最新リリース
→ Assets
→ wordpress-mcp.zip

直接開くなら、次のページにアクセスする。

GitHubのリリース画面では、各バージョンの下に Assets という折りたたみ欄がある。その中にある wordpress-mcp.zip が、WordPress管理画面からアップロードするファイル。Source code (zip) ではなく、プラグイン用に用意されている wordpress-mcp.zip を選ぶ。

基本的な流れは普通のWordPressプラグインと同じ。

  1. Automattic/wordpress-mcp Releases を開く

  2. 一番上の最新リリースを確認する

  3. Assets を開く

  4. wordpress-mcp.zip をダウンロードする

  5. WordPress管理画面で プラグイン新規追加 を開く

  6. プラグインのアップロード からZIPをアップロードする

  7. インストール後、有効化する

WordPressのプラグイン追加画面でアップロードボタンを押す

プラグイン新規追加 を開き、画面上部の「プラグインのアップロード」を押す。

WordPressでZIP形式のプラグインファイルを選択する画面

GitHub Releasesからダウンロードした wordpress-mcp.zip を選択し、「今すぐインストール」を押す。

ここで重要なのは、WordPress側にMCP連携用の入口を用意すること。WordPress本体だけでもREST APIはあるが、MCPとしてClaude Code / Codexから扱いやすくするために、WordPress MCPプラグインを入れる。

WordPress MCPを設定する

プラグインを有効化しただけでは、まだMCP連携の設定が終わっていない。WordPress管理画面で 設定WordPress MCP を開き、MCP機能を有効にする。

確認するポイントは次の通り。

  1. 左メニューの 設定 から MCP を開く

  2. MCP機能を有効化する

  3. 必要なツールやREST API関連の機能を有効にする

  4. 設定を保存する

WordPress管理画面の設定メニューからMCPを開く

左メニューの 設定 を開き、下に表示される MCP をクリックする。

WordPress MCPの設定画面

MCP設定画面で Enable MCP functionality を有効化し、使う操作に応じてCreate / Updateなどのツールを有効にする。

どれをONにするか迷う場合は、まず次の設定で始めるとよい。

項目最初の設定理由
Enable MCP functionalityONMCP連携そのものを有効にするために必要。
Enable Create ToolsONClaude Code / Codexから新しい下書きを作るために使う。
Enable Update ToolsON作成済みの下書きや記事案を更新するために使う。
Enable Delete ToolsOFFAIから削除操作ができるようになるため、最初は不要。
Enable REST API CRUD Tools (EXPERIMENTAL)必要になるまでOFFできる操作範囲が広く、実験的な機能なので最初は絞る。

記事の下書き作成や更新だけが目的なら、CreateUpdate が使えれば十分。削除系の操作や、広い範囲のCRUD操作を許可する設定は、動作確認が済んでから慎重に有効化した方がよい。

設定後は、WordPress側の準備は完了。次にClaude CodeやCodexから、このWordPressに接続する。

Claude Codeに登録する

WordPress側の準備ができたら、Claude CodeにMCPサーバーを登録する。

たとえば次のような形で登録する。

claude mcp add --transport stdio wordpress \
  --env WP_API_URL=https://example.com/ \
  --env WP_API_USERNAME=your-wp-user \
  --env WP_API_PASSWORD="xxxx xxxx xxxx xxxx xxxx xxxx" \
  -- npx -y @automattic/mcp-wordpress-remote@latest

WP_API_URL にはWordPressサイトのURLを入れる。WP_API_USERNAME はWordPressのユーザー名、WP_API_PASSWORD は先ほど発行したアプリケーションパスワード。

登録できたら、Claude Code上でMCPの状態を確認する。

/mcp

Claude CodeでWordPress MCPが認識されている画面

/mcp でWordPress MCPが表示されれば接続できている。

ここでWordPressのMCPサーバーが見えていれば、Claude CodeからWordPressを操作できる。

Codexに登録する

Codexでも考え方は同じ。WordPressのURL、ユーザー名、アプリケーションパスワードを渡して、WordPress MCPを起動する。

CLIで追加するなら、次のような形になる。

codex mcp add \
  --env WP_API_URL=https://example.com/ \
  --env WP_API_USERNAME=your-wp-user \
  --env WP_API_PASSWORD="xxxx xxxx xxxx xxxx xxxx xxxx" \
  wordpress \
  -- npx -y @automattic/mcp-wordpress-remote@latest

確認は次のコマンド。

codex mcp list

登録内容を詳しく見るなら、次も使える。

codex mcp get wordpress

出力は次のような形になる。

wordpress
  enabled: true
  transport: stdio
  command: npx
  args: -y @automattic/mcp-wordpress-remote@latest
  cwd: -
  env: LOG_FILE=*****, WP_API_PASSWORD=*****, WP_API_URL=*****, WP_API_USERNAME=*****
  remove: codex mcp remove wordpress

enabled: true になっていて、commandnpxargs@automattic/mcp-wordpress-remote@latest が入っていれば準備完了。

Codex側に登録されれば、WordPressの記事取得や下書き作成をCodexから頼めるようになる。

できるようになったこと

この設定をすると、Claude CodeやCodexに対して次のような依頼ができる。

WordPressの下書き記事を一覧して。
この記事案をWordPressの下書きとして作成して。
ID 123 の記事を取得して、導入文をもっと初心者向けに直して。
このMarkdownをWordPressの下書きに反映して。

WordPress管理画面を開いて手でコピー&ペーストする作業が減る。特に、記事案をCodexやClaude Codeで整えて、そのままWordPressの下書きに置けるのが便利だった。

気をつけること

まず、アプリケーションパスワードは普通のパスワードと同じように扱う。記事、GitHub、メモ、共有ファイルなどにそのまま貼らない。間違って残した場合は、WordPress管理画面から削除して作り直す。

次に、最初から公開までAIに任せない方がよい。最初は下書き作成や既存下書きの更新までにして、公開はWordPress管理画面で人間が確認してから行う運用にする。

また、AI連携用のWordPressユーザーは専用に作るのが安全。普段使っている管理者アカウントをそのまま使うより、記事作成・編集に必要な権限だけを持つユーザーを作った方が扱いやすい。

うまくいかないとき

401 Unauthorized が出る場合は、ユーザー名かアプリケーションパスワードが違う可能性が高い。アプリケーションパスワードはスペース入りで表示されるが、基本的にはそのまま渡してよい。

403 Forbidden が出る場合は、WordPressユーザーの権限が足りない可能性がある。下書きを作れる権限、既存記事を編集できる権限があるか確認する。

MCPサーバーが見えない場合は、Claude Codeなら /mcp、Codexなら codex mcp list で登録状態を確認する。コマンド中のURL、ユーザー名、パスワードに余計な空白や引用符のミスがないかも見る。

まとめ

今回やったことは、WordPressでアプリケーションパスワードを作り、GitHubからWordPress MCPプラグインを入れて、Claude Code / Codexに接続情報を設定しただけ。

MCPという言葉だけ見ると難しそうだが、実際の作業はかなりシンプルだった。WordPressをAIエージェントから直接扱えるようになると、記事案の作成、リライト、下書き反映までの流れがかなり短くなる。

公開操作だけは人間が確認する運用にしておけば、自前サーバーのWordPressでも比較的安心して使い始められる。