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できる操作範囲が広く、実験的な機能なので最初は絞る。

記事の下書き作成や更新だけが目的なら、Create と Update が使えれば十分。削除系の操作や、広い範囲の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 になっていて、command が npx、args に @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でも比較的安心して使い始められる。