wordpress-mcp について
wordpress-mcpは、Python製MCPプロキシサーバーを介してWordPressサイトを管理するスキルです。設定済みサイトのコンテンツ、メディア、コメント、設定、プラグイン、リダイレクト、Gutenbergブロック、TablePressを操作できます。
主な機能
- 01投稿の作成、読み取り、更新、削除
- 02カテゴリー、タグ、メディア、コメントの管理
- 03Rank Math SEO項目とリダイレクトの操作
- 04Gutenbergブロックとパターンの確認・編集
- 05プラグイン、設定、キャッシュの管理
- 06TablePressテーブルの作成と更新
活用シーン
- 01投稿の公開とSEO最適化
- 02投稿のSEOメタデータの監査と更新
- 03スラッグ変更後のリダイレクト作成
- 04カスタムブロックやテーブルを使った投稿作成
MCP 対応
Python製FastMCPプロキシが、MCPクライアントにWordPressサイト管理ツールを提供します。各ツールは設定済みサイトを指定し、そのWordPress MCPアダプターへリクエストを転送します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ 5unnykum4r/ wordpress-mcp --skill wordpress-mcpインストール後、Claude Code で/wordpress-mcpを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/admin.mdcategories-tags.mdcomments.mdmedia.mdposts.mdredirections.mdtablepress.md詳細
WordPress MCP サイト管理
単一の Python MCP プロキシサーバー(~/.claude.json の wordpress)を通じて、WordPress サイトを管理します。すべてのツールで、対象のサイトを指定する site パラメーターが必要です。サイトは sites.json で設定します。
セットアップ
このスキルには WordPress MCP サーバーが必要です。wordpress MCP ツールがまだ利用できない場合は、https://github.com/5unnykum4r/wordpress-mcp からプロジェクト全体をセットアップしてください。
- リポジトリをクローンし、WordPress サイトに PHP アダプターをインストールします(
wordpress/ディレクトリ) - WordPress アプリケーションパスワードを作成し、サイトを
sites.jsonに追加します - MCP サーバーを
~/.claude.jsonに追加します:
{
"mcpServers": {
"wordpress": {
"type": "stdio",
"command": "uv",
"args": ["run", "--with", "fastmcp", "--with", "httpx", "python", "/path/to/wordpress-mcp/server.py"]
}
}
}
詳しい手順については、リポジトリの SETUP.md をご覧ください。
動作の仕組み
Python の FastMCP サーバーが、任意の WordPress サイトへのツール呼び出しをプロキシします。
- すべてのツールでは、最初のパラメーターとして
siteを指定します(例:site="myblog") - プロキシが
sites.jsonで認証情報を参照します - WordPress MCP アダプターのエンドポイントに JSON-RPC リクエストを送信します
- 認証には、HTTP Basic Auth を介して WordPress アプリケーションパスワードを使用します
list_sites を使用すると、設定済みのすべてのサイトを確認できます。
利用可能なツール
各パラメーターの詳細については、references/posts.md、references/categories-tags.md、references/media.md、references/comments.md、references/redirections.md、references/admin.md、references/tablepress.md をご覧ください。
クイックリファレンス
すべてのツールで、site を最初のパラメーターとして指定する必要があります。
| ツール | 操作 | 主なパラメーター |
|---|---|---|
list_posts | 投稿/固定ページを一覧表示 | status, category, tag, search, post_type, page |
read_post | 投稿の全文と SEO 情報を読み取る | post_id |
create_post | 投稿/固定ページを作成 | title, content, slug, status, author, categories, tags, rank_math |
update_post | 投稿/固定ページを更新 | post_id + 変更する任意のフィールド(author を含む) |
delete_post | ゴミ箱へ移動/削除 | post_id, permanent |
bulk_update_status | ステータスを一括変更 | post_ids[], status |
list_revisions | リビジョン履歴を一覧表示 | post_id |
restore_revision | リビジョンを復元 | revision_id |
search_replace | 投稿内を検索/置換 | search, replace, dry_run |
list_categories | カテゴリーと SEO 情報を一覧表示 | hide_empty, parent, search |
create_category | カテゴリーを作成 | name, slug, description, parent_id, rank_math |
update_category | カテゴリーを編集 | category_id + フィールド、rank_math |
delete_category | カテゴリーを削除 | category_id |
list_tags | タグを一覧表示 | hide_empty, search |
create_tag | タグを作成 | name, slug, description |
update_tag | タグを編集 | tag_id + フィールド |
delete_tag | タグを削除 | tag_id |
upload_image | URL からアップロード | image_url, title, alt_text, filename |
list_media | メディアライブラリを閲覧 | mime_type, search, page |
update_media | メディアのメタデータを編集 | attachment_id, title, alt_text, caption |
delete_media | メディア項目を削除 | attachment_id |
list_comments | コメントを一覧表示 | post_id, status, search |
update_comment | 承認/スパム指定/返信 | comment_id, status, reply |
delete_comment | コメントを削除 | comment_id |
list_redirections | Rank Math のリダイレクトを一覧表示 | search |
create_redirection | リダイレクトを作成 | from_url, to, type (301/302) |
update_redirection | リダイレクトを編集 | redirection_id + フィールド |
delete_redirection | リダイレクトを削除 | redirection_id |
list_plugins | インストール済みプラグインを一覧表示 | — |
toggle_plugin | 有効化/無効化 | plugin, action |
list_users | ユーザーを一覧表示 | role, search |
manage_options | WP 設定を読み取り/書き込み | read[], write{} |
clear_cache | すべてのキャッシュを消去 | — |
get_info | サイト情報と統計情報を取得 | — |
list_block_types | Gutenberg ブロックを一覧表示 | namespace, custom_only |
list_patterns | 同期パターンを一覧表示 | search |
read_pattern | パターンの内容を読み取る | pattern_id |
create_pattern | 同期パターンを作成 | title, content |
update_pattern | パターンを更新 | pattern_id + フィールド |
delete_pattern | パターンを削除 | pattern_id |
list_tablepress_tables | TablePress のテーブルを一覧表示 | — |
read_tablepress_table | テーブルデータとオプションを読み取る | table_id |
create_tablepress_table | 新しいテーブルを作成 | name, data[][], options |
update_tablepress_table | テーブルを更新 | table_id + 任意のフィールド |
delete_tablepress_table | テーブルを削除 | table_id |
list_sites | 設定済みのサイトを表示 | — |
Rank Math SEO
投稿とカテゴリーでは、作成/更新時に rank_math オブジェクトを指定できます。
投稿フィールド:
title, description, focus_keyword, canonical_url, robots[],
primary_category, pillar_content, breadcrumb_title, schema_type,
og_title, og_description, og_image, twitter_title, twitter_description
カテゴリーのフィールド:
title, description, focus_keyword, canonical_url, robots[],
breadcrumb_title, og_title, og_description, og_image,
twitter_title, twitter_description
read_post と list_categories は、Rank Math のすべてのフィールドを返します。
Gutenberg ブロック
投稿のコンテンツは Gutenberg ブロックのマークアップとして保存されます。read_post は、`` 区切り文字を含むブロックの生 HTML を返します。create_post と update_post は、content フィールドで完全なブロックマークアップを受け付けます。ブロックコメントはそのまま保持されます。
list_block_types を使うと、登録済みのすべてのブロック(コアとカスタム)を確認できます。テーマ/プラグインのブロックのみを表示するには custom_only=True を、名前空間で絞り込むには namespace="your-theme" を指定します。各ブロックのエントリーには属性スキーマが含まれているため、有効なブロックマークアップを作成できます。
ブロックマークアップの形式:
<div class="wp-block-namespace-block-name">Inner HTML</div>
既存の投稿のコンテンツを更新する場合は、必ず最初に read_post を実行して完全なブロックマークアップを取得し、該当するブロックを変更してから、コンテンツ全体を渡してください。
よくあるワークフロー
最適化した投稿を作成する
upload_image(site="myblog", image_url="...")— アイキャッチ画像をアップロードするcreate_post(site="myblog", title="...", content="...", categories=["Tech"], rank_math={...})— SEO 設定を付けて作成するread_post(site="myblog", post_id=123)— 確認するupdate_post(site="myblog", post_id=123, status="publish")— 公開する
SEO を一括監査する
list_posts(site="myblog", number=50)— 公開済みの投稿をすべて取得するread_post(site="myblog", post_id=X)— rank_math フィールドを確認するupdate_post(site="myblog", post_id=X, rank_math={...})— 不足している SEO 設定を修正する
スラッグ変更後にリダイレクトを管理する
read_post(site="myblog", post_id=123)— 現在のスラッグを取得するupdate_post(site="myblog", post_id=123, slug="new-slug")— スラッグを変更するcreate_redirection(site="myblog", from_url="/old-slug", to="/new-slug", type=301)— リダイレクトする
検索と置換
search_replace(site="myblog", search="old text", replace="new text", dry_run=True)— プレビューするsearch_replace(site="myblog", search="old text", replace="new text", dry_run=False)— 実行する
再利用可能な同期パターンを作成する
create_pattern(site="myblog", title="CTA Banner", content="...")— ref ブロックのマークアップを返す- 返された
ref_block(例:``)を任意の投稿コンテンツで使用する - パターンを更新すると、それを参照するすべての投稿が自動的に更新される
カスタム Gutenberg ブロックを使って投稿を作成する
list_block_types(site="myblog", custom_only=True)— カスタムブロックとその属性を確認する- ブロックのマークアップを作成する:
\n<div>...</div>\n create_post(site="myblog", title="...", content="...block markup...", rank_math={...})— 投稿を作成するread_post(site="myblog", post_id=123)— ブロックのコンテンツが保持されていることを確認する
既存の投稿内のブロックを編集する
read_post(site="myblog", post_id=123)—contentから現在のブロックマークアップを取得する- コンテンツ文字列内の該当する `` ブロックを変更する
update_post(site="myblog", post_id=123, content="...updated full content...")— 保存する
TablePress テーブルを作成して埋め込む
create_tablepress_table(site="myblog", name="Pricing", data=[["Plan","Price"],["Basic","$9"],["Pro","$29"]])— ID とショートコードを返すupdate_post(site="myblog", post_id=123, content="... [table id=5 /] ...")— 投稿に埋め込むread_tablepress_table(site="myblog", table_id="5")— 確認する
サイトの管理
サイトは sites.json で設定します:
{
"myblog": {
"url": "https://example.com/wp-json/mcp/mcp-adapter-default-server",
"username": "AdminUsername",
"password": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
}
新しいサイトを追加するには、WordPress サーバーに MCP アダプターをインストールし(SETUP.md を参照)、アプリケーションパスワードを作成して、sites.json にエントリーを追加します。再起動は不要です。
サイト固有の拡張機能
カスタムワークフロー(例:ACF カスタムフィールド、特定のコンテンツテンプレート、SEO 復旧プラン)を使用するサイトでは、このファイルと同じ場所に追加のスキルファイルを作成し、プロジェクトの CLAUDE.md または .claude/skills/ ディレクトリから参照してください。
構成例:
~/.claude/skills/
├── wordpress-mcp/ ← This skill (generic WordPress tools)
│ ├── SKILL.md
│ └── references/
└── my-site-workflow/ ← Your custom skill (site-specific context)
└── SKILL.md