mcpField
W
woocommerce-mcp

woocommerce-mcp

Local
github.com/wppolandBusiness & Marketing2Updated 7w ago

About woocommerce-mcp

woocommerce-mcp is a read-only MCP server for WordPress and WooCommerce stores. MCP clients can query products, orders, sales, and published posts through existing REST APIs without changing store data.

Key features

  1. 01List and search products
  2. 02Retrieve product details
  3. 03View recent orders and statuses
  4. 04Summarize sales for a period
  5. 05Search published posts

Use cases

  1. 01Check product prices, stock, or SKUs
  2. 02Review recent orders on hold
  3. 03Summarize monthly or yearly sales
  4. 04Find published WordPress articles

MCP support

The MCP server gives clients read-only access to WordPress and WooCommerce REST API queries. WooCommerce keys are needed for product, order, and sales tools.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"wppoland-woocommerce": {
"command": "npx",
"args": [
"-y",
"@wppoland/woocommerce-mcp"
],
"env": {
"WP_URL": "<WP_URL>",
"WC_CONSUMER_KEY": "<WC_CONSUMER_KEY>",
"WC_CONSUMER_SECRET": "<WC_CONSUMER_SECRET>"
}
}
}
}
Run commandnpx -y @wppoland/woocommerce-mcp
Environment variables to set
WP_URLBase URL of the WordPress / WooCommerce store (HTTPS)
WC_CONSUMER_KEYSecretWooCommerce REST API consumer key (Read permission)
WC_CONSUMER_SECRETSecretWooCommerce REST API consumer secret (Read permission)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@wppoland/woocommerce-mcp0.1.1

Tools

5

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
searchstringNoSearch term to filter products by name/sku
statusenumNoProduct status filterany | draft | pending | private | publish
per_pageintegerNoResults per page (default 10)

Details

From the project README

woocommerce-mcp

A small, read-only Model Context Protocol server for WordPress + WooCommerce. It lets Claude (or any MCP client) answer questions about a live store — products, orders, sales, and blog posts — over the official REST APIs. No writes, no plugins to install on the store: it talks to the existing WordPress/WooCommerce REST endpoints.

Built and maintained by WPPoland, a senior WordPress developer working with WordPress since 2006. If you need this wired into a real store stack, we build WooCommerce ERP and API integrations and enterprise e-commerce architecture (headless, integrations, AI-ready data).

Tools

ToolWhat it doesNeeds WooCommerce keys
list_productsList / search products (name, sku, price, stock, permalink)yes
get_productFull details for one product by idyes
list_ordersRecent orders, newest first, optional status filteryes
sales_reportSales totals for a period (week / month / last_month / year)yes
search_postsSearch published blog posts (public WP REST API)no

Everything is read-only. The server never creates, edits, or deletes anything in the store.

Install & build

From npm (package name is scoped - the unscoped woocommerce-mcp name is locked on the registry):

npm install -g @wppoland/woocommerce-mcp
# or: npx @wppoland/woocommerce-mcp

From source:

git clone https://github.com/wppoland/woocommerce-mcp.git
cd woocommerce-mcp
npm install
npm run build

Configure

Set three environment variables:

VarRequiredExample
WP_URLyeshttps://shop.example.com
WC_CONSUMER_KEYfor wc_* toolsck_xxx
WC_CONSUMER_SECRETfor wc_* toolscs_xxx

Create the WooCommerce keys in WooCommerce → Settings → Advanced → REST API → Add key with Read permission. search_posts works without keys against any public WordPress site.

The keys are sent to your own store over HTTPS as REST query auth. Use HTTPS, and give the key Read access only.

Use with Claude Desktop / Claude Code

Add to your MCP client config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "woocommerce": {
      "command": "node",
      "args": ["/absolute/path/to/woocommerce-mcp/dist/index.js"],
      "env": {
        "WP_URL": "https://shop.example.com",
        "WC_CONSUMER_KEY": "ck_xxx",
        "WC_CONSUMER_SECRET": "cs_xxx"
      }
    }
  }
}

Then ask things like "What were last month's WooCommerce sales?" or "List the 5 most recent orders that are on hold."

Docs on wppoland.com

Articles (off-site)

Field notes published on DEV (not duplicates of wppoland.com pages):

Show HN: discussion

Verify

npm run check   # builds, then asserts all five tools register (no network/credentials needed)

Notes

  • Node 18+ (uses the built-in fetch).
  • Logs go to stderr so they never corrupt the stdio MCP protocol on stdout.
  • API errors are surfaced with the store's message; credentials are never echoed.

License

MIT © WPPoland

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.