WooCommerce MCP Server
WooCommerce store data management via WordPress REST API for AI workflows.
Data last scanned today · Reviewed yesterday
Overview
This MCP server provides a bridge between AI models and WooCommerce stores, utilizing the JSON-RPC 2.0 protocol to interact with store data. It allows users to manage products, orders, customer information, shipping details, and tax configurations directly through the WordPress REST API.
Our verdict
With a high-risk security score of 14/100, this tool should be used with extreme caution. It lacks any authentication method beyond static configuration and fails to implement read-only mode, meaning every installation is granted full write access to your store. Given that it is maintained by a small community group rather than the official WooCommerce vendor and has not been editorially reviewed, it is best suited for isolated sandbox environments rather than live production stores.
- Supports comprehensive management of products, orders, and taxes
- Uses only one direct dependency to minimize supply-chain risk
- Includes documentation for WordPress and WooCommerce API methods
- Compatible across Windows, macOS, and Linux environments
- No authentication layer for the MCP server itself
- Full write access granted to every user by default
- Not maintained by the official WooCommerce vendor
- Last code commit was over eight months ago
Setup
{
"mcpServers": {
"woocommerce-mcp-server": {
"args": [
"-y",
"woocommerce-mcp-server"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| create_post | Create a new WordPress post | medium |
| get_posts | Retrieve WordPress posts | low |
| update_post | Update an existing WordPress post | medium |
| get_post_meta | Get post metadata | low |
| update_post_meta | Update post metadata | medium |
| create_post_meta | Create post metadata | medium |
| delete_post_meta | Delete post metadata | high |
| get_products | Retrieve a list of products | low |
| get_product | Get a single product by ID | low |
| create_product | Create a new product | medium |
| update_product | Update an existing product | medium |
| delete_product | Delete a product | high |
| get_product_meta | Get product metadata | low |
| create_product_meta | Create/update product metadata | medium |
| update_product_meta | Update product metadata (alias for create) | medium |
| delete_product_meta | Delete product metadata | high |
| get_product_categories | Retrieve product categories | low |
| get_product_category | Get a single product category | low |
| create_product_category | Create a new product category | medium |
| update_product_category | Update a product category | medium |
| delete_product_category | Delete a product category | high |
| get_product_tags | Retrieve product tags | low |
| get_product_tag | Get a single product tag | low |
| create_product_tag | Create a new product tag | medium |
| update_product_tag | Update a product tag | medium |
| delete_product_tag | Delete a product tag | high |
| get_product_attributes | Retrieve product attributes | low |
| get_product_attribute | Get a single product attribute | low |
| create_product_attribute | Create a new product attribute | medium |
| update_product_attribute | Update a product attribute | medium |
| delete_product_attribute | Delete a product attribute | high |
| get_attribute_terms | Retrieve attribute terms | low |
| get_attribute_term | Get a single attribute term | low |
| create_attribute_term | Create a new attribute term | medium |
| update_attribute_term | Update an attribute term | medium |
| delete_attribute_term | Delete an attribute term | high |
| get_product_variations | Retrieve product variations | low |
| get_product_variation | Get a single product variation | low |
| create_product_variation | Create a new product variation | medium |
| update_product_variation | Update a product variation | medium |
| delete_product_variation | Delete a product variation | high |
| get_product_reviews | Retrieve product reviews | low |
| get_product_review | Get a single product review | low |
| create_product_review | Create a new product review | medium |
| update_product_review | Update a product review | medium |
| delete_product_review | Delete a product review | high |
| get_orders | Retrieve a list of orders | low |
| get_order | Get a single order by ID | low |
| create_order | Create a new order | medium |
| update_order | Update an existing order | medium |
| delete_order | Delete an order | high |
| get_order_meta | Get order metadata | low |
| create_order_meta | Create/update order metadata | medium |
| update_order_meta | Update order metadata (alias for create) | medium |
| delete_order_meta | Delete order metadata | high |
| get_order_notes | Retrieve order notes | low |
| get_order_note | Get a single order note | low |
| create_order_note | Create a new order note | medium |
| delete_order_note | Delete an order note | high |
| get_order_refunds | Retrieve order refunds | low |
| get_order_refund | Get a single order refund | low |
| create_order_refund | Create a new order refund | medium |
| delete_order_refund | Delete an order refund | high |
| get_customers | Retrieve a list of customers | low |
| get_customer | Get a single customer by ID | low |
| create_customer | Create a new customer | medium |
| update_customer | Update an existing customer | medium |
| delete_customer | Delete a customer | high |
| get_customer_meta | Get customer metadata | low |
| create_customer_meta | Create/update customer metadata | medium |
| update_customer_meta | Update customer metadata (alias for create) | medium |
| delete_customer_meta | Delete customer metadata | high |
| get_shipping_zones | Retrieve shipping zones | low |
| get_shipping_zone | Get a single shipping zone | low |
| create_shipping_zone | Create a new shipping zone | medium |
| update_shipping_zone | Update a shipping zone | medium |
| delete_shipping_zone | Delete a shipping zone | high |
| get_shipping_methods | Retrieve shipping methods | low |
| get_shipping_zone_methods | Get shipping methods for a zone | low |
| create_shipping_zone_method | Create a new shipping method for a zone | medium |
| update_shipping_zone_method | Update a shipping method for a zone | medium |
| delete_shipping_zone_method | Delete a shipping method from a zone | high |
| get_shipping_zone_locations | Get locations for a shipping zone | low |
| update_shipping_zone_locations | Update locations for a shipping zone | medium |
| get_tax_classes | Retrieve tax classes | low |
| create_tax_class | Create a new tax class | medium |
| delete_tax_class | Delete a tax class | high |
| get_tax_rates | Retrieve tax rates | low |
| get_tax_rate | Get a single tax rate | low |
| create_tax_rate | Create a new tax rate | medium |
| update_tax_rate | Update a tax rate | medium |
| delete_tax_rate | Delete a tax rate | high |
| get_coupons | Retrieve coupons | low |
| get_coupon | Get a single coupon | low |
| create_coupon | Create a new coupon | medium |
| update_coupon | Update a coupon | medium |
| delete_coupon | Delete a coupon | high |
| get_payment_gateways | Retrieve payment gateways | low |
| get_payment_gateway | Get a single payment gateway | low |
| update_payment_gateway | Update a payment gateway | medium |
| get_sales_report | Retrieve sales reports | low |
| get_products_report | Retrieve products reports | low |
| get_orders_report | Retrieve orders reports | low |
| get_categories_report | Retrieve categories reports | low |
| get_customers_report | Retrieve customers reports | low |
| get_stock_report | Retrieve stock reports | low |
| get_coupons_report | Retrieve coupons reports | low |
| get_taxes_report | Retrieve taxes reports | low |
| get_settings | Retrieve all settings | low |
| get_setting_options | Retrieve options for a setting | low |
| update_setting_option | Update a setting option | medium |
| get_system_status | Retrieve system status | low |
| get_system_status_tools | Retrieve system status tools | low |
| run_system_status_tool | Run a system status tool | high |
| get_data | Retrieve store data | low |
| get_continents | Retrieve continents data | low |
| get_countries | Retrieve countries data | low |
| get_currencies | Retrieve currencies data | low |
| get_current_currency | Get the current currency | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What operating systems are supported?
This server is compatible with Windows, macOS, and Linux.
›Are there different authentication requirements for WooCommerce and WordPress methods?
Yes. WooCommerce API access requires consumer keys generated in your WordPress dashboard, while WordPress-specific methods require a valid username and password for basic authentication.
›Can I provide credentials without using environment variables?
Yes, you can provide the required credentials directly in the request parameters instead of using the configuration file.
›What setup is required to perform WordPress content management tasks?
You must provide your WordPress username and password, and ensure that the WordPress REST API is enabled on your site.
Alternatives
Badge
Maintain this server? Add the live badge to your README.