WordPress MCP Server

Integrations

  • Enables interaction with WordPress sites through the WordPress REST API, providing tools for managing posts, users, comments, categories, tags, and custom endpoints. Supports creating, retrieving, updating, and deleting WordPress content programmatically.

包括的なWordPress MCPサーバー

AIアシスタントがWordPress REST APIを介してWordPressサイトとやり取りできるようにする、包括的なモデルコンテキストプロトコル(MCP)サーバーです。このサーバーは、投稿、ユーザー、コメント、カテゴリー、タグ、カスタムエンドポイントなど、WordPressのあらゆる側面をプログラムで管理するためのツールを提供します。

特徴

ポスト管理

  • WordPressの投稿を作成、取得、更新、削除する
  • さまざまなパラメータで投稿をフィルタリング
  • 投稿リストのページネーションサポート

ユーザー管理

  • IDまたはログインでユーザー情報を取得する
  • ユーザーの詳細を更新する
  • ユーザーを削除する

コメント管理

  • コメントの作成、取得、更新、削除
  • 投稿ごとにコメントをフィルタリング
  • コメントリストのページネーションサポート

分類管理

  • カテゴリーとタグを管理する
  • 分類の作成、取得、更新、削除
  • スラッグでカテゴリとタグを探す

サイト情報

  • WordPressサイトの一般的な情報を取得する

カスタムリクエスト

  • カスタムREST APIエンドポイントのサポート
  • カスタム HTTP メソッド (GET、POST、PUT、DELETE)
  • カスタムデータとパラメータ

前提条件

  • Node.js v18以上
  • REST APIが有効になっているWordPressサイト
  • 認証用のWordPressアプリケーションのパスワード

インストール

  1. このリポジトリをクローンします:
git clone [repository-url] cd wordpress-mcp-server
  1. 依存関係をインストールします:
npm install
  1. サーバーを構築します。
npm run build

WordPressの設定

サーバーを使用する前に、WordPress サイトを設定する必要があります。

  1. WordPressサイトでREST APIが有効になっていることを確認してください(WordPress 4.7以降ではデフォルトで有効になっています)。
  2. アプリケーションパスワードを作成します:
    • WordPress管理パネルにログインする
    • ユーザー → プロフィールへ移動
    • 「アプリケーションパスワード」までスクロールします
    • アプリケーションの名前を入力します(例:「MCP Server」)
    • 「新しいアプリケーションパスワードを追加」をクリックします
    • 生成されたパスワードをコピーします(再度表示することはできません)

MCP構成

サーバーを MCP 設定ファイル (通常は~/AppData/Roaming/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonにあります) に追加します。

{ "mcpServers": { "wordpress": { "command": "node", "args": ["path/to/wordpress-mcp-server/build/index.js"] } } }

利用可能なツール

ポスト管理

1. 投稿を作成する

新しい WordPress 投稿を作成します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • title (必須): 投稿タイトル
  • content (必須): 投稿内容
  • status (オプション): 投稿のステータス(「下書き」、「公開」、「非公開」、デフォルトは「下書き」)

例:

{ "tool": "create_post", "siteUrl": "https://example.com", "username": "admin", "password": "xxxx xxxx xxxx xxxx", "title": "My First Post", "content": "Hello, world!", "status": "draft" }

2. get_posts

ページ区切り付きの WordPress 投稿を取得します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • perPage (オプション):ページあたりの投稿数(デフォルト:10)
  • page (オプション):ページ番号(デフォルト:1)
  • customParams (オプション): 追加のクエリパラメータ

例:

{ "tool": "get_posts", "siteUrl": "https://example.com", "username": "admin", "password": "xxxx xxxx xxxx xxxx", "perPage": 5, "page": 1 }

3. update_post

既存の WordPress 投稿を更新します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • postId (必須): 更新する投稿のID
  • title (オプション): 新しい投稿のタイトル
  • content (オプション): 新しい投稿コンテンツ
  • status (オプション):新しい投稿のステータス(「下書き」、「公開」、または「非公開」)

例:

{ "tool": "update_post", "siteUrl": "https://example.com", "username": "admin", "password": "xxxx xxxx xxxx xxxx", "postId": 123, "title": "Updated Title", "content": "Updated content", "status": "publish" }

