Back to Browse

Woocommerce MCP Server

Developer ToolsModerate5.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Read-only MCP server for WordPress + WooCommerce products, orders, sales, and posts.

About

Read-only MCP server for WordPress + WooCommerce products, orders, sales, and posts.

Security Report

5.2
Moderate5.2Moderate Risk

A well-architected read-only MCP server for WooCommerce with proper authentication, input validation, and secure credential handling. The codebase demonstrates good security practices: credentials are loaded at call time (not import time), API errors are surfaced safely without echoing secrets, and all operations are read-only by design. Minor code quality observations do not materially impact security. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue.

4 files analyzed · 8 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Base URL of the WordPress / WooCommerce store (HTTPS)Optional

Environment variable: WP_URL

WooCommerce REST API consumer key (Read permission)Required

Environment variable: WC_CONSUMER_KEY

WooCommerce REST API consumer secret (Read permission)Required

Environment variable: WC_CONSUMER_SECRET

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-wppoland-woocommerce-mcp": {
      "env": {
        "WP_URL": "your-wp-url-here",
        "WC_CONSUMER_KEY": "your-wc-consumer-key-here",
        "WC_CONSUMER_SECRET": "your-wc-consumer-secret-here"
      },
      "args": [
        "-y",
        "@wppoland/woocommerce-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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

Reviews

No reviews yet

Be the first to review this server!