WooCommerce MCP Server について
WooCommerce MCP Server は、AI アシスタントから WooCommerce ストアの注文データにアクセスするための MCP サーバーです。ステータスで絞り込んだ最近の注文取得と、ID による注文詳細の取得に対応します。
主な機能
- 01最近の注文を取得
- 02ステータスで注文を絞り込み
- 03ID で注文を取得
活用シーン
- 01ストアの最近の注文を確認
- 02特定ステータスの注文を検索
- 03既知の注文の詳細を取得
MCP 対応
設定済みの REST API 認証情報を使い、MCP 対応 AI アシスタントに WooCommerce の注文取得ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
WooCommerce MCP サーバー
WooCommerce を Claude やその他の AI アシスタントと連携するための Model Context Protocol(MCP)サーバーです。
概要
このサーバーは、AI アシスタントが WooCommerce ストアとやり取りするためのツールを提供し、次のことができます。
- オプションのフィルターを指定して最近の注文を取得する
- 注文 ID を指定して特定の注文の詳細情報を取得する
このサーバーは Model Context Protocol 仕様を実装しており、Claude for Desktop などの MCP 対応 AI アシスタントと互換性があります。
前提条件
- Node.js v18 以上
- REST API にアクセスできる WooCommerce ストア
- WooCommerce API の認証情報(コンシューマーキーとシークレット)
インストール
- このリポジトリをクローンします。
git clone https://github.com/techspawn/woocommerce-mcp-server.git
cd woocommerce-mcp-server
- 依存関係をインストールします。
npm install
設定
WooCommerce API の認証情報を設定する必要があります。設定方法は次のとおりです。
- サーバーの実行時に環境変数を設定します。
WOOCOMMERCE_URL=https://your-store.com \
WOOCOMMERCE_CONSUMER_KEY=your-consumer-key \
WOOCOMMERCE_CONSUMER_SECRET=your-consumer-secret \
node index.js
- または、
index.jsファイルのデフォルト値を編集します。
const woocommerceConfig = {
url: process.env.WOOCOMMERCE_URL || 'https://your-store.com',
consumerKey: process.env.WOOCOMMERCE_CONSUMER_KEY || 'your-consumer-key',
consumerSecret: process.env.WOOCOMMERCE_CONSUMER_SECRET || 'your-consumer-secret',
version: 'wc/v3'
};
サーバーの実行
サーバーを直接実行するには、次のとおりです。
node index.js
または、npm スクリプトを使用します。
npm start
Claude for Desktop との連携
このサーバーを Claude for Desktop に接続するには、次の手順に従います。
-
Claude for Desktop がインストールされていることを確認します
-
次の場所にある Claude Desktop の設定ファイルを開きます。
- Windows:
%USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
-
WooCommerce MCP サーバーの設定を追加します(ファイルが存在しない場合は作成します)。
{
"mcpServers": {
"woocommerce": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/woocommerce-mcp-server/index.js"
],
"env": {
"WOOCOMMERCE_URL": "https://your-store.com",
"WOOCOMMERCE_CONSUMER_KEY": "your-consumer-key",
"WOOCOMMERCE_CONSUMER_SECRET": "your-consumer-secret"
}
}
}
}
- ファイルを保存し、Claude for Desktop を再起動します
利用可能なツール
getRecentOrders
WooCommerce ストアの最近の注文一覧を取得します。
パラメーター:
status(任意):注文をステータスで絞り込みます(例:「processing」、「completed」、「on-hold」)limit(任意、デフォルト:5):取得する注文数
getOrderById
特定の注文の詳細情報を取得します。
パラメーター:
id:取得する注文の ID
JavaScript で独自の MCP サーバーを構築する
このセクションでは、JavaScript/Node.js を使用して独自の MCP サーバーを作成する方法を説明します。
1. 新しいプロジェクトをセットアップする
mkdir my-mcp-server
cd my-mcp-server
npm init -y
2. 依存関係をインストールする
npm install @modelcontextprotocol/sdk axios zod
3. サーバーファイル(index.js)を作成する
基本構成から始めます。
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// Initialize server
const server = new McpServer({
name: "My MCP Service",
version: "1.0.0",
});
// Define and register your tools
server.tool(
"myToolName",
{
// Define parameters using Zod schemas
param1: z.string().describe("Description of param1"),
param2: z.number().optional().describe("Optional parameter")
},
async ({ param1, param2 }) => {
// Tool implementation logic here
const result = `Processed ${param1} with value ${param2 || 'none'}`;
// Return result in the expected format
return {
content: [
{
type: "text",
text: result
}
]
};
}
);
// Connect the server
const transport = new StdioServerTransport();
await server.connect(transport);
4. package.json を ES モジュールに対応させる
{
"type": "module",
"scripts": {
"start": "node index.js"
}
}
5. ツールを定義する
MCP ツールは、次の 3 つの要素で定義します。
- 名前:ツールを一意に識別する名前
- パラメーター:入力パラメーターのスキーマ(Zod を使用)
- ハンドラー:入力を処理して結果を返す非同期関数
例:
server.tool(
"calculateTotal",
{
items: z.array(
z.object({
name: z.string(),
price: z.number(),
quantity: z.number().int().positive()
})
).describe("Array of items to calculate total for")
},
async ({ items }) => {
const total = items.reduce((sum, item) => sum + (item.price * item.quantity), 0);
return {
content: [
{
type: "text",
text: `Total: $${total.toFixed(2)}`
}
]
};
}
);
6. ローカルでテストする
stdio トランスポートを使用して、MCP サーバーをローカルでテストできます。
node index.js
7. デバッグのヒント
- デバッグには
console.log()ではなくconsole.error()を使用します。console.log()は stdio トランスポートに干渉します - エラーがないか、Claude for Desktop のログを確認します
- ツールハンドラーで例外が適切に処理されることを確認します
リソース
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。