WooCommerce MCP Server
Provides tools for managing products, categories, tags, orders, order notes, refunds, customers, coupons, and sales reports via the WooCommerce REST API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WooCommerce MCP ServerShow me the top selling products this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WooCommerce MCP Server
An MCP (Model Context Protocol) server that connects LLM agents to a WooCommerce store via its REST API (wp-json/wc/v3). It provides 40 tools covering products, product variations, categories, tags, orders, order notes, refunds, customers, coupons, and sales reports.
Setup
1. Generate WooCommerce API keys
In WordPress admin, go to WooCommerce > Settings > Advanced > REST API
Click Add key
Give it a description, select a user, and choose Read/Write permissions
Click Generate API key and copy the Consumer key and Consumer secret immediately (the secret is hidden afterwards)
Your store must use pretty permalinks (Settings > Permalinks) and should be served over HTTPS.
2. Install and build
npm install
npm run build3. Configure environment variables
Variable | Required | Description |
| Yes | Your store's base URL, e.g. |
| Yes | Consumer key from step 1 |
| Yes | Consumer secret from step 1 |
| No | Defaults to |
| No |
|
| No | Port for HTTP transport (default |
4. Run
stdio (for local MCP clients like Claude Desktop):
WOOCOMMERCE_STORE_URL=https://mystore.com \
WOOCOMMERCE_CONSUMER_KEY=ck_xxx \
WOOCOMMERCE_CONSUMER_SECRET=cs_xxx \
node dist/index.jsExample Claude Desktop config entry:
{
"mcpServers": {
"woocommerce": {
"command": "node",
"args": ["/absolute/path/to/woocommerce-mcp-server/dist/index.js"],
"env": {
"WOOCOMMERCE_STORE_URL": "https://mystore.com",
"WOOCOMMERCE_CONSUMER_KEY": "ck_xxx",
"WOOCOMMERCE_CONSUMER_SECRET": "cs_xxx"
}
}
}
}Streamable HTTP (for remote/multi-client use):
TRANSPORT=http PORT=3000 \
WOOCOMMERCE_STORE_URL=https://mystore.com \
WOOCOMMERCE_CONSUMER_KEY=ck_xxx \
WOOCOMMERCE_CONSUMER_SECRET=cs_xxx \
node dist/index.jsThe server listens at http://localhost:3000/mcp.
Related MCP server: MCP WooCommerce
Tools
All tools are prefixed woocommerce_ and use snake_case. Every list/get tool accepts a response_format parameter (markdown default, or json for structured data), and list tools support page/per_page pagination with a consistent envelope (total, count, has_more, next_page).
Products
woocommerce_list_products- search/filter products (status, type, category, tag, stock, price, sale)woocommerce_get_product- full product detailwoocommerce_create_product/woocommerce_update_product/woocommerce_delete_productwoocommerce_list_product_variations/woocommerce_get_product_variationwoocommerce_create_product_variation/woocommerce_update_product_variation/woocommerce_delete_product_variation
Categories & Tags
woocommerce_list_product_categories/_create_/_update_/_delete_product_categorywoocommerce_list_product_tags/_create_/_update_/_delete_product_tag
Orders
woocommerce_list_orders- filter by status, customer, date range, productwoocommerce_get_order- full order detail (line items, addresses, totals)woocommerce_create_order/woocommerce_update_order/woocommerce_delete_orderwoocommerce_list_order_notes/woocommerce_create_order_notewoocommerce_list_order_refunds/woocommerce_create_order_refund(destructive financial operation)
Customers
woocommerce_list_customers/woocommerce_get_customerwoocommerce_create_customer/woocommerce_update_customer/woocommerce_delete_customer
Coupons
woocommerce_list_coupons/woocommerce_get_couponwoocommerce_create_coupon/woocommerce_update_coupon/woocommerce_delete_coupon
Reports
woocommerce_get_sales_report- totals for a period or custom date rangewoocommerce_get_top_sellers_report- best-selling products for a periodwoocommerce_get_report_totals- status/count breakdown for orders, products, customers, coupons, or reviews
Design notes
Auth: HTTP Basic Auth with the consumer key/secret, as recommended for HTTPS stores. If your server can't parse Basic Auth headers (rare, usually FastCGI setups), WooCommerce also accepts
consumer_key/consumer_secretas query params - not implemented here since Basic Auth covers the vast majority of installs.Pagination: mirrors WooCommerce's own
page/per_pagemodel and echoes backX-WP-Total/X-WP-TotalPagesresponse headers.Response size: responses are capped at ~25,000 characters; list tools truncate their
itemsarray with atruncation_messagetelling the agent how to narrow its query instead of silently dropping data.Destructive actions:
delete_*andcreate_order_refundtools are annotateddestructiveHint: true. Deletes default to WooCommerce's trash behavior where supported (force=false); refunds are irreversible and the tool description calls this out explicitly.Line-item edits on existing orders are intentionally out of scope for
woocommerce_update_orderto avoid an agent accidentally corrupting totals/stock counts; usewoocommerce_create_orderfor new orders andwoocommerce_create_order_refundfor post-hoc adjustments.
Development
npm run dev # tsx watch mode
npm run build # compile TypeScript to dist/
npm run clean # remove dist/Test with the MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.jsThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jacques-Murray/woocommerce-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server