Comprehensive WordPress MCP Server について
Comprehensive WordPress MCP Server は、REST API を通じて WordPress サイトを管理する MCP サーバーです。投稿、ユーザー、コメント、カテゴリー、タグを扱い、AI アシスタントから WordPress のコンテンツを操作したい利用者向けです。認証にはアプリケーションパスワードを使用します。
主な機能
- 01投稿の作成、取得、更新、削除
- 02ユーザー情報の ID やログイン名による取得
- 03投稿単位で絞り込むコメント管理
- 04カテゴリーとタグの作成、取得、更新、削除
- 05任意のカスタム REST エンドポイントへのリクエスト
活用シーン
- 01AI アシスタントで WordPress の投稿を下書きして公開する
- 02特定の投稿のコメントを一覧表示して管理する
- 03カスタムエンドポイントでサイトの他のリソースにアクセスする
MCP 対応
本プロジェクトは MCP サーバーであり、create_post、get_posts、get_users、custom_request などのツールを MCP クライアントに提供します。クライアントは WordPress のアプリケーションパスワードで認証します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
包括的なWordPress MCP サーバー
WordPress REST APIを通じてAI アシスタントがWordPressサイトとやり取りできるようにする、包括的なModel Context Protocol(MCP)サーバーです。このサーバーは、投稿、ユーザー、コメント、カテゴリー、タグ、カスタムエンドポイントなど、WordPressのあらゆる側面をプログラムで管理するためのツールを提供します。
機能
投稿管理
- WordPressの投稿を作成、取得、更新、削除します
- さまざまなパラメーターで投稿を絞り込みます
- 投稿一覧のページネーションをサポートします
ユーザー管理
- IDまたはログイン名でユーザー情報を取得します
- ユーザーの詳細を更新します
- ユーザーを削除します
コメント管理
- コメントを作成、取得、更新、削除します
- 投稿でコメントを絞り込みます
- コメント一覧のページネーションをサポートします
タクソノミー管理
- カテゴリーとタグを管理します
- タクソノミーを作成、取得、更新、削除します
- スラッグでカテゴリーとタグを検索します
サイト情報
- WordPressサイトの一般情報を取得します
カスタムリクエスト
- カスタムREST APIエンドポイントをサポートします
- カスタムHTTPメソッド(GET、POST、PUT、DELETE)を使用できます
- カスタムデータとパラメーターを指定できます
前提条件
- Node.js v18以降
- REST APIが有効なWordPressサイト
- 認証用のWordPressアプリケーションパスワード
インストール
- このリポジトリをクローンします:
git clone [repository-url]
cd wordpress-mcp-server
- 依存関係をインストールします:
npm install
- サーバーをビルドします:
npm run build
WordPressの設定
サーバーを使用する前に、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. create_post
新しいWordPress投稿を作成します。
パラメーター:
siteUrl(必須):WordPressサイトのURLusername(必須):WordPressのユーザー名password(必須):WordPressのアプリケーションパスワードtitle(必須):投稿のタイトルcontent(必須):投稿の内容status(任意):投稿のステータス('draft'、'publish'、'private'のいずれか。デフォルトは'draft')
例:
{
"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(任意):1ページあたりの投稿数(デフォルト: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(任意):新しい投稿ステータス('draft'、'publish'、'private'のいずれか)
例:
{
"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. delete_post
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(任意):1 ページあたりのユーザー数(デフォルト:10)page(任意):ページ番号(デフォルト:1)
2. get_user
ID で指定した WordPress ユーザーを取得します。
パラメーター:
siteUrl(必須):WordPress サイトの URLusername(必須):WordPress のユーザー名password(必須):WordPress のアプリケーションパスワードuserId(必須):取得するユーザーの ID
3. get_user_by_login
ログイン名で WordPress ユーザーを取得します。
パラメーター:
siteUrl(必須):WordPress サイトの URLusername(必須):WordPress のユーザー名password(必須):WordPress のアプリケーションパスワードuserLogin(必須):取得するユーザーのログイン名
コメント管理
1. get_comments
WordPress のコメントを取得します。
パラメーター:
siteUrl(必須):WordPress サイトの URLusername(必須):WordPress のユーザー名password(必須):WordPress のアプリケーションパスワードperPage(任意):1 ページあたりのコメント数(デフォルト:10)page(任意):ページ番号(デフォルト:1)postIdForComment(任意):投稿 ID でコメントを絞り込みます
2. create_comment
投稿に新しいコメントを作成します。
パラメーター:
siteUrl(必須):WordPress サイトの URLusername(必須):WordPress のユーザー名password(必須):WordPress のアプリケーションパスワードpostIdForComment(必須):コメントを投稿する投稿の IDcommentContent(必須):コメントの内容customData(任意):追加のコメントデータ
カテゴリーとタグの管理
1. get_categories
WordPress のカテゴリーを取得します。
パラメーター:
siteUrl(必須):WordPress サイトの URLusername(必須):WordPress のユーザー名password(必須):WordPress のアプリケーションパスワードperPage(任意):1 ページあたりのカテゴリー数(デフォルト:10)page(任意):ページ番号(デフォルト:1)
2. create_category
新しい WordPress カテゴリーを作成します。
パラメーター:
siteUrl(必須):WordPress サイトの URLusername(必須):WordPress のユーザー名password(必須):WordPress のアプリケーションパスワードcategoryName(必須):作成するカテゴリーの名前customData(任意):追加のカテゴリー情報(説明、親カテゴリーなど)
カスタムリクエスト
1. custom_request
任意の 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 ライセンスの下で公開されています。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
