The content half is what any WordPress server does. What sets this one apart is the layer underneath it: serialization-safe search and replace, revision cleanup, table optimisation, cron triggering, direct option writes, and plugin activation deliberately routed around the core REST route because hosts often block it. Layered on top are product-specific surfaces — ACF field groups, an addressable Elementor element tree, WooCommerce orders — which is also why the site argument matters, since a call is scoped to one site id and nothing infers it for you. fulfillment_fulfill_order states in its own description that it bypasses the idempotency guard and can therefore create a duplicate ClickUp task; it is audit-logged, which is a record rather than an undo.
A WordPress administration server addressing multiple sites through one connection, with 200 tools spanning core content, plugins and themes, options, menus and widgets, custom post types and taxonomies, ACF, Elementor, WooCommerce and an order-fulfilment plugin.
- Multi-site addressing as the first constraint: list_sites returns the site ids this server manages, and every other tool takes a site argument set to one of them.
- Core content: wp_create_post, wp_update_post and wp_delete_post with the page equivalents, wp_search_posts for keyword lookup, wp_list_media and wp_update_media for titles, alt text and captions, category and tag management, and comment handling through wp_update_comment and wp_moderate_comments.
- Plugins and themes from install through update: mcp_search_plugins and mcp_install_plugin pull from the WordPress.org repository, mcp_install_plugin_zip takes a ZIP URL for GitHub releases or custom sources, mcp_update_all_plugins and mcp_update_all_themes sweep pending updates, mcp_update_core updates WordPress itself, and wp_activate_plugin routes through cvrt-mcp-endpoints to avoid the often-blocked core route.
- Maintenance that usually means a shell: mcp_search_replace does serialization-safe database replacement with a dry_run and a table filter, mcp_optimize_tables and mcp_get_tables cover table health and sizes, mcp_clean_revisions takes a keep count, mcp_clean_comments clears spam and trash, and mcp_flush_cache and mcp_flush_rewrite clear caches and permalink rules.
- Diagnostics: mcp_get_health returns the site health status and score, mcp_get_debug_info and mcp_get_php_info describe the environment, mcp_get_cron_status lists scheduled jobs, and mcp_run_cron triggers a hook by hand.
- Options and site chrome: mcp_get_option, mcp_set_option with an autoload flag and mcp_bulk_get_options for a batch; menus through mcp_create_menu, mcp_add_menu_item and mcp_assign_menu_location; widgets through mcp_add_widget, mcp_update_widget, mcp_reorder_widgets and mcp_move_widget.
- Anything that is not a post or page: mcp_list_post_types and mcp_get_post_type return the schema and counts, mcp_create_cpt_post and mcp_update_cpt_post write custom post types with meta, and mcp_list_terms, mcp_create_term and mcp_assign_terms operate on any registered taxonomy.
- ACF as values and as structure: acf_get_post_fields and acf_update_post_fields read and write field values for a post, acf_create_field_group and acf_update_field_group define the fields with their location rules, and acf_export_field_group with acf_import_field_groups moves a group between sites in ACF JSON format.
- Elementor as an addressable tree: mcp_get_elementor_build returns the container and widget tree, mcp_get_elementor_flat returns the same page as a flat list that is easier to filter, mcp_update_elementor_element merges settings into one element rather than replacing it, mcp_get_elementor_kit and mcp_update_elementor_kit hold global colours, fonts and typography, and mcp_search_elementor finds a widget, setting or text string across pages.
- WooCommerce end to end: woo_create_product with variations and attributes, woo_bulk_update_stock for a batch, woo_list_orders with woo_update_order_status and woo_add_order_note, customers and coupons, and woo_sales_report, woo_top_sellers and woo_stock_report for the numbers.
- The cvrt-order-fulfillment pipeline: fulfillment_status reports which credentials are set and when the print agent last polled, fulfillment_queue shows pending, printing, printed and failed counts with recent errors, fulfillment_reprint_job resets a job to pending, and fulfillment_fulfill_order forces a run that renders the packing slip, creates the ClickUp task and notifies Slack.
A WordPress site and an account on it, supplied as WORDPRESS_SITE_URL, WORDPRESS_USERNAME and WORDPRESS_PASSWORD. Plugin activation, deactivation and deletion go through the cvrt-mcp-endpoints plugin, and the fulfillment_* tools read and write the cvrt-order-fulfillment plugin's settings, so those plugins have to be installed on the site.
One command plus a key — npm install -g @cavort-it-systems/wordpress-mcp, then supply credentials