4. 投稿を削除する

WordPress の投稿を削除します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • postId (必須): 削除する投稿のID

例:

{ "tool": "delete_post", "siteUrl": "https://example.com", "username": "admin", "password": "xxxx xxxx xxxx xxxx", "postId": 123 }

ユーザー管理

1. get_users

WordPress ユーザーを取得します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • perPage (オプション):ページあたりのユーザー数(デフォルト:10)
  • page (オプション):ページ番号(デフォルト:1)

2. get_user

ID で特定の WordPress ユーザーを取得します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • userId (必須): 取得するユーザーのID

3. ログインによるユーザー取得

ログイン名で WordPress ユーザーを取得します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • userLogin (必須): 取得するユーザーのログイン名

コメント管理

1. get_comments

WordPress のコメントを取得します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • perPage (オプション):ページあたりのコメント数(デフォルト:10)
  • page (オプション):ページ番号(デフォルト:1)
  • postIdForComment (オプション): 投稿IDでコメントをフィルタリングする

2. コメントを作成する

投稿に新しいコメントを作成します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • postIdForComment (必須): コメントする投稿のID
  • commentContent (必須): コメントの内容
  • customData (オプション): 追加のコメントデータ

カテゴリーとタグの管理

1. get_categories

WordPress カテゴリを取得します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • perPage (オプション):ページあたりのカテゴリ数(デフォルト:10)
  • page (オプション):ページ番号(デフォルト:1)

2. カテゴリを作成する

新しい WordPress カテゴリを作成します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • categoryName (必須): 作成するカテゴリの名前
  • customData (オプション): 追加のカテゴリデータ (説明、親など)

カスタムリクエスト

1. カスタムリクエスト

任意の WordPress REST API エンドポイントにカスタム リクエストを送信します。

パラメータ:

  • siteUrl (必須): WordPress サイトの URL
  • username (必須): WordPressユーザー名
  • password (必須): WordPressアプリケーションのパスワード
  • customEndpoint (必須): APIエンドポイントパス
  • customMethod (オプション): HTTP メソッド ('GET'、'POST'、'PUT'、'DELETE'、デフォルト: 'GET')
  • customData (オプション): POST/PUTリクエストのデータ
  • customParams (オプション): GETリクエストのURLパラメータ

例:

{ "tool": "custom_request", "siteUrl": "https://example.com", "username": "admin", "password": "xxxx xxxx xxxx xxxx", "customEndpoint": "wp/v2/media", "customMethod": "GET", "customParams": { "per_page": 5 } }

応答フォーマット

すべてのツールは次の形式で応答を返します。

成功レスポンス

{ "success": true, "data": { // WordPress API response data }, "meta": { // Optional metadata (pagination info, etc.) } }

エラー応答

{ "success": false, "error": "Error message here" }

セキュリティに関する考慮事項

  • WordPressサイトでは常にHTTPS URLを使用する
  • メインのWordPressパスワードの代わりにアプリケーションパスワードを使用する
  • アプリケーションのパスワードは安全に保管し、共有しないでください
  • アクセスを制限するためにWordPressのロールと権限の使用を検討する
  • アプリケーションのパスワードを定期的に変更する

発達

開発に貢献するには:

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. 変更を加える
  4. テストを実行する(利用可能な場合)
  5. プルリクエストを送信する

自動再コンパイルによる開発モードの場合:

npm run dev

ライセンス

このプロジェクトは ISC ライセンスに基づいてライセンスされています。

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

AI アシスタントが REST API を介して WordPress サイトと対話できるようにし、安全な認証を使用して投稿、ユーザー、コメント、カテゴリ、タグをプログラムで管理できるようにします。

  1. Features
    1. Post Management
    2. User Management
    3. Comments Management
    4. Taxonomy Management
    5. Site Information
    6. Custom Requests
  2. Prerequisites
    1. Installation
      1. WordPress Configuration
        1. MCP Configuration
          1. Available Tools
            1. Post Management
            2. User Management
            3. Comment Management
            4. Category and Tag Management
            5. Custom Requests
          2. Response Format
            1. Success Response
            2. Error Response
          3. Security Considerations
            1. Development
              1. License
                1. Contributing
                  ID: 4g84e42ylk