Skip to main content
Glama
nao9net

WordPress MCP Server

by nao9net

WordPress MCP Server(セルフホスト・マルチサイト対応版)

自前運営の複数WordPressサイトを、WordPress標準のREST API (wp-json/wp/v2) 経由で 1つのMCPサーバーからまとめて操作するためのローカルサーバーです。

各ツール呼び出し時に site パラメータ(エイリアス)でどのサイトを操作するか指定します。 投稿の一覧・作成・更新・削除、カテゴリ/タグ管理、メディアアップロード、コメント承認などができます。


1. WordPress側の準備:サイトごとにアプリケーションパスワードを発行する

管理するサイトそれぞれで以下を行います。WordPress 5.6以降なら追加プラグイン不要です。

  1. 各WordPressサイトの管理画面にログイン

  2. ユーザープロフィール を開く

  3. ページ下部の「アプリケーションパスワード」欄に任意の名前(例: claude-mcp)を入力し、 「新規追加」をクリック

  4. 表示される xxxx xxxx xxxx xxxx xxxx xxxx 形式のパスワードをコピーしておく (この画面を閉じると二度と表示されません)

⚠️ サイトが http:// の場合、多くの環境でアプリケーションパスワード機能が無効化されます。 常時HTTPS化(SSL)されているサイトで利用してください。

⚠️ セキュリティプラグイン(Wordfenceなど)やレンタルサーバーのWAFが REST APIやBasic認証をブロックしている場合、事前に許可設定が必要です。

Related MCP server: WordPress MCP Server

2. このサーバーのセットアップ

cd wordpress-mcp
npm install

sites.json.examplesites.json にコピーして、管理する全サイトの情報を書きます (このファイルには全サイトの認証情報が入るので、絶対に公開・共有・Gitコミットしないでください.gitignore に含めています)。

cp sites.json.example sites.json
{
  "blog-a": {
    "url": "https://blog-a.example.com",
    "username": "user-a",
    "app_password": "xxxx xxxx xxxx xxxx xxxx xxxx"
  },
  "blog-b": {
    "url": "https://blog-b.example.com",
    "username": "user-b",
    "app_password": "yyyy yyyy yyyy yyyy yyyy yyyy"
  },
  "blog-c": {
    "url": "https://blog-c.example.com",
    "username": "user-c",
    "app_password": "zzzz zzzz zzzz zzzz zzzz zzzz"
  }
}

キー(blog-aなど)が、会話中でサイトを指定するときのエイリアス名になります。好きな名前を付けてOKです。 サイトを増やしたいときは、このファイルにエントリを追加するだけです(コードの変更は不要)。

3. Claude Desktop / Claude Code に登録する

このサーバーは純粋なNode.js製で、OS依存のコードは使っていないため macでもWindowsでも同じように動作します。 唯一の前提条件は Node.js 18以降がインストールされていることです(node --version で確認)。

マルチサイト対応版はサーバー登録は1つだけで済みます(サイトの切り替えはツール呼び出し時のsiteパラメータで行うため)。

設定ファイルの場所はOSによって異なります。

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json (Claude Desktopの 設定 → Developer → Edit Config から開くのが確実です)

macOSの場合の例:

{
  "mcpServers": {
    "wordpress-multisite": {
      "command": "node",
      "args": ["/Users/あなたの名前/wordpress-mcp/index.js"],
      "env": {
        "SITES_CONFIG_PATH": "/Users/あなたの名前/wordpress-mcp/sites.json"
      }
    }
  }
}

Windowsの場合の例(パス区切りは \\ でエスケープするか / を使う):

{
  "mcpServers": {
    "wordpress-multisite": {
      "command": "node",
      "args": ["C:\\Users\\あなたの名前\\wordpress-mcp\\index.js"],
      "env": {
        "SITES_CONFIG_PATH": "C:\\Users\\あなたの名前\\wordpress-mcp\\sites.json"
      }
    }
  }
}

SITES_CONFIG_PATH を省略した場合は、index.jsと同じフォルダにある sites.json を自動的に探しに行きます。

Windows版Claude Desktop(ストア/MSIXインストール)では、「Edit Config」ボタンが開くファイルと 実際に読み込まれるファイルが異なる既知の不具合が報告されています。設定してもツールが表示されない場合は、 %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json も確認してください。

Claude Codeの場合は claude mcp add コマンド、もしくは同様の設定を プロジェクトの .mcp.json に追加してください(こちらはmac/Windows/Linuxで共通の仕組みです)。

設定後、Claude Desktop/Claude Codeを再起動すると wp_list_posts などのツールが使えるようになります。

4. 使い方

まず wp_list_sites で設定済みサイトのエイリアス一覧を確認し、以降のツール呼び出しで site: "blog-a" のように指定します。

例:「blog-bの下書き一覧を見せて」「blog-cに新しい記事を下書きで作成して」

5. 使えるツール一覧

ツール名

説明

wp_list_sites

設定済みサイトのエイリアスとURL一覧を取得(最初に確認推奨)

wp_list_posts

記事の一覧・検索(ステータス、カテゴリ等で絞り込み可)

wp_get_post

記事詳細(本文含む)を取得

wp_create_post

記事を新規作成(既定は下書き)

wp_update_post

既存記事を更新

wp_delete_post

記事を削除(既定はゴミ箱、forceで完全削除)

wp_list_pages

固定ページの一覧・検索(ステータス、親ページ等で絞り込み可)

wp_get_page

固定ページ詳細(本文含む)を取得

wp_create_page

固定ページを新規作成(既定は下書き)

wp_update_page

既存の固定ページを更新

wp_delete_page

固定ページを削除(既定はゴミ箱、forceで完全削除)

wp_list_categories

カテゴリ一覧

wp_create_category

カテゴリ作成

wp_list_tags

タグ一覧

wp_upload_media_from_url

URL指定で画像をメディアライブラリにアップロード

wp_list_media

メディア一覧

wp_list_comments

コメント一覧(承認待ちの確認など)

wp_moderate_comment

コメントの承認/非承認/スパム/ゴミ箱操作

(wp_list_sites 以外は全て第一引数に site エイリアスが必要です)

6. 動作確認

SITES_CONFIG_PATH=/絶対パス/sites.json node index.js

「WordPress MCP server (multisite) がstdioで起動しました。登録サイト: ...」と表示され、 設定した全エイリアスが列挙されれば起動成功です。

7. 注意事項

  • wp_delete_postforce: true を渡すと完全削除され復元できません。実行前に必ず確認してください。

  • アプリケーションパスワードはユーザーの権限をそのまま引き継ぎます。専用の投稿者/編集者アカウントを 作って、そのアプリケーションパスワードを使うことをおすすめします。

  • 記事本文(content)はHTML(またはGutenbergブロックHTML)として扱われます。Markdownをそのまま 渡すとタグとして表示されてしまうので注意してください。

  • sites.json には全サイトの認証情報がまとまって入るため、ファイルのアクセス権限やバックアップの 取り扱いに注意してください。

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that bridges AI assistants to WordPress, enabling natural-language management of posts, pages, media, comments, users, plugins, and settings across multiple sites simultaneously.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for WordPress content management via REST API, supporting posts, pages, media, comments, and terms through natural language interfaces like Cursor, ChatGPT, Codex, and Claude.
    13 npm
    MIT