by @automattic (woocommerce)
Official WooCommerce native Model Context Protocol (MCP) integration (currently in Developer Preview) enabling AI assistants and tools to interact directly with WooCommerce stores through standardized protocol. Built on WordPress Abilities API and WordPress MCP Adapter, exposing WooCommerce functionality as discoverable tools with authentication and permissions. Provides 9 tools across 2 categories: Product Management (list_products, get_product, create_product, update_product, delete_product with filtering, pagination, detailed info) and Order Management (list_orders, get_order, create_order, update_order with filtering, pagination, detailed info). Architecture: Multi-layered proxy approach - AI Client communicates via MCP protocol over stdio/JSON-RPC to Local MCP Proxy (@automattic/mcp-wordpress-remote running on developer machine as Node.js process, converts MCP to HTTP requests, handles auth header injection), which connects to Remote WordPress MCP Server (mcp-adapter plugin running within WordPress, exposes /wp-json/woocommerce/mcp endpoint, processes HTTP to MCP messages, manages tool discovery/execution), which uses WordPress Abilities System (standardized capability registration/execution, abstraction layer between MCP tools and operations) to execute WooCommerce Core operations (REST API calls or direct operations). Authentication: WooCommerce REST API keys in X-MCP-API-Key header format (ck_key:cs_secret), create keys at WooCommerce → Settings → Advanced → REST API with read, write, or read_write permissions. HTTPS required by default (override for local dev with woocommerce_mcp_allow_insecure_transport filter). Permission validation: read for GET, write for POST/PUT/PATCH/DELETE, read_write for all. Server endpoint: https://yourstore.com/wp-json/woocommerce/mcp. Enable via feature flag: woocommerce_features filter or wp option update woocommerce_feature_mcp_integration_enabled yes. Connect Claude Code: claude mcp add woocommerce_mcp --env WP_API_URL=... --env CUSTOM_HEADERS with X-MCP-API-Key -- npx -y @automattic/mcp-wordpress-remote@latest. Manual MCP client config: mcpServers with stdio type, npx command, @automattic/mcp-wordpress-remote args, env with WP_API_URL and CUSTOM_HEADERS. Core components: MCPAdapterProvider.php (manages MCP server init, feature flag checking, ability filtering, namespace management), AbilitiesRegistry.php (centralizes WooCommerce ability registration, bridges WordPress Abilities API with WooCommerce operations, enables ability discovery), AbilitiesRestBridge.php (current preview implementation mapping REST operations to WordPress abilities, explicit ability definitions with schemas for products/orders), WooCommerceRestTransport.php (handles WooCommerce API key auth, enforces HTTPS requirements, validates permissions based on API key scope). Implementation approach: Developer preview uses REST endpoint bridging for quick functionality exposure while leveraging proven REST controllers, but WordPress Abilities API is flexible for direct DB operations, custom logic, or external integrations. Extensibility: Third-party plugins register custom abilities via abilities_api_init action with wp_register_ability (label, description, execute_callback, permission_callback, input_schema, output_schema), include in WooCommerce MCP server via woocommerce_mcp_include_ability filter. Example: WooCommerce MCP Ability Demo Plugin shows custom ability registration, schema definition, permission handling, integration patterns. Data Privacy Warning: Order and customer operations expose PII (names, emails, addresses, payment details), ensure compliance with data protection regulations, use least-privilege API scopes, rotate/revoke keys regularly, follow data retention/handling policies. Troubleshooting: MCP server not available (verify mcp_integration feature flag, check adapter loaded, review WooCommerce logs source woocommerce-mcp), Authentication failures (confirm key format consumer_key:consumer_secret, verify permissions, ensure HTTPS or explicitly allowed), Ability not found (confirm abilities registered during abilities_api_init, check namespace inclusion filter, verify callbacks accessible). Check WooCommerce → Status → Logs for debugging. Important considerations: Developer Preview status (may change), current REST endpoint bridging implementation, potential breaking changes in future, thorough production testing required, evolving WordPress Abilities API and MCP adapter. Proxy architecture commonly used in MCP to bridge protocol differences and handle auth, future may explore direct MCP protocol support or alternative connections. Resources: WordPress Abilities API Repository, WordPress MCP Adapter Repository, WooCommerce MCP Demo Plugin, Model Context Protocol Specification, WooCommerce REST API Documentation. Use cases: AI-assisted store management, automated product updates, order processing with natural language, inventory management, customer service automation. Built by Automattic, integrated into WooCommerce core, maintained with WooCommerce releases.
This server provides the following tools for AI assistants:
List products in WooCommerce store with filtering and pagination. Query products by category, status, price range, or other attributes. Returns product list with basic info for browsing and searching inventory
Retrieve detailed product information from WooCommerce store by product ID. Returns complete product data including title, description, pricing, inventory, images, categories, attributes, and variations
Create a new product in WooCommerce store. Set product name, description, regular price, sale price, SKU, stock quantity, categories, tags, images, and other product attributes. Returns created product details
Update existing product in WooCommerce store by product ID. Modify product details including pricing, inventory, descriptions, images, categories, or any product attributes. Returns updated product data
Delete a product from WooCommerce store by product ID. Permanently removes product or moves to trash depending on force parameter. Use with caution as this action affects inventory
List orders in WooCommerce store with filtering and pagination. Query orders by status (pending, processing, completed, etc.), customer, date range, or other criteria. Returns order list with basic info. WARNING: Exposes customer PII (names, emails, addresses)
Retrieve detailed order information from WooCommerce store by order ID. Returns complete order data including line items, customer details, billing/shipping addresses, payment info, and order status. WARNING: Exposes customer PII and payment details
Create a new order in WooCommerce store. Set customer details, line items (products and quantities), billing/shipping addresses, payment method, and order status. Returns created order details. WARNING: Handles customer PII
Update existing order in WooCommerce store by order ID. Modify order status, line items, customer information, addresses, or other order details. Returns updated order data. WARNING: Modifies customer PII and order data