WooCommerce MCP Server

WooCommerce MCP Server

Enables interaction with WooCommerce stores through the WordPress REST API, supporting comprehensive management of products, orders, customers, shipping, taxes, discounts, and store configuration.

Category
Visit Server

README

WooCommerce MCP Server

A Model Context Protocol (MCP) server for WooCommerce integration, compatible with Windows, macOS, and Linux.

Overview

This MCP server enables interaction with WooCommerce stores through the WordPress REST API. It provides comprehensive tools for managing all aspects of products, orders, customers, shipping, taxes, discounts, and store configuration using JSON-RPC 2.0 protocol.

Configuration

Option 1: Direct Configuration (Your Current Setup)

{
  "mcpServers": {
    "woocommerce": {
      "command": "node",
      "args": ["/Users/user/woocommerce-mcp-server/build/index.js"],
      "env": {
        "WORDPRESS_SITE_URL": "https://your.website",
        "WOOCOMMERCE_CONSUMER_KEY": "ck_",
        "WOOCOMMERCE_CONSUMER_SECRET": "cs_",
        "WORDPRESS_USERNAME": "admin",
        "WORDPRESS_PASSWORD": "admin"
      }
    }
  }
}

Option 2: Environment File (Recommended for Security)

  1. Create a .env file in your project root:
WORDPRESS_SITE_URL=https://your.website
WOOCOMMERCE_CONSUMER_KEY=ck
WOOCOMMERCE_CONSUMER_SECRET=cs
WORDPRESS_USERNAME=admin
WORDPRESS_PASSWORD=admin
  1. Use this MCP configuration:
{
  "mcpServers": {
    "woocommerce": {
      "command": "node",
      "args": ["/Users/kenan/woocommerce-mcp-server/build/index.js"]
    }
  }
}

Available Tools

  • get_mcp_config - Generate MCP server configuration
  • get_products - List WooCommerce products
  • get_product - Get specific product by ID
  • create_product - Create new product
  • update_product - Update existing product
  • delete_product - Delete product
  • get_product_attributes - List product attributes
  • get_product_attribute - Get specific product attribute
  • create_product_attribute - Create new product attribute
  • update_product_attribute - Update product attribute
  • delete_product_attribute - Delete product attribute
  • batch_update_product_attributes - Batch update product attributes
  • get_orders - List orders
  • get_order - Get specific order
  • get_customers - List customers
  • create_customer - Create new customer
  • get_product_categories - List product categories
  • create_product_category - Create new category
  • get_sales_report - Get sales reports

Development

# Build
bun run build

# Start
bun run start

Security Notes

  • Never commit credentials to version control
  • Use environment variables or secure credential management
  • Consider using application passwords instead of main WordPress passwords
  • Regularly rotate API keys and passwords

Authentication Options

WooCommerce Authentication

WooCommerce API access requires consumer keys that you can generate in your WordPress dashboard under WooCommerce → Settings → Advanced → REST API.

WordPress Authentication

For WordPress-specific methods (like managing posts), you need to provide:

  • Username/password credentials for basic authentication
  • The WordPress REST API must be enabled on your site

API Methods

The server supports both WordPress and WooCommerce API methods. Here's a list of available methods grouped by category:

WordPress Content Management

These methods require WordPress username/password credentials and are independent of the WooCommerce API.

Method Description
create_post Create a new WordPress post
get_posts Retrieve WordPress posts
update_post Update an existing WordPress post
get_post_meta Get post metadata
update_post_meta Update post metadata
create_post_meta Create post metadata
delete_post_meta Delete post metadata

WooCommerce Products

Method Description
get_products Retrieve a list of products
get_product Get a single product by ID
create_product Create a new product
update_product Update an existing product
delete_product Delete a product
get_product_meta Get product metadata
create_product_meta Create/update product metadata
update_product_meta Update product metadata (alias for create)
delete_product_meta Delete product metadata

Product Categories

Method Description
get_product_categories Retrieve product categories
get_product_category Get a single product category
create_product_category Create a new product category
update_product_category Update a product category
delete_product_category Delete a product category

Product Tags

Method Description
get_product_tags Retrieve product tags
get_product_tag Get a single product tag
create_product_tag Create a new product tag
update_product_tag Update a product tag
delete_product_tag Delete a product tag

Product Attributes

Method Description
get_product_attributes Retrieve product attributes
get_product_attribute Get a single product attribute
create_product_attribute Create a new product attribute
update_product_attribute Update a product attribute
delete_product_attribute Delete a product attribute
batch_update_product_attributes Batch update product attributes

Product Variations

Method Description
get_product_variations Retrieve product variations
get_product_variation Get a single product variation
create_product_variation Create a new product variation
update_product_variation Update a product variation
delete_product_variation Delete a product variation

Product Reviews

Method Description
get_product_reviews Retrieve product reviews
get_product_review Get a single product review
create_product_review Create a new product review
update_product_review Update a product review
delete_product_review Delete a product review

WooCommerce Orders

