{
  "markdown": "# woocommerce-mcp\n\nA small, read-only [Model Context Protocol](https://modelcontextprotocol.io) 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.\n\nBuilt and maintained by [WPPoland](https://wppoland.com/en/), a [senior WordPress developer](https://wppoland.com/en/wordpress-developer/) working with WordPress since 2006. If you need this wired into a real store stack, we build [WooCommerce ERP and API integrations](https://wppoland.com/en/woocommerce-erp-integration/) and [enterprise e-commerce architecture](https://wppoland.com/en/enterprise-solutions/) (headless, integrations, AI-ready data).\n\n## Tools\n\n| Tool | What it does | Needs WooCommerce keys |\n|------|--------------|:---:|\n| `list_products` | List / search products (name, sku, price, stock, permalink) | yes |\n| `get_product` | Full details for one product by id | yes |\n| `list_orders` | Recent orders, newest first, optional status filter | yes |\n| `sales_report` | Sales totals for a period (week / month / last_month / year) | yes |\n| `search_posts` | Search published blog posts (public WP REST API) | no |\n\nEverything is **read-only**. The server never creates, edits, or deletes anything in the store.\n\n## Install & build\n\nFrom npm (package name is scoped - the unscoped `woocommerce-mcp` name is locked on the registry):\n\n```bash\nnpm install -g @wppoland/woocommerce-mcp\n# or: npx @wppoland/woocommerce-mcp\n```\n\nFrom source:\n\n```bash\ngit clone https://github.com/wppoland/woocommerce-mcp.git\ncd woocommerce-mcp\nnpm install\nnpm run build\n```\n\n## Configure\n\nSet three environment variables:\n\n| Var | Required | Example |\n|-----|:---:|---------|\n| `WP_URL` | yes | `https://shop.example.com` |\n| `WC_CONSUMER_KEY` | for `wc_*` tools | `ck_xxx` |\n| `WC_CONSUMER_SECRET` | for `wc_*` tools | `cs_xxx` |\n\nCreate the WooCommerce keys in **WooCommerce → Settings → Advanced → REST API → Add key** with **Read** permission. `search_posts` works without keys against any public WordPress site.\n\n> The keys are sent to your own store over HTTPS as REST query auth. Use HTTPS, and give the key **Read** access only.\n\n## Use with Claude Desktop / Claude Code\n\nAdd to your MCP client config (e.g. `claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"woocommerce\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/woocommerce-mcp/dist/index.js\"],\n      \"env\": {\n        \"WP_URL\": \"https://shop.example.com\",\n        \"WC_CONSUMER_KEY\": \"ck_xxx\",\n        \"WC_CONSUMER_SECRET\": \"cs_xxx\"\n      }\n    }\n  }\n}\n```\n\nThen ask things like *\"What were last month's WooCommerce sales?\"* or *\"List the 5 most recent orders that are on hold.\"*\n\n## Docs on wppoland.com\n\n- [WooCommerce MCP open source (read-only): release and ops guide](https://wppoland.com/en/woocommerce-mcp-open-source-read-only/) - npm scope, registry, Glama, and how we ship updates without write tools\n\n## Articles (off-site)\n\nField notes published on DEV (not duplicates of wppoland.com pages):\n\n- [A read-only MCP server for WooCommerce: what AI agents actually need from a store](https://dev.to/wppolandcom/a-read-only-mcp-server-for-woocommerce-what-ai-agents-actually-need-from-a-store-3fk6)\n- [Syncing a wholesaler's API into WooCommerce without overselling or melting the server](https://dev.to/wppolandcom/syncing-a-wholesalers-api-into-woocommerce-without-overselling-or-melting-the-server-38ao)\n- [Twelve months after migrating wppoland.com from WordPress to Astro on Cloudflare Pages](https://dev.to/wppolandcom/twelve-months-after-migrating-wppolandcom-from-wordpress-to-astro-on-cloudflare-pages-11fi)\n\nShow HN: [discussion](https://news.ycombinator.com/item?id=48815903)\n\n## Verify\n\n```bash\nnpm run check   # builds, then asserts all five tools register (no network/credentials needed)\n```\n\n## Notes\n\n- Node 18+ (uses the built-in `fetch`).\n- Logs go to stderr so they never corrupt the stdio MCP protocol on stdout.\n- API errors are surfaced with the store's message; credentials are never echoed.\n\n## License\n\nMIT © [WPPoland](https://wppoland.com/en/)\n",
  "bytes": 4258,
  "sha": "f28aa0c39d2003be6f7feb1726766efd18dc36e075bfec5454101f978d9b18aa",
  "repo_slug": "wppoland/woocommerce-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_wppoland_woocommerce_mcp_21a70a43/readme"
}