Documentation
MCPify for WooCommerce documentation
Server URL for OAuth clients: https://woo.getmcpify.app/mcp. API keys use https://woo.getmcpify.app/mcp/<connection-id>. MCPify uses the WooCommerce REST API (/wc/v3) and, for pages, posts, media and menus, the WordPress REST API (/wp/v2).
Step-by-step setup guides: Claude, ChatGPT, Cursor, Codex. Ideas for what to do: use cases.
What MCPify for WooCommerce is
MCPify connects one WooCommerce store to an AI client through the Model Context Protocol. A connection decides what the client may do: read, write or delete per store area, which raw REST API requests it may send, and advanced limits such as prices, refunds, permanent deletes or customer data. Every call is checked before it reaches the store and written to the store's audit log. MCPify has no chat of its own; the AI client handles prompts and models.
Connecting a client
OAuth (Claude connectors, Claude Code, ChatGPT, Cursor, Codex with OAuth): add the server URL ending in /mcp. The client opens MCPify's sign-in page: choose Continue in WordPress admin and enter the store address (a WordPress administrator or shop manager picks the connection there), or enter a pairing code from the connection's page in the MCPify dashboard. API key (any client that sends headers): use the per-connection URL /mcp/<connection-id> with the header "Authorization: Bearer <key>". Keys are shown once; treat them like passwords.
Permissions and limits
Area permissions (read / write / delete) unlock the curated tools. Raw REST API requests are separate: each "METHOD /route" pattern must be granted explicitly, area permissions never extend to them. Advanced limits: product content, prices (needs product content too), media, customer data (off = customer tools hidden and names, addresses, email, phone and IP addresses redacted; free text such as order notes can still contain personal data), refunds with an optional cap, permanent deletes (off = trash only) and batch size. A deny list blocks requests everywhere. The store's WooCommerce REST API key limits every call as well. Skills never grant permissions.
Raw REST requests
For anything the curated tools do not cover, the store owner can grant "METHOD /route" patterns of the WooCommerce (/wc/v3) and WordPress (/wp/v2) REST APIs, e.g. "GET /wc/v3/reports*". Granted reads run through woo_rest_get, granted changes through woo_rest_request (Pro and Agency plans). The same limits apply as for curated tools: prices, refunds, permanent deletes, media, customer data and batch size. Area permissions never extend to raw requests, and a deny list blocks requests everywhere.
Pagination
Lists are paginated with page and per_page (at most 100). The result says how many items and pages there are in total; continue until the last page. One page is never proof that a list is complete.
Safe retries
Pass an idempotencyKey (UUID) to changes that accept it. Retrying with the same key and the same arguments returns the stored result instead of changing the store again; the same key with different arguments is rejected, and so is a retry while the first call is still running. If a call timed out, read the current state first. If the target value is already set, stop; otherwise plan a new change with a new key based on what you just read.
Working rules for AI clients
# Working with this WooCommerce store through MCPify
- Call get_store_info first so you know which store, currency and language you are working with.
- Read before you write: look at the current state of what you want to change.
- Ask the user before every change and show what will change. Deletes move items to the trash unless permanent deletes are allowed.
- Work in pages and say how much of a list you have covered.
- If MCPify blocks a call, explain in plain words what the connection may not do and where the store owner can allow it (MCPify dashboard › Connections › Permissions or Advanced limits). Do not try to work around a block.
- Customer data may be redacted ("[redacted]"); never guess it.
- Report problems with MCPify itself through get_support_reporting_instructions.Store areas
| Area | Key | Actions |
|---|---|---|
| Store & settings | store | read, write |
| Products & variations | products | read, write, delete |
| Categories & tags | taxonomies | read, write, delete |
| Inventory | inventory | read, write |
| Orders | orders | read, write |
| Customers | customers | read, write |
| Coupons | coupons | read, write, delete |
| Reviews | reviews | read, write, delete |
| Pages & posts | content | read, write, delete |
| Media | media | read, write, delete |
| Menus | menus | read, write |
| Shipping & taxes | shipping_tax | read |
Limits
Locks inside the allowed areas, for every tool and every raw REST request:
- Product content: Names, descriptions, categories, tags, attributes and variations of products.
- Price changes: Regular and sale prices of products and variations (needs product content). Off by default.
- Media: Product images and uploads to the media library.
- Customer data: Names, addresses, emails, phone numbers and IP addresses, and the customer tools. Off by default: redacted in every answer.
- Refunds: Creating refunds, optionally up to a highest total. Off by default.
- Permanent deletes: Deleting for good (force) and batch deletes instead of moving to the trash. Off by default.
- Largest batch: Items per batch request, at most 100.
Tool registry (70)
Generated from the server's tool registry. "always" means no area permission is needed; authentication and every other check still apply. Tools that change the store also need a plan with write access.
| Tool | Area | Needs | Description |
|---|---|---|---|
add_order_note | orders | write | Add a note to an order. |
create_category | taxonomies | write | Create a product category. |
create_coupon | coupons | write | Create a coupon code with a percentage or fixed discount and optional limits. |
create_page | content | write | Create a WordPress page. |
create_post | content | write | Create a WordPress blog post. |
create_product | products | write | Create a simple or variable product. |
create_refund | orders | write | Refund (part of) an order. |
create_tag | taxonomies | write | Create a product tag. |
create_variation | products | write | Add a variation to a variable product, e.g. |
delete_category | taxonomies | delete | Delete a product category for good (categorys have no trash). |
delete_coupon | coupons | delete | Move a coupon to the trash. |
delete_media | media | delete | Delete a file from the media library for good (media has no trash). |
delete_page | content | delete | Move a WordPress page to the trash. |
delete_post | content | delete | Move a WordPress blog post to the trash. |
delete_product | products | delete | Move a product to the trash. |
delete_review | reviews | delete | Move a review to the trash. |
delete_tag | taxonomies | delete | Delete a product tag for good (tags have no trash). |
delete_variation | products | delete | Delete a variation for good (variations have no trash). |
get_capabilities | general | always | Plan, permissions, limits and granted REST patterns of this connection. |
get_coupon | coupons | read | One coupon with all its rules (products, categories, limits). |
get_customer | customers | read | One customer account with billing and shipping address. |
get_documentation | general | always | MCPify documentation by topic: overview, connecting, permissions, raw_requests, pagination, retries. |
get_instructions | general | always | How to work safely with this WooCommerce store through MCPify. |
get_order | orders | read | One order with line items, shipping and tax lines, coupons, refunds, payment and addresses (addresses redacted unless customer data is allowed). |
get_page | content | read | One WordPress page with its content (raw and rendered). |
get_post | content | read | One blog post with its content (raw and rendered). |
get_product | products | read | One product with descriptions, images and their alt texts, attributes, variation IDs, dimensions and custom fields. |
get_sales_report | orders | read | Sales totals (gross and net sales, orders, items, tax, shipping, refunds, discounts) for a period or date range, with daily or monthly totals. |
get_settings | store | read | WooCommerce settings. |
get_skill | general | always | Step-by-step instructions of one skill, filled in with arguments. |
get_store_info | store | read | Store name, address, currency, WordPress and WooCommerce versions, active theme and plugins. |
get_support_reporting_instructions | general | always | How to report a bug or missing feature to MCPify support. |
get_top_sellers | orders | read | Best-selling products by quantity for a period or date range. |
get_variation | products | read | One variation of a variable product with all its fields. |
list_categories | taxonomies | read | Product categories with their parent, description, image and number of products. |
list_coupons | coupons | read | Coupon codes with discount type, amount, expiry and usage. |
list_customers | customers | read | Search and list customer accounts with name, email, order count and total spent. |
list_media | media | read | Files in the media library with URL, type, title and alt text. |
list_menu_items | menus | read | The items of a menu with title, link, order and parent item. |
list_menus | menus | read | Navigation menus with their locations. |
list_order_notes | orders | read | Notes on an order: private notes and notes sent to the customer. |
list_orders | orders | read | Search and list orders with status, totals, dates and line items. |
list_pages | content | read | WordPress pages with title, status, link and excerpt. |
list_posts | content | read | Blog posts with title, status, link, categories and excerpt. |
list_product_attributes | products | read | Global product attributes (e.g. |
list_products | products | read | Search and list products with price, stock and categories. |
list_refunds | orders | read | Refunds of an order with amount, reason and refunded line items. |
list_reviews | reviews | read | Product reviews with rating, text and moderation status. |
list_shipping_zones | shipping_tax | read | Shipping zones with their regions and shipping methods (flat rate, free shipping, local pickup) and costs. |
list_skills | general | always | Skills enabled for this connection. |
list_stock | inventory | read | Stock quantity, stock status, stock management and backorder setting of products. |
list_tags | taxonomies | read | Product tags with their number of products. |
list_tax_rates | shipping_tax | read | Tax classes and their tax rates by country, state and postcode. |
list_variations | products | read | The variations of a variable product with their attributes, prices and stock. |
moderate_review | reviews | write | Approve a review, put it on hold or mark it as spam. |
set_stock | inventory | write | Set the stock of a product or of one variation: stock quantity, whether WooCommerce manages stock, stock status and backorders. |
submit_support_report | general | always | Send an issue report to MCPify support. |
update_category | taxonomies | write | Rename a product category or change its slug or description or parent. |
update_coupon | coupons | write | Change a coupon's code, discount, expiry or limits. |
update_customer | customers | write | Change a customer's name, email or billing and shipping address. |
update_media | media | write | Set a media file's alt text, title, caption or description. |
update_order_status | orders | write | Change an order's status, e.g. |
update_page | content | write | Change a WordPress page's title, content, excerpt, slug, status or date. |
update_post | content | write | Change a WordPress blog post's title, content, excerpt, slug, status or date. |
update_product | products | write | Change a product's name, texts, slug, status, SKU, categories, tags, images or prices. |
update_products_batch | products | write | Change several products at once (at most 100, and at most the connection's batch size). |
update_tag | taxonomies | write | Rename a product tag or change its slug or description. |
update_variation | products | write | Change a variation's SKU, prices, status, description or image. |
woo_rest_get | raw REST | granted GET pattern | Run one granted GET request of the WooCommerce or WordPress REST API (Pro). |
woo_rest_request | raw REST | granted pattern | Run one granted POST, PUT, PATCH or DELETE request (Pro). |
Plans
Free · $0
- 1 connection
- 150 requests per month
- Read only
- Audit log for 7 days
Starter · $9.99 / month or $99.90 / year
- 1 connection
- 1,000 requests per month
- Write and delete
- Custom permissions and limits
- Audit log for 30 days
Pro · $29 / month or $290 / year
- Everything in Starter
- Unlimited connections and requests
- Skills
- Raw REST API grants
- Audit log for 12 months
Agency · $79 / month or $790 / year
- Everything in Pro
- Up to 10 stores in one workspace
- Team access for up to 10 members
- Audit log export
- Priority support
Details and the free trial: pricing.