Woocommerce Mcp Server について
Woocommerce Mcp Serverは、商品、注文、顧客、配送、税金、レポートなどを管理するMCPツールを提供します。リソース、ガイド付きプロンプト、読み取り専用モードも備え、エージェントがデータ構造を把握して慎重に操作できます。
主な機能
- 01商品、注文、顧客、クーポンの管理
- 02配送、税金、Webhookの処理
- 03売上レポートとストア設定の参照
- 04フィールド指定による応答の絞り込み
- 05MCPリソースとワークフロープロンプト
- 06読み取り専用モードと安全性アノテーション
活用シーン
- 01商品カタログや注文の確認と更新
- 02返金、クーポン、配送設定の処理
- 03ストアの売上と商品データの集計
- 04読み取り専用モードでのストア調査
MCP 対応
MCPサーバーとしてWooCommerce REST APIに接続し、ストア管理とレポートのツールを提供します。データスキーマを示す読み取り専用リソースと、操作を案内するワークフロープロンプトも公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-server-woocommerce
Claude などの AI アシスタントから WooCommerce ストアを管理するための MCP サーバーです。商品、注文、顧客、クーポン、配送、税金、Webhook、設定、レポートなどを網羅する 101 個のツールを提供します。
クイックスタート
1. WooCommerce API キーを取得する
WordPress の管理画面で、WooCommerce > 設定 > 高度な設定 > REST API > キーを追加を選択し、読み取り/書き込み権限を設定します。
2. AI ツールに追加する
インストールは不要です。npx から直接実行できます。
Claude Code
プロジェクトの .mcp.json に追加します。
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": {
"WORDPRESS_SITE_URL": "https://store.example.com",
"WOOCOMMERCE_CONSUMER_KEY": "ck_your_key",
"WOOCOMMERCE_CONSUMER_SECRET": "cs_your_secret"
}
}
}
}
Claude Desktop
Claude Desktop の設定ファイルに追加します(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json)。
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": {
"WORDPRESS_SITE_URL": "https://store.example.com",
"WOOCOMMERCE_CONSUMER_KEY": "ck_your_key",
"WOOCOMMERCE_CONSUMER_SECRET": "cs_your_secret"
}
}
}
}
Cursor
Cursor にインストール(ワンクリック)、またはプロジェクトのルートにある .cursor/mcp.json に追加します。
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": {
"WORDPRESS_SITE_URL": "https://store.example.com",
"WOOCOMMERCE_CONSUMER_KEY": "ck_your_key",
"WOOCOMMERCE_CONSUMER_SECRET": "cs_your_secret"
}
}
}
}
4. 使い始める — AI アシスタントに次のようなことを依頼できます。
「在庫切れの商品をすべて一覧表示して」 「50 ドルを超える注文で使える 10% オフのクーポンを作成して」 「今週の売上レポートを表示して」
機能
- ストアを総合的に管理 — 商品、カテゴリー、タグ、ブランド、注文、顧客、クーポンの CRUD 操作
- 商品分類 — 属性、属性用語、バリエーションに対応し、一括処理も可能
- 配送 — ゾーン、ゾーン方式、配送クラス
- 税金 — 税率、税クラス
- Webhook — Webhook サブスクリプションの作成、管理、監視
- 設定 — ストア設定の読み取りと更新
- レポート — 売上レポート、売れ筋商品、注文/商品/顧客の合計
- メディア管理 — WordPress REST API を使用して、孤立したメディアの一覧表示、削除、整理
- トークンの最適化 — すべてのツールで
fieldsパラメーターを使用して特定のフィールドだけを返し、レスポンスサイズを 60~97% 削減できます - MCP リソース — エージェントがコンテキストとして参照できる、商品、注文、クーポン、返金、決済ゲートウェイのスキーマ参照情報
- ガイド付きプロンプト — バリエーション商品の設定、注文処理、カタログ概要のための複数ステップのワークフロー
- ツールの注釈 — 101 個すべてのツールに
readOnlyHint、destructiveHint、idempotentHintを付与し、安全なエージェントの動作を支援 - 問題解決に役立つエラー — エラーレスポンスに、よくある問題の修正方法を含みます
安全性
このサーバーは実稼働中の WooCommerce ストアに接続します。 作成、更新、削除の各操作はすべて実際のデータに影響します。特に本番ストアでは注意してください。
始める前に
- 破壊的なツールを使う前に、ストアをバックアップしてください。 WordPress のバックアッププラグイン、またはホスティングサービスのバックアップ機能を使用します。
- まずステージング環境でテストしてください。 本番ストアをステージング環境に複製し、このサーバーの接続先をステージング環境の URL に設定します。
- 調査時は読み取り専用モードを使用してください。
WOOCOMMERCE_MCP_READ_ONLY=trueを設定すると、すべての書き込み操作がブロックされます。一覧表示、取得、レポートのツールのみ使用できます。
取り消しできない操作
ほとんどの削除操作では、アイテムはゴミ箱に移動されます(復元可能)。ただし、次の操作は完全に削除され、取り消すことができません。
| ツール | 取り消しできない理由 |
|---|---|
delete_media | WordPress のメディア削除では、ゴミ箱を完全に迂回します |
delete_tax_rate | 税率にはゴミ箱がないため、即座に削除されます |
delete_tax_class | 税区分にはゴミ箱がないため、税率が孤立します |
delete_attribute | すべての商品から属性とそのすべてのタームを削除します |
delete_refund | 返金レコードを削除します(支払いは取り消されません) |
cleanup_orphaned_media | delete=true の場合、未添付のメディアをすべて完全に削除します |
run_system_tool | システム保守アクション(キャッシュの消去、DB の更新)は取り消せません |
連鎖的な影響
一部の操作は、変更対象のアイテムだけでなく、それ以上に影響します。
- 属性を削除すると、すべての商品からその属性が削除されます。バリエーションのある商品が壊れる可能性があります
- 属性タームを削除すると、すべての商品とバリエーションからそのオプションが削除されます
- 配送ゾーンを削除すると、そのゾーン内のすべての配送方法と地域が削除されます
- 一括操作(
batch_update_attribute_terms、batch_update_variations)では、1 回の呼び出しで作成、更新、削除を行うことができます
API キーの権限
安全性を最大限に高めるには、必要な権限だけを持つ WooCommerce API キーを作成してください。
- 読み取り専用での調査:Read 権限のみを持つキーを作成します
- 完全な管理:Read/Write 権限を使用します
利用可能なツール(101)
| 領域 | ツール |
|---|---|
| 商品 | 一覧表示、取得、作成、更新、削除 |
| カテゴリー | 一覧表示、取得、作成、更新、削除 |
| タグ | 一覧表示、取得、作成、更新、削除 |
| ブランド | 一覧表示、取得、作成、更新、削除 |
| 属性 | 一覧表示、取得、作成、削除 |
| 属性ターム | 一覧表示、作成、削除、一括更新 |
| バリエーション | 一覧表示、取得、作成、更新、一括更新 |
| 注文 | 一覧表示、取得、作成、更新、削除 |
| 注文の返金 | 一覧表示、作成、削除 |
| 注文メモ | 一覧表示、作成、削除 |
| 顧客 | 一覧表示、取得、作成、更新 |
| クーポン | 一覧表示、取得、作成、更新、削除 |
| 商品レビュー | 一覧表示、取得、更新、削除 |
| 配送ゾーン | 一覧表示、取得、作成、更新、削除 |
| 配送ゾーンの配送方法 | 一覧表示、取得、作成、更新、削除 |
| 配送クラス | 一覧表示、作成 |
| 税率 | 一覧表示、取得、作成、更新、削除 |
| 税区分 | 一覧表示、作成、削除 |
| Webhook | 一覧表示、取得、作成、更新、削除 |
| 決済ゲートウェイ | 一覧表示、取得、更新 |
| 設定 | グループの一覧表示、取得、更新 |
| システムステータス | ステータスの取得、ツールの一覧表示、ツールの実行 |
| データ | 国の一覧表示、通貨の一覧表示 |
| レポート | 売上、売れ筋商品、注文/商品/顧客の合計 |
| メディア | 一覧表示、削除、孤立したメディアのクリーンアップ |
リソース
このサーバーは、AI エージェント向けのスキーマ参照情報とガイドを提供する 7 つの MCP リソースを公開しています。
| URI | 説明 |
|---|---|
woo://schema/product | 商品のフィールド、型、ステータス、主要なルール |
woo://schema/order | 注文のフィールド、ステータスのライフサイクル、決済情報 |
woo://schema/coupon | クーポンの種類、上限、制限、ルール |
woo://schema/refund | 返金のフィールド、理由、明細、処理ルール |
woo://reference/product-types | シンプル商品、バリエーション商品、グループ商品、外部商品を使い分ける場面 |
woo://reference/order-statuses | 注文ステータスの遷移とライフサイクル図 |
woo://reference/payment-gateways | 利用可能な決済ゲートウェイとその設定オプション |
リソースは読み取り専用のコンテキストです。API 呼び出しを行う前に、エージェントが WooCommerce のデータ構造を理解するために取得できます。
プロンプト
複数ステップの操作をオーケストレーションする、ガイド付きワークフロープロンプトが5つあります。
| プロンプト | 引数 | 内容 |
|---|---|---|
setup_variable_product | product_name、attribute_name、variations | 属性 → ターム → 商品 → バリエーション → 公開の流れで、バリエーション商品を最初から最後まで作成します |
process_order | order_id | 注文の詳細を確認し、適切なステータス遷移を提案します |
catalog_overview | (なし) | 5つのツールを並列で実行し、ストアのダッシュボード(商品、注文、顧客、カテゴリー、売れ筋商品)を作成します |
handle_refund | order_id | 注文の確認、商品項目の選択、返金の作成、検証という返金処理の流れを案内します |
moderate_reviews | (なし) | 審査待ちの商品レビューを確認し、承認・更新・削除のアクションを提案します |
ツールのアノテーション
すべてのツールには、AI エージェントが安全に判断できるよう、動作に関するヒントが付与されています。
| アノテーション | 意味 | 適用対象 |
|---|---|---|
readOnlyHint | 副作用がなく、いつでも安全に呼び出せます | すべての list_*、get_*、レポートツール(46) |
destructiveHint | データを削除または消去します | すべての delete_* ツールと cleanup_orphaned_media、run_system_tool、batch_update_*(22) |
idempotentHint | 安全に再試行でき、毎回同じ結果になります | すべての update_* ツール(15) |
すべてのツールで openWorldHint: false も設定されています。WooCommerce とのみやり取りし、外部への副作用はありません。
設定
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
WORDPRESS_SITE_URL | はい | WordPress ストアの URL(例:https://store.example.com) |
WOOCOMMERCE_CONSUMER_KEY | はい | WooCommerce REST API のコンシューマーキー(ck_...) |
WOOCOMMERCE_CONSUMER_SECRET | はい | WooCommerce REST API のコンシューマーシークレット(cs_...) |
WORDPRESS_USERNAME | いいえ | WordPress の管理者ユーザー名(メディアツール用) |
WORDPRESS_APP_PASSWORD | いいえ | WordPress のアプリケーションパスワード(メディアツール用) |
MCP_TRANSPORT | いいえ | リモート HTTP アクセスには http を設定します(デフォルト:stdio) |
PORT | いいえ | プラットフォームから提供されるポート(Hostinger、Railway)。MCP_PORT より優先されます |
MCP_PORT | いいえ | HTTP サーバーのポート(デフォルト:3000) |
MCP_AUTH_TOKEN | いいえ* | HTTP 認証用のベアラートークン(*MCP_TRANSPORT=http の場合は必須) |
WOOCOMMERCE_MCP_READ_ONLY | いいえ | true を設定すると、すべての書き込み・削除操作をブロックします(安全な探索モード) |
.env ファイルを使う
認証情報を直接記述する代わりに、.env ファイルがあるディレクトリを指定します。
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"cwd": "/path/to/your/project"
}
}
}
複数のストア
異なるサーバー名を使うと、1つのプロジェクトから複数のストアを管理できます。
{
"mcpServers": {
"store-a": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": { "WORDPRESS_SITE_URL": "https://store-a.com", "..." }
},
"store-b": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": { "WORDPRESS_SITE_URL": "https://store-b.com", "..." }
}
}
}
トークンの最適化
すべてのツールでは、特定のフィールドのみを返すための省略可能な fields パラメーター(カンマ区切り)をサポートしています。
# Browsing products — just names and prices
fields: "id,name,price"
# Stock check
fields: "id,name,stock_status,stock_quantity"
# Order overview
fields: "id,number,status,total"
これによりレスポンスサイズが**60~97%**削減され、AI のコンテキストウィンドウを必要な情報に絞り、コストを抑えられます。
開発
git clone https://github.com/AmitGurbani/mcp-server-woocommerce.git
cd mcp-server-woocommerce
pnpm install
pnpm dev # Watch mode
pnpm build # Build
pnpm start # Run directly
pnpm test # Run unit tests
pnpm test:integration # Run integration tests (requires Docker)
pnpm test:watch # Run unit tests in watch mode
pnpm inspector # Debug with MCP Inspector
統合テストは、@wordpress/env を介して、実際の WordPress 6.9.4 + WooCommerce 10.5.3 インスタンスに対して実行されます。前提条件:Docker。pnpm test:integration を実行すると、テスト環境が自動的に起動します。
Docker
docker build -t mcp-server-woocommerce .
docker run \
-e WORDPRESS_SITE_URL=https://store.example.com \
-e WOOCOMMERCE_CONSUMER_KEY=ck_your_key \
-e WOOCOMMERCE_CONSUMER_SECRET=cs_your_secret \
mcp-server-woocommerce
リモート/モバイルアクセス(HTTP トランスポート)
Claude モバイル、ChatGPT、その他のリモートクライアントから WooCommerce ツールにアクセスするには、サーバーを HTTP モードで実行します。
MCP_TRANSPORT=http MCP_AUTH_TOKEN=your-secret-token node build/index.js
または、Docker を使用します。
docker run -p 3000:3000 \
-e MCP_TRANSPORT=http \
-e MCP_AUTH_TOKEN=your-secret-token \
-e WORDPRESS_SITE_URL=https://store.example.com \
-e WOOCOMMERCE_CONSUMER_KEY=ck_your_key \
-e WOOCOMMERCE_CONSUMER_SECRET=cs_your_secret \
mcp-server-woocommerce
| 変数 | デフォルト | 説明 |
|---|---|---|
MCP_TRANSPORT | stdio | リモートアクセスの場合は http に設定します |
PORT | — | プラットフォームから提供されるポート(MCP_PORT を上書きします) |
MCP_PORT | 3000 | HTTP サーバーのポート |
MCP_AUTH_TOKEN | — | 認証用のベアラートークン(Claude Desktop/Code) |
AUTH0_DOMAIN | — | OAuth 2.1 用の Auth0 テナント URL(Claude.ai Connectors) |
AUTH0_AUDIENCE | — | OAuth 2.1 用の Auth0 API 識別子 |
MCP_SERVER_URL | — | OAuth 2.1 のディスカバリー用公開サーバー URL |
MCP_AUTH_TOKEN、または AUTH0_DOMAIN、AUTH0_AUDIENCE、MCP_SERVER_URL のすべてが必要です。
デプロイガイド:Railway(約 $0/月)、Fly.io(スケール・トゥ・ゼロで約 $0/月)、Docker へのデプロイ手順については、docs/DEPLOYMENT.md を参照してください。
Claude Desktop / Code:ベアラートークン認証を使用します。設定にサーバー URL と Authorization: Bearer <token> ヘッダーを追加してください。
Claude.ai ウェブ/モバイル:Auth0(無料プラン)を介した OAuth 2.1 が必要です。設定手順については、デプロイガイドを参照してください。
デフォルトのモードは引き続き stdio です。既存の npx ユーザーには影響しません。
ライセンス
MIT
WooCommerce は Automattic Inc. の登録商標です。このプロジェクトは Automattic Inc. と提携、推奨、または後援されていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。