包括的なWordPress MCPサーバー
AIアシスタントがWordPress REST APIを介してWordPressサイトとやり取りできるようにする、包括的なモデルコンテキストプロトコル(MCP)サーバーです。このサーバーは、投稿、ユーザー、コメント、カテゴリー、タグ、カスタムエンドポイントなど、WordPressのあらゆる側面をプログラムで管理するためのツールを提供します。
特徴
ポスト管理
WordPressの投稿を作成、取得、更新、削除する
さまざまなパラメータで投稿をフィルタリング
投稿リストのページネーションサポート
ユーザー管理
IDまたはログインでユーザー情報を取得する
ユーザーの詳細を更新する
ユーザーを削除する
コメント管理
コメントの作成、取得、更新、削除
投稿ごとにコメントをフィルタリング
コメントリストのページネーションサポート
分類管理
カテゴリーとタグを管理する
分類の作成、取得、更新、削除
スラッグでカテゴリとタグを探す
サイト情報
WordPressサイトの一般的な情報を取得する
カスタムリクエスト
カスタムREST APIエンドポイントのサポート
カスタム HTTP メソッド (GET、POST、PUT、DELETE)
カスタムデータとパラメータ
Related MCP server: WordPress MCP Server
前提条件
Node.js v18以上
REST API が有効になっている WordPress サイト
認証用のWordPressアプリケーションのパスワード
インストール
このリポジトリをクローンします:
git clone [repository-url]
cd wordpress-mcp-server依存関係をインストールします:
npm installサーバーを構築します。
npm run buildWordPressの設定
サーバーを使用する前に、WordPress サイトを設定する必要があります。
WordPressサイトでREST APIが有効になっていることを確認してください(WordPress 4.7以降ではデフォルトで有効になっています)。
アプリケーションパスワードを作成します:
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 サイトの URLusername(必須): 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 サイトの URLusername(必須): 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 サイトの URLusername(必須): WordPressユーザー名password(必須): WordPressアプリケーションのパスワードpostId(必須): 更新する投稿のIDtitle(オプション): 新しい投稿のタイトル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 サイトの URLusername(必須): 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 サイトの URLusername(必須): WordPressユーザー名password(必須): WordPressアプリケーションのパスワードperPage(オプション):ページあたりのユーザー数(デフォルト:10)page(オプション):ページ番号(デフォルト:1)
2. get_user
ID で特定の WordPress ユーザーを取得します。
パラメータ:
siteUrl(必須): WordPress サイトの URLusername(必須): WordPressユーザー名password(必須): WordPressアプリケーションのパスワードuserId(必須): 取得するユーザーのID
3. ログインによるユーザー取得
ログイン名で WordPress ユーザーを取得します。
パラメータ:
siteUrl(必須): WordPress サイトの URLusername(必須): WordPressユーザー名password(必須): WordPressアプリケーションのパスワードuserLogin(必須): 取得するユーザーのログイン名
コメント管理
1. get_comments
WordPress のコメントを取得します。
パラメータ:
siteUrl(必須): WordPress サイトの URLusername(必須): WordPressユーザー名password(必須): WordPressアプリケーションのパスワードperPage(オプション):ページあたりのコメント数(デフォルト:10)page(オプション):ページ番号(デフォルト:1)postIdForComment(オプション): 投稿IDでコメントをフィルタリングする
2. コメントを作成する
投稿に新しいコメントを作成します。
パラメータ:
siteUrl(必須): WordPress サイトの URLusername(必須): WordPressユーザー名password(必須): WordPressアプリケーションのパスワードpostIdForComment(必須): コメントする投稿のIDcommentContent(必須): コメントの内容customData(オプション): 追加のコメントデータ
カテゴリーとタグの管理
1. get_categories
WordPress カテゴリを取得します。
パラメータ:
siteUrl(必須): WordPress サイトの URLusername(必須): WordPressユーザー名password(必須): WordPressアプリケーションのパスワードperPage(オプション):ページあたりのカテゴリ数(デフォルト:10)page(オプション):ページ番号(デフォルト:1)
2. カテゴリを作成する
新しい WordPress カテゴリを作成します。
パラメータ:
siteUrl(必須): WordPress サイトの URLusername(必須): WordPressユーザー名password(必須): WordPressアプリケーションのパスワードcategoryName(必須): 作成するカテゴリの名前customData(オプション): 追加のカテゴリデータ (説明、親など)
カスタムリクエスト
1. カスタムリクエスト
任意の WordPress REST API エンドポイントにカスタム リクエストを送信します。
パラメータ:
siteUrl(必須): WordPress サイトの URLusername(必須): 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のロールと機能の使用を検討する
アプリケーションのパスワードを定期的に変更する
発達
開発に貢献するには:
リポジトリをフォークする
機能ブランチを作成する
変更を加える
テストを実行する(利用可能な場合)
プルリクエストを送信する
自動再コンパイルによる開発モードの場合:
npm run devライセンス
このプロジェクトは ISC ライセンスに基づいてライセンスされています。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。