このブログ、下書きは Claude から投稿している — WordPress × MCP

前回(Claude に Gmail を繋いで、メールの下書きをさせる)の続き。MCP でもう一つ繋いでいるのが WordPress で、このブログの記事、下書きは全部 Claude から投稿している。この記事もそう。

何をしているか

  • ローカルに書いた下書き(Markdown)を、WordPress の下書きとして投稿
  • 公開済み記事の修正(本文・抜粋・カテゴリー)
  • カテゴリーやタグの作成
  • 記事一覧や中身の取得(確認用)

実際のワークフロー

  1. プロジェクトのメモ(NOTES.md)にネタが溜まる
  2. ネタ帳から1本選んで、ローカルに Markdown で下書きを書く(Claude と一緒に)
  3. 「この下書きを WordPress に下書きとして入れて」と頼む → 下書きとして投稿される
  4. 自分が管理画面でプレビューを確認、スラッグを整える
  5. 「公開」または「予約投稿」は自分の手で押す

Gmail の「送信はさせない」と同じで、Claude は下書きまで。プレビューと公開ボタンは自分、という線引きにしている。

なぜローカルに下書きを持つのか

  • テキストファイルなのでバージョン管理できる(何をどう直したかが残る)
  • 次に相談を再開したとき、Claude がファイルを読んで前提を思い出せる
  • WordPress の中だけで完結させると、AI との往復がやりづらい

詰まったところ

サーバーの WAF が更新をブロックしていた。
新規投稿(POST)は通るのに、既存記事の修正(PUT)だけ「Forbidden」で弾かれる。原因は、レンタルサーバーの WAF が「PUT メソッドの拒否」というルールで REST API の更新まで止めていたこと。コントロールパネルの WAF ログから、その1件を「除外」に登録して解決した。同じ構成(ConoHa WING など)で REST API から更新したい人は、ここで一度つまずくと思う。

日本語タイトルだとスラッグが自動生成でぐちゃぐちゃになる。
パーセントエンコードされた長い URL になるので、投稿後に手で英字スラッグ(claude-wordpress-mcp など)に直す運用にしている。

MCP が一覧の結果をキャッシュする。
カテゴリー一覧などが古い値のまま返ってくることがあり、「消したはずのカテゴリーがまだある」と勘違いした。確認の前にキャッシュをクリアするようにした。

使っているもの

  • MCP サーバー:mcp-wordpress
  • 認証:WordPress のアプリケーションパスワード(管理画面で発行、ローカルに保存、リポジトリには置かない)

決めているルール

  • Claude は「下書き」で止める。公開・予約は自分
  • 認証情報はコミットしない
  • 見た目の最終確認は人間が管理画面でやる(ブロックの崩れ、表の見え方など)

まとめ

  • このブログは「メモ → ローカル下書き → Claude が下書き投稿 → 自分がプレビュー → 自分で公開」で回している
  • Gmail と同じで、下書きまでを AI、最終チェックと公開ボタンを自分、の線引き
  • WAF・スラッグ・キャッシュで一度ずつつまずいたので、同じ構成の人は先に知っておくと楽

このブログ自体が「AI を相棒に生活のプロジェクトを回す」実験なので、その運営の裏側も、こうして記事にしている。

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