【ロリポップ対応】Claude MCPでWordPressを直接操作する方法|Authorization問題を完全解決

ロリポップでWordPress MCPをX-WP-JWTヘッダーで接続する方法 AI ・PC

「Claude MCPでWordPressを操作したいのに、ロリポップだと認証エラーになる」——そんな経験はありませんか?

この記事では、ロリポップ共有サーバーでWordPress MCPが動かない原因を突き止め、完全に解決した方法を共有します。

💡 この記事のURLをClaudeに送るだけで自動セットアップできます(後述)

なぜロリポップでMCPが動かないのか

WordPress MCPは通常、Authorization: Bearer または Authorization: Basic ヘッダーで認証を行います。ところがロリポップのCDN/プロキシは、Authorizationヘッダーをサーバーに届く前に遮断しています。

これはセキュリティ上の意図的な仕様です。いくら .htaccess を修正しても、PHPコードを追加しても解決できません——プロキシレベルで削除されるからです。

診断結果(実際に確認)

WordPressにデバッグエンドポイントを作って確認したところ、PHPに届くヘッダーから Authorization が完全に消えていました。X-Backend に lolipop.lan が入っており、プロキシレベルで処理されていることが確認できます。

ヘッダーロリポップ通過
Authorization: Basic xxx❌ 遮断
Authorization: Bearer xxx❌ 遮断
X-WP-JWT: xxx✅ 通過
X-Forwarded-For など✅ 通過

解決策:X-WP-JWTカスタムヘッダーで迂回する

ロリポップが遮断するのは 「Authorization」という名前のヘッダーだけで、カスタムヘッダーは通過することがわかりました。この性質を利用した解決策がこちらです:

  1. Claude Code(MCPサーバー)が X-WP-JWT ヘッダーでJWTトークンを送信
  2. ロリポップのプロキシを通過(Authorization でないため遮断されない)
  3. WordPress の MU-Plugin(必須プラグイン)が X-WP-JWT を HTTP_AUTHORIZATION に書き換え
  4. カスタム JWT 認証フィルターがトークンを検証・ユーザーを特定
  5. WordPress REST API が正常に応答 ✅

必要なもの

  • WordPress(ロリポップ共有サーバー)
  • WordPress MCPプラグイン(Automattic AI製 v0.2.5以上)— 無料
  • Node.js v18以上
  • @mangerik/wordpress-mcp(npm パッケージ)
  • FTPクライアント(WinSCPなど)

🤖 Claudeに自動セットアップしてもらう方法(おすすめ)

手順は少し複雑ですが、Claude Code にこのURLを教えるだけで全自動でセットアップしてくれます。

Claude Code に以下のように伝えてください:

「ロリポップでWordPress MCPを使いたい。この記事を参考にセットアップして:https://aqleaf.com/lolipop-wordpress-mcp-authorization-fix/」

Claudeが以下を自動で行います:

  • 必要なファイルの作成・FTPアップロードの案内
  • npm パッケージのインストールとパッチ適用
  • 設定ファイルの書き込み
  • 動作確認まで

手動セットアップの概要

自分で作業する場合の流れです(詳細はコメント欄かClaudeにお聞きください):

  1. WordPress MCPプラグインをインストール・有効化
  2. MU-Plugin(PHPファイル)を作成してFTPで /wp-content/mu-plugins/ にアップロード
  3. npm install -g @mangerik/wordpress-mcp を実行
  4. パッケージのソース(wordpress-client.js)を2箇所修正
  5. Claude Code の設定ファイルに認証情報を追加
  6. Claude Code を再起動して動作確認

動作確認

設定完了後、Claude Code から 95個の WordPress ツールが使えるようになります。

  • 記事の作成・編集・公開
  • メディアのアップロード
  • カテゴリ・タグの管理
  • ユーザー情報の取得 など

注意点

  • JWTトークンは1時間で期限切れになります。Claude Codeを再起動すると自動で新しいトークンを取得します。
  • パッケージをアップデートするとパッチが消えるので、再適用が必要です。
  • 設定ファイルにWordPressパスワードを記載するため、ファイルのアクセス権限に注意してください。

まとめ

ロリポップは Authorization ヘッダーをプロキシレベルで遮断しており、.htaccess や PHP では解決できません。しかしカスタムヘッダーは通過するため、X-WP-JWT ヘッダー + MU-Plugin の組み合わせで完全解決できました。

同じ問題で困っているロリポップユーザーの参考になれば幸いです!
うまくいかない場合はコメント欄にどうぞ😊

感想 正直自分の理解を越えた領域でしたので、AIに丸投げです。
でも 記事編集アップロードまでやってくれました。
アイキャッチはチャッピーです🤭

コメント

タイトルとURLをコピーしました