Method Description
get_orders Retrieve a list of orders
get_order Get a single order by ID
create_order Create a new order
update_order Update an existing order
delete_order Delete an order
get_order_meta Get order metadata
create_order_meta Create/update order metadata
update_order_meta Update order metadata (alias for create)
delete_order_meta Delete order metadata

Order Notes

Method Description
get_order_notes Retrieve order notes
get_order_note Get a single order note
create_order_note Create a new order note
delete_order_note Delete an order note

Order Refunds

Method Description
get_order_refunds Retrieve order refunds
get_order_refund Get a single order refund
create_order_refund Create a new order refund
delete_order_refund Delete an order refund

WooCommerce Customers

Method Description
get_customers Retrieve a list of customers
get_customer Get a single customer by ID
create_customer Create a new customer
update_customer Update an existing customer
delete_customer Delete a customer
get_customer_meta Get customer metadata
create_customer_meta Create/update customer metadata
update_customer_meta Update customer metadata (alias for create)
delete_customer_meta Delete customer metadata

Shipping

Method Description
get_shipping_zones Retrieve shipping zones
get_shipping_zone Get a single shipping zone
create_shipping_zone Create a new shipping zone
update_shipping_zone Update a shipping zone
delete_shipping_zone Delete a shipping zone
get_shipping_methods Retrieve shipping methods
get_shipping_zone_methods Get shipping methods for a zone
create_shipping_zone_method Create a new shipping method for a zone
update_shipping_zone_method Update a shipping method for a zone
delete_shipping_zone_method Delete a shipping method from a zone
get_shipping_zone_locations Get locations for a shipping zone
update_shipping_zone_locations Update locations for a shipping zone

Taxes

Method Description
get_tax_classes Retrieve tax classes
create_tax_class Create a new tax class
delete_tax_class Delete a tax class
get_tax_rates Retrieve tax rates
get_tax_rate Get a single tax rate
create_tax_rate Create a new tax rate
update_tax_rate Update a tax rate
delete_tax_rate Delete a tax rate

Discounts/Coupons

Method Description
get_coupons Retrieve coupons
get_coupon Get a single coupon
create_coupon Create a new coupon
update_coupon Update a coupon
delete_coupon Delete a coupon

Payment Gateways

Method Description
get_payment_gateways Retrieve payment gateways
get_payment_gateway Get a single payment gateway
update_payment_gateway Update a payment gateway

Reports

Method Description
get_sales_report Retrieve sales reports
get_products_report Retrieve products reports
get_orders_report Retrieve orders reports
get_categories_report Retrieve categories reports
get_customers_report Retrieve customers reports
get_stock_report Retrieve stock reports
get_coupons_report Retrieve coupons reports
get_taxes_report Retrieve taxes reports

Settings

Method Description
get_settings Retrieve all settings
get_setting_options Retrieve options for a setting
update_setting_option Update a setting option

System Status

Method Description
get_system_status Retrieve system status
get_system_status_tools Retrieve system status tools
run_system_status_tool Run a system status tool

Data

Method Description
get_data Retrieve store data
get_continents Retrieve continents data
get_countries Retrieve countries data
get_currencies Retrieve currencies data
get_current_currency Get the current currency

Method Parameters

All methods follow a similar parameter structure. Here are some examples:

Common Parameters for All Methods

  • siteUrl: (optional if set in env) WordPress site URL

Additional Parameters for WooCommerce Methods

  • consumerKey: (optional if set in env) WooCommerce consumer key
  • consumerSecret: (optional if set in env) WooCommerce consumer secret

Additional Parameters for WordPress Methods

  • username: (optional if set in env) WordPress username
  • password: (optional if set in env) WordPress password

Example Usage

WordPress API Example

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "create_post",
  "params": {
    "siteUrl": "https://your-wordpress-site.com",
    "username": "your-wordpress-username",
    "password": "your-wordpress-password",
    "title": "My New Blog Post",
    "content": "This is the content of my new blog post.",
    "status": "publish"
  }
}

WooCommerce Products Example

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "get_products",
  "params": {
    "perPage": 20,
    "page": 1,
    "filters": {
      "category": 19,
      "status": "publish"
    }
  }
}

Create Product Example

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "create_product",
  "params": {
    "productData": {
      "name": "Premium T-Shirt",
      "type": "simple",
      "regular_price": "29.99",
      "description": "Comfortable cotton t-shirt, available in various sizes.",
      "short_description": "Premium quality t-shirt.",
      "categories": [
        {
          "id": 19
        }
      ],
      "images": [
        {
          "src": "http://example.com/wp-content/uploads/2022/06/t-shirt.jpg"
        }
      ]
    }
  }
}

Product Metadata Example

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "create_product_meta",
  "params": {
    "productId": 456,
    "metaKey": "_custom_product_field",
    "metaValue": {
      "special_attribute": "value",
      "another_attribute": 42
    }
  }
}

Order Metadata Example

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "create_order_meta",
  "params": {
    "orderId": 789,
    "metaKey": "_delivery_instructions",
    "metaValue": "Leave package at the back door"
  }
}

Requirements

  • Node.js 20.0.0 or higher
  • WordPress site with WooCommerce plugin installed
  • WooCommerce REST API keys

License

MIT License - See LICENSE file for details

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured