{"slug": "show-hn-a-read-only-mcp-server-for-woocommerce", "title": "Show HN: A read-only MCP server for WooCommerce", "summary": "WPPoland released a read-only Model Context Protocol server for WooCommerce that allows AI assistants like Claude to query live store data—products, orders, sales, and blog posts—via existing REST APIs without requiring plugins or write access. The open-source tool requires Node 18+ and WooCommerce API keys with read permissions, enabling natural language questions about store operations.", "body_md": "A 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/) — senior WordPress & WooCommerce engineering. 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| Tool | What it does | Needs WooCommerce keys |\n|---|---|---|\n`list_products` |\nList / search products (name, sku, price, stock, permalink) | yes |\n`get_product` |\nFull details for one product by id | yes |\n`list_orders` |\nRecent orders, newest first, optional status filter | yes |\n`sales_report` |\nSales totals for a period (week / month / last_month / year) | yes |\n`search_posts` |\nSearch 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```\ngit clone https://github.com/wppoland/woocommerce-mcp.git\ncd woocommerce-mcp\nnpm install\nnpm run build\n```\n\nSet three environment variables:\n\n| Var | Required | Example |\n|---|---|---|\n`WP_URL` |\nyes | `https://shop.example.com` |\n`WC_CONSUMER_KEY` |\nfor `wc_*` tools |\n`ck_xxx` |\n`WC_CONSUMER_SECRET` |\nfor `wc_*` tools |\n`cs_xxx` |\n\nCreate the WooCommerce keys in **WooCommerce → Settings → Advanced → REST API → Add key** with **Read** permission. `search_posts`\n\nworks without keys against any public WordPress site.\n\nThe keys are sent to your own store over HTTPS as REST query auth. Use HTTPS, and give the key\n\nReadaccess only.\n\nAdd to your MCP client config (e.g. `claude_desktop_config.json`\n\n):\n\n```\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```\nnpm run check   # builds, then asserts all five tools register (no network/credentials needed)\n```\n\n- Node 18+ (uses the built-in\n`fetch`\n\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\nMIT © [WPPoland](https://wppoland.com/en/)", "url": "https://wpnews.pro/news/show-hn-a-read-only-mcp-server-for-woocommerce", "canonical_source": "https://github.com/wppoland/woocommerce-mcp", "published_at": "2026-07-07 10:33:32+00:00", "updated_at": "2026-07-07 11:00:52.189715+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "artificial-intelligence"], "entities": ["WPPoland", "WooCommerce", "WordPress", "Claude", "Model Context Protocol", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/show-hn-a-read-only-mcp-server-for-woocommerce", "markdown": "https://wpnews.pro/news/show-hn-a-read-only-mcp-server-for-woocommerce.md", "text": "https://wpnews.pro/news/show-hn-a-read-only-mcp-server-for-woocommerce.txt", "jsonld": "https://wpnews.pro/news/show-hn-a-read-only-mcp-server-for-woocommerce.jsonld"}}