About Woocommerce MCP Server
Woocommerce MCP Server exposes WooCommerce store operations to Claude and other MCP clients. It is for store operators managing orders, products, customers, inventory, and analytics, with input validation and automatic retries.
Key features
- 01Manage orders, statuses, and notes
- 02Browse and update products and stock
- 03Find customers and their orders
- 04Review sales and order analytics
- 05Validate inputs and retry failures
Use cases
- 01Filter orders by status or date
- 02Find low-stock and out-of-stock products
- 03Update order status or product details
- 04Summarize revenue, sales, and best sellers
MCP support
The MCP server provides order, product, customer, and analytics tools to Claude Desktop, MCP Inspector, and other compatible clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEwoocommerce-mcp-server
Production-grade Model Context Protocol (MCP) server for WooCommerce — manage orders, products, customers, inventory, and analytics using Claude AI or any MCP-compatible client.
🎥 What You Can Do
Once connected, just talk to Claude naturally:
"Show me all processing orders from this week" "Which products are running low on stock?" "Find the product with SKU WOO-1234" "What's my revenue this month?" "Who are my newest customers?" "Mark order #501 as completed"
No more clicking through WooCommerce dashboards. Your AI handles it.
✨ Features
- ✅ 20 production-ready tools across Orders, Products, Customers, and Analytics
- ✅ TypeScript — fully typed, no runtime surprises
- ✅ Retry logic — automatic retries on network errors and rate limits
- ✅ Meaningful error messages — no raw API errors thrown at users
- ✅ Input validation via Zod — bad inputs rejected before they hit the API
- ✅ Works with Claude Desktop, MCP Inspector, and any MCP-compatible client
- ✅ npm installable — no cloning required
🛠️ Tools Reference
📦 Orders (5 tools)
| Tool | Description |
|---|---|
list_orders | List orders with filters (status, date, customer) |
get_order | Full details for a single order |
update_order_status | Change order status + optional note |
get_order_notes | All notes on an order |
add_order_note | Add internal or customer-visible note |
🏷️ Products (7 tools)
| Tool | Description |
|---|---|
list_products | Browse catalog with filters |
get_product | Full details for a single product |
update_product | Update price, stock, status, description |
get_low_stock_products | Products at or below stock threshold |
get_out_of_stock_products | All out-of-stock products |
search_products_by_sku | Find product by exact SKU |
list_product_categories | All categories with counts |
👥 Customers (4 tools)
| Tool | Description |
|---|---|
list_customers | Browse customers with search |
get_customer | Full customer profile |
get_customer_orders | All orders for a customer |
get_recent_customers | New customers in last N days |
📊 Analytics (4 tools)
| Tool | Description |
|---|---|
get_revenue_summary | Sales, orders, avg order value by period |
get_sales_report | Detailed report with tax, shipping, refunds |
get_top_selling_products | Best sellers by quantity |
get_order_status_counts | Order count breakdown by status |
🚀 Quick Setup
Prerequisites
- Node.js 18+
- A WooCommerce store with REST API access
- Claude Desktop (for AI integration)
Step 1 — Generate WooCommerce API Keys
- Go to your WordPress dashboard
- Navigate to WooCommerce → Settings → Advanced → REST API
- Click Add Key
- Set Description:
MCP Server - Set Permissions: Read/Write
- Click Generate API Key
- Copy your Consumer Key and Consumer Secret
Step 2 — Install via npx (Recommended)
No installation needed. Configure Claude Desktop directly:
Open your Claude Desktop config file:
- Windows:
C:\Users\<YourName>\AppData\Roaming\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add this configuration:
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["-y", "woocommerce-mcp-server"],
"env": {
"WOOCOMMERCE_URL": "https://yourstore.com",
"WOOCOMMERCE_CONSUMER_KEY": "ck_your_consumer_key_here",
"WOOCOMMERCE_CONSUMER_SECRET": "cs_your_consumer_secret_here"
}
}
}
}
Restart Claude Desktop. You should see a 🔌 plug icon — your WooCommerce store is now connected.
Alternative — Clone and Run Locally
git clone https://github.com/arbazex/woocommerce-mcp-server.git
cd woocommerce-mcp-server
npm install
Create a .env file:
WOOCOMMERCE_URL=https://yourstore.com
WOOCOMMERCE_CONSUMER_KEY=ck_your_key_here
WOOCOMMERCE_CONSUMER_SECRET=cs_your_secret_here
Build and run:
npm run build
node build/index.js
Then update your Claude Desktop config to point to your local build:
{
"mcpServers": {
"woocommerce": {
"command": "node",
"args": ["C:\\path\\to\\woocommerce-mcp-server\\build\\index.js"],
"env": {
"WOOCOMMERCE_URL": "https://yourstore.com",
"WOOCOMMERCE_CONSUMER_KEY": "ck_your_key_here",
"WOOCOMMERCE_CONSUMER_SECRET": "cs_your_secret_here"
}
}
}
}
🧪 Testing with MCP Inspector
Test your tools in the browser without Claude Desktop:
npx @modelcontextprotocol/inspector build/index.js
Set environment variables first:
# Windows PowerShell
$env:WOOCOMMERCE_URL="https://yourstore.com"
$env:WOOCOMMERCE_CONSUMER_KEY="ck_your_key"
$env:WOOCOMMERCE_CONSUMER_SECRET="cs_your_secret"
# macOS/Linux
export WOOCOMMERCE_URL="https://yourstore.com"
export WOOCOMMERCE_CONSUMER_KEY="ck_your_key"
export WOOCOMMERCE_CONSUMER_SECRET="cs_your_secret"
🔑 API Key Permissions
| Feature | Required Permission |
|---|---|
| Read orders, products, customers, analytics | Read |
| Update order status, add notes, update products | Read/Write |
⚠️ Without Write permissions, update tools will return an authentication error. Generate a Read/Write key for full functionality.
📁 Project Structure
woocommerce-mcp-server/
├── src/
│ ├── index.ts # Entry point (stdio transport)
│ ├── server.ts # MCP server setup
│ ├── woo-client.ts # WooCommerce API client (retry + error handling)
│ ├── types/
│ │ └── woo-types.ts # Full TypeScript type definitions
│ └── tools/
│ ├── orders.ts # Order management tools
│ ├── products.ts # Product management tools
│ ├── customers.ts # Customer management tools
│ └── analytics.ts # Reporting and analytics tools
├── build/ # Compiled output (generated)
├── package.json
├── tsconfig.json
└── .env.example
🔒 Security
- API credentials are passed via environment variables — never hardcoded
- All inputs are validated with Zod before hitting the API
- Rate limit errors are handled gracefully with automatic retry + backoff
- No credentials are logged to stdout (only stderr for debug messages)
🛠️ Development
# Install dependencies
npm install
# Watch mode (auto-rebuild on save)
npm run dev
# Build once
npm run build
# Open MCP Inspector
npm run inspect
🤝 Contributing
Contributions are welcome! If you have ideas for new tools or find a bug:
- Fork the repo
- Create a branch:
git checkout -b feature/your-tool-name - Make your changes
- Open a Pull Request
📋 Roadmap
- Create order tool
- Coupon management tools
- Webhook management
- Product variation support
- Remote HTTP (Streamable HTTP) transport for hosted deployment
- Batch operations support
📄 License
MIT © Arbaz
Built with ❤️ by Arbaz
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.