mcpField
W
Woocommerce MCP Server

Woocommerce MCP Server

Local
github.com/arbazexBusiness & Marketing0Updated 27w ago

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

  1. 01Manage orders, statuses, and notes
  2. 02Browse and update products and stock
  3. 03Find customers and their orders
  4. 04Review sales and order analytics
  5. 05Validate inputs and retry failures

Use cases

  1. 01Filter orders by status or date
  2. 02Find low-stock and out-of-stock products
  3. 03Update order status or product details
  4. 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.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

woocommerce-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.

npm version License: MIT MCP Compatible TypeScript Node.js


🎥 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)
ToolDescription
list_ordersList orders with filters (status, date, customer)
get_orderFull details for a single order
update_order_statusChange order status + optional note
get_order_notesAll notes on an order
add_order_noteAdd internal or customer-visible note
🏷️ Products (7 tools)
ToolDescription
list_productsBrowse catalog with filters
get_productFull details for a single product
update_productUpdate price, stock, status, description
get_low_stock_productsProducts at or below stock threshold
get_out_of_stock_productsAll out-of-stock products
search_products_by_skuFind product by exact SKU
list_product_categoriesAll categories with counts
👥 Customers (4 tools)
ToolDescription
list_customersBrowse customers with search
get_customerFull customer profile
get_customer_ordersAll orders for a customer
get_recent_customersNew customers in last N days
📊 Analytics (4 tools)
ToolDescription
get_revenue_summarySales, orders, avg order value by period
get_sales_reportDetailed report with tax, shipping, refunds
get_top_selling_productsBest sellers by quantity
get_order_status_countsOrder 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
  1. Go to your WordPress dashboard
  2. Navigate to WooCommerce → Settings → Advanced → REST API
  3. Click Add Key
  4. Set Description: MCP Server
  5. Set Permissions: Read/Write
  6. Click Generate API Key
  7. 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

FeatureRequired Permission
Read orders, products, customers, analyticsRead
Update order status, add notes, update productsRead/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:

  1. Fork the repo
  2. Create a branch: git checkout -b feature/your-tool-name
  3. Make your changes
  4. 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

Markdown supported

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.