woo-mcp-server
Model Context Protocol (MCP) server for WooCommerce — 80+ tools, resources, and prompts for AI agents
Versions
1.1.0latest1.0.0Tools 87
woo_products_list Lists products from the WooCommerce catalog with pagination. Default detail=summary uses a slim `_fields` projection (no HTML descriptions/images) to cut tokens and memory — use detail=full or woo_products_get when you need the complete product. Returns product objects plus pagination metadata.
woo_products_get Retrieves a single product by its numeric ID, including prices, stock, images, categories, and attributes. Use this when you already know the product ID and need full details for editing, display, or diagnostics.
woo_products_create Creates a new product in the WooCommerce catalog. Use this to add simple or variable products with pricing, descriptions, categories, and images. Returns the created product object including the new ID.
woo_products_update Updates an existing product by ID. Only fields you provide are changed (partial update). Use this for price changes, stock adjustments, description edits, or status transitions without re-sending the full product.
woo_products_delete Deletes a product by ID. By default force=true permanently deletes; set force=false to move to trash when supported. Use this for catalog cleanup or removing test products.
woo_products_search Searches products by a free-text query matching name, SKU, and description fields. Default detail=summary uses a slim `_fields` projection. Returns paginated matching products.
woo_products_batch Performs multiple product create, update, and/or delete operations in a single API call. Use this for bulk catalog imports, mass price updates, or multi-item cleanup to reduce round-trips and respect rate limits.
woo_categories_list Lists product categories with pagination and optional parent filter. Use this to understand catalog taxonomy, build navigation, or assign products to the correct category IDs.
woo_categories_get Retrieves a single product category by ID. Use this when you need the full category record including description, image, and product count.
woo_categories_create Creates a new product category, optionally nested under a parent. Use this when structuring or expanding the store catalog taxonomy.
woo_categories_update Updates an existing product category by ID. Use this to rename categories, fix slugs, re-parent nodes, or update descriptions for SEO.
woo_categories_delete Deletes a product category by ID. Products are not deleted; they simply lose this category assignment. force=true permanently deletes.
woo_settings_groups_list Lists WooCommerce settings groups (general, products, tax, shipping, checkout, account, email, advanced, etc.). Use this to discover which setting groups exist before reading or updating options.
woo_settings_list Lists all setting options within a settings group (e.g. general, products). Use this to inspect current store configuration values such as currency, country, or tax display.
woo_settings_get Retrieves a single setting option by group and option ID. Use this when you need the current value and metadata (type, default, options) for one configuration key.
woo_settings_update Updates a single setting option value. Use this carefully for configuration changes such as currency, store address, or tax display — always confirm intent with the user for production stores.
woo_orders_list Lists store orders with pagination and optional filters for status, date range, and customer. Default detail=summary uses a slim `_fields` projection to cut tokens/memory — use detail=full or woo_orders_get for complete addresses/meta. Returns order objects plus pagination metadata.
woo_orders_get Retrieves a single order by ID including line items, billing/shipping, totals, and status history fields. Use this for support tickets, fulfillment, or when an order number is already known.
woo_orders_create Creates a new order with optional customer, line items, addresses, and payment fields. Use this to place orders on behalf of customers, seed test data, or automate checkout-like flows from an agent.
woo_orders_update Updates an existing order by ID (status changes, notes, addresses, line items). Use this for fulfillment transitions (e.g. processing → completed), address corrections, or partial refunds workflows that only need field updates.
woo_orders_delete Deletes an order by ID. force=true permanently deletes; force=false moves to trash. Use carefully for test cleanup or GDPR-style removal when appropriate policies allow.
woo_orders_notes_list Lists notes attached to a specific order (customer-visible and private staff notes). Use this when reviewing order history, support context, or audit trails for a single order.
woo_orders_notes_create Adds a note to an order. Set customer_note=true to show it to the customer (email may be triggered by WC). Use this to document support actions or notify customers of fulfillment updates.
woo_orders_batch Runs multiple order create/update/delete operations in one batch request. Use this for bulk status updates (e.g. mark many orders completed) or mass test-data management while minimizing API calls.
woo_orders_refunds_list Lists refunds issued against a specific order. Use this for support lookups, finance reconciliation, or before creating another partial refund so you do not double-refund.
woo_orders_refunds_get Retrieves a single refund by ID for an order, including amount, reason, and line items. Use when you have a refund ID from a list or webhook.
woo_orders_refunds_create Creates a full or partial refund on an order. Prefer amount for simple money refunds; use line_items for item-level restocks. api_refund=true attempts payment gateway refund when supported. Use carefully — this mutates order money and may email the customer.
woo_orders_refunds_delete Deletes a refund record from an order. force=true is required by WooCommerce for permanent delete. Use mainly for test cleanup; production finance policies often disallow removing refund history.
woo_tax_rates_list Lists configured tax rates with pagination and optional filters. Use this to audit regional tax setup or find rate IDs before updates.
woo_tax_rates_get Retrieves a single tax rate by ID. Use this when you need the full rate record including location and class details.
woo_tax_rates_create Creates a new tax rate for a location and optional tax class. Use this when expanding into new regions or adding reduced/zero rates.
woo_tax_rates_update Updates an existing tax rate by ID. Use this when tax legislation changes or location matching needs correction.
woo_tax_rates_delete Deletes a tax rate by ID. Use this to remove obsolete regional rates. force=true permanently deletes.
woo_tax_classes_list Lists tax classes (standard, reduced-rate, zero-rate, and custom). Use this when assigning tax classes to products or configuring class-specific rates.
woo_tax_classes_get Retrieves a tax class by slug. Use this to confirm a class exists before assigning it to products or rates.
woo_reports_sales Fetches the WooCommerce sales report for a period or custom date range, including totals, averages, and order counts. Use this for revenue dashboards, period comparisons, or answering “how much did we sell last month?”.
woo_reports_top_sellers Returns the top-selling products for a period with quantities sold. Use this to identify bestsellers, plan restocks, or build merchandising recommendations.
woo_reports_orders_totals Returns order counts grouped by status (pending, processing, completed, etc.). Use this for operational dashboards and backlog visibility without listing every order.
woo_reports_customers_totals Returns customer counts by role or segment totals exposed by WooCommerce. Use this for a quick snapshot of the customer base size without paging through all customer records.
woo_reports_products_totals Returns product counts by type (simple, variable, etc.). Use this for catalog composition analysis and inventory planning at a high level.
woo_reports_coupons_totals Returns coupon usage/count totals from the reports API. Use this to measure promotion adoption without listing every coupon record.
woo_reports_reviews_totals Returns product review counts by status (approved, hold, spam, etc.). Use this to monitor moderation backlog and review health.
woo_system_status_get Fetches WooCommerce system status (environment, database, plugins, theme, security). Default detail=summary returns a slim health report suitable for agents; use detail=full for the complete payload (often 50–200KB+). Optionally pass `sections` to include only specific top-level keys.
woo_system_status_tools_list Lists available WooCommerce system tools (clear transients, recount terms, regenerate thumbnails, etc.). Use this to discover maintenance actions before running one.
woo_system_status_tools_run Runs a WooCommerce system maintenance tool by ID (e.g. clear_transients). Use this only when the user explicitly requests a maintenance action — these can be destructive or slow on large stores.
woo_usage_stats Returns token/usage statistics for this MCP server session: estimated tool-response tokens and any model (LLM) usage reports recorded by a host bridge (e.g. Anthropic). Use after multi-step agent work to audit cost.
woo_model_usage_record Records LLM token usage from a host model call (Anthropic/OpenAI-style) into the MCP session so woo_usage_stats can report it. Call this after each model round when your agent host tracks usage outside the MCP server.
woo_tags_list Lists product tags with pagination. Use this to discover available tags for filtering, merchandising, or assigning to products during catalog work.
woo_tags_get Retrieves a single product tag by ID. Use this when you need the full tag record including slug and product count.
woo_tags_create Creates a new product tag. Use this when introducing a new merchandising or SEO label that products can share.
woo_tags_update Updates an existing product tag by ID. Use this to rename tags or improve descriptions for storefront filters and SEO.
woo_tags_delete Deletes a product tag by ID. Products keep their other tags; only this association is removed. force=true permanently deletes.
woo_customers_list Lists WooCommerce customers with pagination. Default detail=summary uses a slim `_fields` projection (no full address blobs) to cut tokens/memory — use detail=full or woo_customers_get for complete profiles. Returns customer objects and pagination metadata.
woo_customers_get Retrieves a single customer by ID including billing/shipping and meta. Use this when you have a customer ID from an order or search and need full account details.
woo_customers_create Creates a new customer account with email and optional name, addresses, and password. Use this to onboard users from an agent workflow or seed demo accounts.
woo_customers_update Updates an existing customer by ID. Use this to fix addresses, names, or billing details without recreating the account.
woo_customers_delete Deletes a customer by ID. force=true is required by WooCommerce for permanent deletion. Use for GDPR erasure or test cleanup only when authorized.
woo_customers_search Searches customers by free-text query (name, email, username). Default detail=summary uses a slim `_fields` projection. Use this when the user provides a partial name or email and you need matching accounts before acting on orders.
woo_shipping_zones_list Lists all shipping zones configured in the store. Use this to understand regional shipping setup before inspecting methods or diagnosing delivery options.
woo_shipping_zones_get Retrieves a single shipping zone by ID including name and order. Use this when drilling into a specific zone from the list.
woo_shipping_zone_methods_list Lists shipping methods enabled for a given zone (flat rate, free shipping, local pickup, etc.). Use this to audit delivery options available to customers in that region.
woo_shipping_methods_list Lists all registered shipping method types available in WooCommerce (not zone assignments). Use this to see which method plugins/classes the store supports.
woo_shipping_classes_list Lists product shipping classes used to group products for rate calculation. Use this when assigning classes to products or configuring class-based flat rates.
woo_shipping_classes_get Retrieves a single product shipping class by ID. Use this to inspect slug, description, and count for a specific class.
woo_reviews_list Lists product reviews with optional filters for product, status, and reviewer. Use this for moderation queues, reputation checks, or finding unapproved reviews before publish.
woo_reviews_get Retrieves a single product review by ID including rating, content, and approval status. Use when moderating a specific review from a list or notification.
woo_reviews_create Creates a product review (rating 1–5). Useful for seeding demo data or importing historical reviews. Prefer status=hold for moderation workflows.
woo_reviews_update Updates a product review (status, rating, text). Use this to approve/spam reviews or correct imported content.
woo_reviews_delete Deletes a product review by ID. force=true permanently deletes; otherwise moves to trash when supported.
woo_webhooks_list Lists configured WooCommerce webhooks with pagination. Use this to audit integrations, find broken delivery URLs, or inventory event subscriptions.
woo_webhooks_get Retrieves a single webhook by ID including topic, delivery URL, and status. Use this when diagnosing a specific integration endpoint.
woo_webhooks_create Creates a new webhook subscription for a topic and delivery URL. Use this to connect the store to external systems (ERP, Slack, custom services) on order/product/customer events.
woo_webhooks_update Updates an existing webhook by ID (status, URL, topic, name). Use this to pause/resume integrations or rotate delivery endpoints.
woo_webhooks_delete Deletes a webhook by ID. Use this to remove obsolete integrations or stop noisy event delivery. force=true permanently deletes.
woo_payments_list Lists all payment gateways registered in the store (enabled and disabled). Use this to audit checkout payment options or find gateway IDs before updating settings.
woo_payments_get Retrieves a single payment gateway by its ID string (e.g. bacs, cod, stripe). Use this to inspect title, enabled flag, and settings fields for a specific method.
woo_payments_update Updates payment gateway settings such as enabled state, title, or method-specific options. Use this carefully when enabling/disabling checkout methods or fixing gateway configuration from an agent workflow.
woo_coupons_list Lists discount coupons with pagination. Use this to audit active promotions, find a code by browsing, or report on campaign inventory.
woo_coupons_get Retrieves a single coupon by ID including amount, limits, and expiry. Use this when you already have the coupon ID from a list or order coupon_lines.
woo_coupons_create Creates a new coupon code with discount type, amount, and optional limits. Use this to launch promotions or generate one-off support discounts.
woo_coupons_update Updates an existing coupon by ID (amount, expiry, usage limits, etc.). Use this to extend campaigns or disable a code without deleting history.
woo_coupons_delete Deletes a coupon by ID. Use this to retire obsolete or leaked promo codes. force=true permanently removes the coupon.
woo_variations_list Lists variations for a parent variable product with pagination. Use this when managing size/color SKUs, checking per-variant stock, or syncing variant pricing.
woo_variations_get Retrieves a single product variation by parent product ID and variation ID. Use this for detailed variant pricing, stock, or attribute inspection.
woo_variations_create Creates a new variation under a variable product. Use this when adding a new size/color combination with its own price and stock.
woo_variations_update Updates an existing product variation. Use this for variant price changes, stock adjustments, or attribute corrections.
woo_variations_delete Deletes a product variation by ID. Use this to remove obsolete size/color SKUs from a variable product. force=true permanently deletes.
Permissions 2
network medium env_vars low