WordPress + WooCommerce MCP Server
A comprehensive Model Context Protocol (MCP) server for interacting with WordPress and WooCommerce REST APIs. This server provides tools for managing all aspects of a WordPress site and WooCommerce store.
Features
WordPress REST API Support
- Posts: Create, read, update, delete posts with full metadata support
- Pages: Manage WordPress pages including hierarchical structures
- Users: User management with role-based access control
- Categories & Tags: Taxonomy management for content organization
- Comments: Comment moderation and management
- Media: Media library management and file operations
- Menus: Navigation menu access and management
- Settings: Site settings configuration
- Search: Content search across all post types
WooCommerce REST API Support
- Products: Complete product management including variations, categories, and tags
- Orders: Order processing, status updates, and order notes
- Customers: Customer account management and data
- Coupons: Discount code creation and management
- Reports: Sales analytics and business intelligence
- Reviews: Product review management
- Tax Management: Tax classes and rates configuration
- Shipping: Shipping zones and methods setup
- Payment Gateways: Payment method configuration
- System Status: Store health monitoring and diagnostic tools
- Settings: Store configuration management
- Webhooks: Event-driven integrations
Configuration
This MCP requires three configuration parameters:
wordpressUrl: Your WordPress site URL (e.g.,https://yourdomain.com)username: Your WordPress usernameapplicationPassword: WordPress application password (not regular password)
Setting up WordPress Application Password
- Go to your WordPress admin dashboard
- Navigate to Users → Profile
- Scroll down to "Application Passwords"
- Enter a name for your application (e.g., "MCP Server")
- Click "Add New Application Password"
- Copy the generated password and use it as
applicationPassword
Available Tools
WordPress Tools (wp_*)
- Post management:
wp_get_posts,wp_create_post,wp_update_post,wp_delete_post - Page management:
wp_get_pages,wp_create_page,wp_update_page,wp_delete_page - User management:
wp_get_users,wp_create_user,wp_update_user,wp_delete_user - Category management:
wp_get_categories,wp_create_category,wp_update_category,wp_delete_category - Tag management:
wp_get_tags,wp_create_tag,wp_update_tag,wp_delete_tag - Comment management:
wp_get_comments,wp_create_comment,wp_update_comment,wp_delete_comment - Media management:
wp_get_media,wp_get_media_item,wp_update_media_item,wp_delete_media_item - Menu access:
wp_get_menus,wp_get_menu - Settings:
wp_get_settings,wp_update_settings - Search:
wp_search
WooCommerce Tools (wc_*)
- Product management:
wc_get_products,wc_create_product,wc_update_product,wc_delete_product,wc_batch_update_products - Product variations:
wc_get_product_variations,wc_create_product_variation, etc. - Product categories:
wc_get_product_categories,wc_create_product_category, etc. - Product tags:
wc_get_product_tags,wc_create_product_tag, etc. - Order management:
wc_get_orders,wc_create_order,wc_update_order,wc_delete_order,wc_batch_update_orders - Order notes:
wc_get_order_notes,wc_create_order_note,wc_delete_order_note - Customer management:
wc_get_customers,wc_create_customer,wc_update_customer,wc_delete_customer - Coupon management:
wc_get_coupons,wc_create_coupon,wc_update_coupon,wc_delete_coupon - Reports:
wc_get_sales_report,wc_get_top_sellers_report, etc. - Product reviews:
wc_get_product_reviews,wc_create_product_review, etc. - Tax management:
wc_get_tax_classes,wc_get_tax_rates, etc. - Shipping:
wc_get_shipping_zones,wc_get_shipping_zone_methods, etc. - Payment gateways:
wc_get_payment_gateways,wc_update_payment_gateway - System status:
wc_get_system_status,wc_run_system_status_tool - Settings:
wc_get_settings,wc_update_setting_option, etc. - Webhooks:
wc_get_webhooks,wc_create_webhook, etc.
Example Usage
Creating a WordPress Post
{
"tool": "wp_create_post",
"arguments": {
"title": "My New Blog Post",
"content": "This is the content of my blog post.",
"status": "publish",
"categories": [1, 2],
"tags": [3, 4]
}
}
