WordPress MCP
Lightweight WordPress MCP server - 42 tools, token-optimized (95% smaller responses)
Connector by cvrt-jh · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/cvrt-jh-wordpress-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 146 read · 110 write · 38 delete · 20 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 314
Read from the source code; the running server may list different tools.
Read 146 · Look things up without changing anything.
acf_get_field_groupacf_get_post_fieldacf_get_post_fieldsacf_list_field_groupsfields_get_definitionfields_get_location_valuesfields_get_schemafields_get_settingsfields_list_definitionsfields_list_typesfields_statusfort_job_get
Show 134 more tools
fort_logs_readfulfillment_get_settingsfulfillment_statuslegal_consent_log_getlegal_consent_log_statslegal_get_accessibilitylegal_get_accessibility_reportlegal_get_consentlegal_get_documentlegal_get_factslegal_get_generatorlegal_get_generator_librarylegal_get_pagelegal_get_settingslegal_get_shop_withdrawallegal_get_sociallegal_get_social_moduleslegal_get_themelegal_list_documentslegal_list_withdrawal_requestslegal_statuslist_sitesmcp_bulk_get_optionsmcp_check_plugin_updatesmcp_check_updatesmcp_get_action_schedulermcp_get_audit_logmcp_get_cron_statusmcp_get_debug_infomcp_get_elementor_buildmcp_get_elementor_conditionsmcp_get_elementor_elementmcp_get_elementor_flatmcp_get_elementor_kitmcp_get_elementor_page_settingsmcp_get_healthmcp_get_mediamcp_get_media_statsmcp_get_menumcp_get_menu_locationsmcp_get_optionmcp_get_php_infomcp_get_plugins_healthmcp_get_post_typemcp_get_sidebar_widgetsmcp_get_system_infomcp_get_tablesmcp_get_taxonomymcp_get_usermcp_get_user_metamcp_get_versionmcp_get_widgetmcp_list_cpt_postsmcp_list_elementor_templatesmcp_list_mediamcp_list_menusmcp_list_optionsmcp_list_post_typesmcp_list_rolesmcp_list_sidebarsmcp_list_taxonomiesmcp_list_termsmcp_list_usersmcp_list_widget_typesmcp_scan_uploadsmcp_search_elementormcp_search_pluginsmcp_search_replacemcp_search_themesseo_get_post_seoseo_get_redirectseo_get_settingsseo_get_term_seoseo_keyword_checkseo_list_monitor_logseo_list_posts_seoseo_list_redirectsseo_sitemap_statusseo_statusstripe_get_accountstripe_get_settingsstripe_list_chargesstripe_list_payment_method_configsstripe_list_refundsstripe_list_webhookswoo_gateway_statuswoo_get_couponwoo_get_customerwoo_get_customer_orderswoo_get_orderwoo_get_order_noteswoo_get_productwoo_get_product_metawoo_helper_get_emailswoo_helper_get_invoice_orderwoo_helper_get_invoiceswoo_helper_get_settingswoo_helper_get_stripewoo_helper_statuswoo_helper_stripe_statuswoo_list_attribute_termswoo_list_attributeswoo_list_categorieswoo_list_couponswoo_list_customerswoo_list_orderswoo_list_productswoo_list_tagswoo_list_variationswoo_sales_reportwoo_stock_reportwoo_top_sellerswp_get_active_themewp_get_commentwp_get_mediawp_get_namespaceswp_get_pagewp_get_pluginwp_get_postwp_get_settingswp_get_themewp_get_userwp_list_categorieswp_list_commentswp_list_mediawp_list_pageswp_list_pluginswp_list_postswp_list_tagswp_list_themeswp_list_userswp_mewp_search_postswp_site_info
Write 110 · Create, change, send or run things.
acf_create_field_groupacf_import_field_groupsacf_update_field_groupacf_update_post_fieldacf_update_post_fieldsfields_create_definitionfields_sync_definitionfields_update_definitionfields_update_settingsfort_backup_createfort_backup_listfulfillment_fulfill_order
Show 98 more tools
fulfillment_update_checkfulfillment_update_settingslegal_add_sectionlegal_put_accessibilitylegal_put_consentlegal_put_documentlegal_put_factslegal_put_generatorlegal_put_generator_librarylegal_put_shop_withdrawallegal_put_sociallegal_put_social_moduleslegal_put_themelegal_restore_generatorlegal_update_sectionlegal_update_settingsmcp_add_menu_itemmcp_add_widgetmcp_assign_menu_locationmcp_assign_termsmcp_create_cpt_postmcp_create_menumcp_create_termmcp_create_usermcp_install_pluginmcp_install_plugin_zipmcp_install_thememcp_install_theme_zipmcp_move_widgetmcp_optimize_tablesmcp_reorder_widgetsmcp_run_action_schedulermcp_run_cronmcp_set_optionmcp_sideload_mediamcp_update_all_pluginsmcp_update_all_themesmcp_update_coremcp_update_cpt_postmcp_update_elementor_elementmcp_update_elementor_kitmcp_update_elementor_page_settingsmcp_update_mediamcp_update_menumcp_update_menu_itemmcp_update_pluginmcp_update_termmcp_update_thememcp_update_usermcp_update_user_metamcp_update_widgetseo_bulk_update_posts_seoseo_create_redirectseo_create_redirect_from_logseo_import_csvseo_import_migrateseo_import_redirectsseo_import_settingsseo_update_redirectseo_update_settingsstripe_set_payment_methodwoo_add_order_notewoo_bulk_update_stockwoo_create_attributewoo_create_attribute_termwoo_create_categorywoo_create_couponwoo_create_customerwoo_create_productwoo_create_variationwoo_helper_create_invoicewoo_helper_put_invoiceswoo_helper_send_test_emailwoo_helper_update_emailswoo_helper_update_settingswoo_helper_update_stripewoo_update_categorywoo_update_couponwoo_update_customerwoo_update_order_statuswoo_update_productwoo_update_product_metawoo_update_variationwp_create_categorywp_create_commentwp_create_pagewp_create_postwp_create_tagwp_create_userwp_moderate_commentswp_update_categorywp_update_commentwp_update_mediawp_update_pagewp_update_postwp_update_settingswp_update_tagwp_update_user
Delete 38 · Delete, drop, revoke or wipe things.
acf_delete_field_groupfields_delete_definitionfort_cache_purgefulfillment_reprint_joblegal_delete_sectionlegal_reset_accessibility_reportmcp_bulk_delete_mediamcp_clean_commentsmcp_clean_revisionsmcp_delete_cpt_postmcp_delete_mediamcp_delete_menu
Show 26 more tools
mcp_delete_menu_itemmcp_delete_optionmcp_delete_termmcp_delete_thememcp_delete_usermcp_delete_widgetmcp_flush_cachemcp_flush_rewriteseo_clear_monitor_logseo_delete_post_seoseo_delete_redirectseo_delete_term_seoseo_update_post_seoseo_update_term_seowoo_delete_categorywoo_delete_couponwoo_delete_productwoo_delete_variationwp_delete_categorywp_delete_commentwp_delete_mediawp_delete_pagewp_delete_pluginwp_delete_postwp_delete_tagwp_delete_user
Not yet classified 20 · We could not tell from the name and description.
acf_export_field_groupfulfillment_queuelegal_consent_log_exportlegal_link_pagelegal_render_documentmcp_change_user_rolemcp_regenerate_thumbnailsseo_export_csvseo_export_redirectsseo_export_settingsseo_get_post_analysisseo_indexnow_ping
Show 8 more tools
seo_sitemap_pingstripe_recreate_webhookwoo_helper_invoices_refreshwoo_helper_invoices_test_connectionwoo_helper_list_invoice_orderswp_activate_pluginwp_activate_themewp_deactivate_plugin
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
WORDPRESS_PASSWORD
Other settings (environment variables or headers).
WORDPRESS_SITE_URLWORDPRESS_USERNAME
Network hosts it talks to 2
api.bearfort.io· found in codegithub.com· found in code
Files it touches
- Any path the agent passes to its tools
Tools (314)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
acf_create_field_groupCreate an ACF field group with fields (active, shown in REST, labels on top)
acf_delete_field_groupDelete an ACF field group and its fields (stored post values are kept)
acf_export_field_groupExport a field group in ACF JSON format (for import/backup)
acf_get_field_groupGet ACF field group with full field configuration
acf_get_post_fieldGet a single ACF field value for a post
acf_get_post_fieldsGet all ACF field values for a post (name => { value, type, label })
acf_import_field_groupsImport ACF field groups from JSON export format (each needs key, title and fields). The endpoint does not look up an existing group by key, so importing a key that already exists can create a duplicate; use acf_update_field_group for existing groups.
acf_list_field_groupsList all ACF field groups with their fields (key, name, label, type)
acf_update_field_groupUpdate an existing ACF field group. Only the given group settings change. The endpoint re-imports the whole group through acf_import_field_group, which deletes stored fields whose key is not in the imported list, so pass the COMPLETE fields list (fields without a key get field_ + md5(group key + name), matching ones made by acf_create_field_group).
acf_update_post_fieldUpdate a single ACF field value for a post (updated is false when the value did not change)
acf_update_post_fieldsUpdate multiple ACF field values for a post (field names are run through sanitize_key, so use lowercase names or field keys)
fields_create_definitionCreate a definition (field group, post type, taxonomy or options page). The body is the definition itself; omitted keys take the kind's defaults, and a missing key is generated (group_..., post_type_..., taxonomy_..., ui_options_page_...). Fails with 409 when the key exists, 400 when it does not validate. Returns the stored definition (201).
fields_delete_definitionDelete a database definition. Stored field values stay in post/term/user meta and options.
fields_get_definitionGet one definition by kind and key.
fields_get_location_valuesValues usable in field-group location rules: post types, page templates, taxonomies, options pages, user forms.
Show 299 more tools
fields_get_schemaEditor form schema of one definition kind (fields and their options). Read it before fields_create_definition / fields_update_definition.
fields_get_settingsGet cvrt-fields settings. The GitHub update token is returned as { set: boolean }, never raw; also the JSON sync path and whether it is writable.
fields_list_definitionsList all definitions of one kind from every source (database, JSON, PHP) with their _source.
fields_list_typesList the available field types (text, date_picker, image, relationship, ...) with their settings.
fields_statuscvrt-fields status: plugin version, definition counts per kind, whether ACF / Elementor / Elementor Pro are active, JSON sync state and JSON read error.
fields_sync_definitionCopy a JSON-sourced definition into the database. Only JSON definitions can be synced.
fields_update_definitionReplace a definition as a whole: omitted keys fall back to the kind's defaults (it is not a merge, so send the full definition from fields_get_definition with your changes). The key always comes from the path; a key in the body is ignored. 404 when it does not exist, 409 cvrt_fields_defined_in_code for a PHP definition, 409 cvrt_fields_json_shadowed when a read-only JSON file still overrides the database copy. Returns the stored definition.
fields_update_settingsUpdate cvrt-fields settings. github_token is write-only and stored encrypted; a blank or omitted token keeps the stored one. clear_github_token: true deletes it. Returns the settings as fields_get_settings does (token as { set }).
fort_backup_createStart a backup of the site's whole fort (files + database) on Bearfort now, e.g. before risky changes. Returns { jobId, status }; follow it with fort_job_get. Audit-logged by Bearfort. Needs BEARFORT_API_KEY.
fort_backup_listList the fort's backup generations on Bearfort (newest first, as the worker reports them). Restore is not available here: use the Bearfort dashboard. Needs BEARFORT_API_KEY.
fort_cache_purgePurge the fort's nginx page cache (through Bearfort's cache-purge service, the same request WordPress itself makes on content changes), flush the fort's own object-cache keys and reset OPcache. details says 'Page cache: purged', or 'requested' if the purger had not run yet (it runs every 2 s). Needs BEARFORT_API_KEY and Bearfort fleet 2026-10-08.3+ (before that the page cache was not actually purged).
fort_job_getStatus of a Bearfort job on this fort (backup, restore, migration, ...). with_log:true adds the job's log text. Needs BEARFORT_API_KEY.
fort_logs_readRead the fort's server logs: access (nginx), error (nginx), php (PHP errors) or wp-cron (its systemd journal). Filters run on the worker: lines = last N matching lines (1-2000, default 200), grep = keep lines containing this text (case-insensitive literal, no regex), since = drop lines older than this ISO time with zone (stack-trace lines stay with their entry). A missing log is an error, not an empty answer. Secret URL parameters (token=, key=, pass=, ...) and credential shapes are masked. Needs BEARFORT_API_KEY (Bearfort fleet 2026-10-08.3+ for the filters).
fulfillment_fulfill_orderManually (force) run fulfillment for an order: renders the packing slip, creates the ClickUp task, notifies Slack. Bypasses the idempotency guard, so it can create a duplicate ClickUp task. Audit-logged.
fulfillment_get_settingsGet the cvrt-order-fulfillment plugin settings. Secret values are returned as { set: boolean }, never raw.
fulfillment_queuePrint-queue state: status counts (pending/printing/printed/failed) and the 20 most recent jobs (id, order_id, type, status, attempts, error, created_at, printed_at).
fulfillment_reprint_jobReset a print job to pending so the agent prints it again. Returns { ok: true }; 404 { ok: false, error } for an unknown job.
fulfillment_statusPipeline health: which credentials are set, ClickUp list/assignee, when the print agent last polled, and print-queue counts.
fulfillment_update_checkForce an immediate plugin-update check (bypassing PUC's throttle) and report { available, current, remote, error } (plus throttled: true when answered from the cached check, about once per 30s). Read-only: it installs nothing. Apply an update from wp-admin or with mcp_update_plugin (cvrt-mcp-endpoints); the plugin deliberately has no self-update route.
fulfillment_update_settingsUpdate cvrt-order-fulfillment settings. Only provide the keys you want to change; omitted keys keep their stored value. Secrets are write-only: a blank/omitted secret keeps the stored value (never wipes it), the literal "__clear" deletes it. Returns the settings as fulfillment_get_settings does (secrets as { set }).
legal_add_sectionAppend a section to a legal document (creates the document if it is still empty). On a generated document the section is kept across regenerations. Returns { slug }, the resolved slug, which is what shortcodes address.
legal_consent_log_exportExport the raw consent decision log as CSV for a day range (same optional from/to rules as legal_consent_log_stats). Returns { filename, csv }; the csv is the full file text, ready to write out as-is. Requires manage_options. Logging itself stays off until legal_put_consent's log_enabled is set, which should only happen after the Datenschutz document has an 'einwilligungsnachweis' section describing it. Requires cvrt-legal 0.5.0+.
legal_consent_log_getGet every logged consent decision for one consent_id (the banner's own record of what it asked and what the visitor chose). Requires manage_options. Logging itself stays off until legal_put_consent's log_enabled is set, which should only happen after the Datenschutz document has an 'einwilligungsnachweis' section describing it. Requires cvrt-legal 0.5.0+.
legal_consent_log_statsAggregate consent decision counts by action and banner_version over a day range [from, to) (both optional, default the last 30 days including today; at most 366 days). Returns { from, to, rows: [{ action, banner_version, count }] }. Requires manage_options. Logging itself stays off until legal_put_consent's log_enabled is set, which should only happen after the Datenschutz document has an 'einwilligungsnachweis' section describing it. Requires cvrt-legal 0.5.0+.
legal_delete_sectionDelete a section from a legal document.
legal_get_accessibilityGet the self-hosted accessibility tool's settings (enabled, position, colour, tools, statement link) and the tools on offer. Requires cvrt-legal 0.8.0+.
legal_get_accessibility_reportGet the markup repair report: totals per rule (fixed / open) and per page what was repaired and what is still open, i.e. what the site's own markup must fix. Each page is recorded at most once a day, newest 100 pages. Requires cvrt-legal 0.9.0+.
legal_get_consentGet the cookie consent banner configuration: enabled, gtm_id, loader_url, ga4_id, ahrefs_key, ads_id, gtm_services { analytics, marketing }, privacy_page, imprint_page, log_enabled, backdrop. Change it with legal_put_consent.
legal_get_documentGet one legal document including its ordered sections.
legal_get_factsGet the Impressum fields (company, address, register, VAT id, ...) the generator fills into both Impressum and Datenschutz, plus which required ones are missing. Requires cvrt-legal 0.7.0+.
legal_get_generatorGet a generated document's state: active, library loaded, the selection (ticked modules, options, kept custom sections) and the sections it writes. Requires cvrt-legal 0.7.0+.
legal_get_generator_libraryGet the imported text library of a generated document (the texts come from websites/bin/legal-v4/privacy, the plugin ships none). Requires cvrt-legal 0.7.0+.
legal_get_pageGet which page a legal document is linked to: linked, page_id, the page's post status, and ok (linked AND published). A required document only counts as reachable, and legal_status only turns compliant, when ok is true. Requires cvrt-legal 0.4.2+.
legal_get_settingsGet cvrt-legal settings. Secret values are returned as { set: boolean }, never raw.
legal_get_shop_withdrawalWithdrawal function settings (Widerrufsbutton, § 356a BGB / § 13a FAGG) of cvrt-legal 0.12.1+ on a WooCommerce shop: whether WooCommerce's own withdrawal feature is on, the prescribed labels, single email, item picker, footer link, My Account menu, order actions, which emails carry the link, withdrawal period. 404 when WooCommerce is not active.
legal_get_socialGet the social-media section configurator: networks on offer, which are switched on with their profile URLs, and the rendered preview. Requires cvrt-legal 0.6.0+.
legal_get_social_modulesGet the imported social-media text modules. Requires cvrt-legal 0.6.0+.
legal_get_themeGet the banner theme: preset name, CSS custom property overrides and the rendered CSS.
legal_link_pageLink a legal document to its WordPress page (post type page only; posts and products are refused). The rendered document is written into the page's post_content at once (mirrored: true, false while the document is empty) and on every later save, so a deactivated plugin still leaves the text on the page. Linking impressum/datenschutz also fills the consent banner's imprint/privacy link if that is still unset (banner_linked). page_id 0 unlinks. Requires cvrt-legal 0.4.2+.
legal_list_documentsList all legal document types with their required/filled state and linked page.
legal_list_withdrawal_requestsWithdrawal requests customers submitted through the shop's withdrawal function, newest first.
legal_put_accessibilityConfigure the self-hosted accessibility tool (replaces the Ally widget; no third-party request, needs no consent). Merges: omitted keys keep their value. Switching enabled rewrites a generated Datenschutz (section Barrierefreiheits-Werkzeug). Returns the stored settings. Requires cvrt-legal 0.8.0+.
legal_put_consentConfigure the consent banner and every tracking credential the site uses. Merges: only the keys given change, an omitted key keeps its stored value, an empty string clears an id. Nothing is handed to the browser until the visitor accepts - this plugin owns GTM, GA4, Google Ads and Ahrefs Web Analytics precisely because it owns the gate. Search-engine verification meta tags are NOT here; those belong to cvrt-seo-manager because they fire no request. Returns { saved: true }; read the result back with legal_get_consent.
legal_put_documentReplace a whole legal document (every section not listed is gone). Sections are ordered; omit slug to derive it from the heading. The linked page's post_content is rewritten at once. The plugin ships no legal prose - it stores and renders what it is given. Returns { saved: true }.
legal_put_factsSet Impressum fields. Merges: only the keys given change; an empty string clears a field. An unknown key, a value outside a select field's options or an invalid email is refused (400); a checkbox field stores "ja" or empty. Needs an imported Impressum library (409 otherwise). Regenerates every generated document and returns the new state as legal_get_facts does. Requires cvrt-legal 0.7.0+.
legal_put_generatorTick or untick modules and options, then regenerate the document (the Datenschutz tab over the API). Merges into the stored selection; unknown module or option keys are refused (400). Needs the library imported (409), and for datenschutz the required Impressum facts filled (409). Returns the new state as legal_get_generator does. Sections tied to a switch (Einwilligungsnachweis, Barrierefreiheits-Werkzeug) follow that switch and are not ticked here. Requires cvrt-legal 0.7.0+.
legal_put_generator_libraryImport the text library of a generated document and regenerate it if active. Give the library inline or as library_file, a local .json path (e.g. websites/bin/legal-v4/privacy/library-datenschutz.json). A library using the 'accessibility' flag needs cvrt-legal 0.8.0+ on the site first.
legal_put_shop_withdrawalChange the withdrawal function settings; only the keys given change, an invalid value is a 400 and nothing is written. core_feature switches WooCommerce's own withdrawal feature (409 below WooCommerce 11.1). The two labels are legally prescribed: change them only to the wording the law requires.
legal_put_socialSwitch social networks and set their profile URLs (plain https only), then rewrite the Datenschutz social-media section; with nothing on, the section is removed. NOT a merge: every network missing from networks is switched off, so always send the full set you want on. Needs the modules imported and a Datenschutz document (409 otherwise). Returns the new state as legal_get_social does. Requires cvrt-legal 0.6.0+.
legal_put_social_modulesImport the social-media text modules, inline or as modules_file (websites/bin/legal-v4/social-media/library.json). Careful: importing while nothing is ticked removes an existing section; call legal_put_social with the current networks right after. Requires cvrt-legal 0.6.0+.
legal_put_themeSet the banner theme preset and/or individual CSS custom properties. All or nothing: one invalid name or value rejects the whole request (400, names in data.invalid). Returns { saved: true }.
legal_render_documentRender a document to normalized HTML without saving. Useful to preview the heading hierarchy and slug ids before writing.
legal_reset_accessibility_reportClear the markup repair report, e.g. after fixing the source, so new page views record afresh. Requires cvrt-legal 0.9.0+.
legal_restore_generatorRestore a generated document to how it was before the generator first wrote it, and stop generating it. Requires cvrt-legal 0.7.0+.
legal_statusLegal document status for a site: which documents are required, filled and published, plus a single compliant flag. Impressum and Datenschutz are always required; AGB and Widerruf become required when WooCommerce is active.
legal_update_sectionUpdate a section. The slug is never rewritten, so shortcodes already placed on a page keep working when a heading is renamed.
legal_update_settingsUpdate cvrt-legal settings. github_token (PUC auto-updates on a private repo) is write-only: a blank value keeps the stored one. required_override forces a document required or not ({agb: false}). Returns the settings as legal_get_settings does (secrets as { set }).
list_sitesList the WordPress sites this server can manage. Every other tool requires a `site` argument set to one of these ids.
mcp_add_menu_itemAdd an item to a menu. A custom link needs url; a page/post or term item needs object_type post_type/taxonomy plus object and object_id of an existing object. Only the given fields are sent; the plugin defaults the rest (object_type custom, parent 0, appended at the end). target, classes, xfn, attr_title, description and status are set afterwards with mcp_update_menu_item.
mcp_add_widgetAdd a widget to a sidebar
mcp_assign_menu_locationAssign a menu to a registered theme location (see mcp_get_menu_locations); menu_id 0 unassigns
mcp_assign_termsAssign taxonomy terms to a post. Terms can be IDs, slugs or names; slugs/names that match no term are skipped silently.
mcp_bulk_delete_mediaDelete multiple media items at once. Returns the deleted and failed IDs.
mcp_bulk_get_optionsGet multiple options at once. A missing option comes back as false. Secret-looking values are returned as "[masked]".
mcp_change_user_roleChange a user's role (replaces all current roles)
mcp_check_plugin_updatesCheck for plugin updates now: runs every Plugin Update Checker instance (GitHub-released plugins such as the cvrt-* and wp-woo-pdf-builder; their own check otherwise runs every 12 h) and a fresh wp.org check. plugin limits the PUC run to one plugin. Returns puc_checked (slugs) and updates [{plugin, name, current, new_version, source: puc|wporg}]. Audit-logged. cvrt-mcp-endpoints 1.16.0+.
mcp_check_updatesForce a check for WordPress core, plugin, and theme updates. Returns { core: new core version or null, plugins: count, themes: count }.
mcp_clean_commentsPermanently delete all spam and trashed comments
mcp_clean_revisionsDelete old post revisions, keeping the newest `keep` per post
mcp_create_cpt_postCreate a post of any post type. Meta keys are run through sanitize_key (lowercase a-z0-9_-).
mcp_create_menuCreate a new navigation menu
mcp_create_termCreate a term in any taxonomy
mcp_create_userCreate a new WordPress user. Returns { id, username, created }; the password is never echoed.
mcp_delete_cpt_postDelete a post of any post type (moves to trash unless force is true)
mcp_delete_mediaDelete a media item and its files
mcp_delete_menuDelete a navigation menu
mcp_delete_menu_itemDelete a menu item. Its children move up to its own parent; the response lists them as reparented.
mcp_delete_optionDelete an option (404 if it does not exist)
mcp_delete_termDelete a term from any taxonomy (permanent; terms have no trash)
mcp_delete_themeDelete an inactive theme (the active theme is refused)
mcp_delete_userDelete a user. WITHOUT reassign, all of the user's posts and links are deleted too. The current API user cannot delete itself.
mcp_delete_widgetRemove a widget from its sidebar
mcp_flush_cacheFlush the WordPress object cache and delete all transients and site transients. Does NOT purge a page cache in front of WordPress (Bearfort forts: the nginx page cache is purged by bearfort-cache.php on content changes; a manual purge goes through the Bearfort API, not this tool).
mcp_flush_rewriteFlush permalink rewrite rules
mcp_get_action_schedulerAction Scheduler queue (WooCommerce emails, webhooks, PDF jobs): counts per status, past_due pending actions and the 10 most recent failures with their last log message (secret-masked). available:false when Action Scheduler is not loaded. cvrt-mcp-endpoints 1.16.0+.
mcp_get_audit_logAudit trail of state-changing MCP calls on this site (cron runs, Action Scheduler runs, update checks), newest first: time, action, user, context (secret-masked). The site keeps the newest 200. cvrt-mcp-endpoints 1.16.0+.
mcp_get_cron_statusGet WordPress cron status: schedules and the next 50 events (total_events counts all)
mcp_get_debug_infoGet debug information: WordPress settings, server, database (name, prefix, charset), paths and debug constants
mcp_get_elementor_buildGet full Elementor page build (containers, widgets, settings tree) with element and widget counts
mcp_get_elementor_conditionsGet theme builder display conditions for an Elementor template (Elementor Pro)
mcp_get_elementor_elementGet a single Elementor element with full settings, its parent id and child ids
mcp_get_elementor_flatGet flat list of all Elementor elements on a page (id, elType, widgetType, parent_id, depth, settings); easier to search/filter than the tree
mcp_get_elementor_kitGet Elementor global kit settings (colors, fonts, typography, spacing, button defaults)
mcp_get_elementor_page_settingsGet Elementor page-level settings (hide title, custom CSS, etc.). Fails if the post is not built with Elementor.
mcp_get_healthGet a quick site health status and score (100 minus 20 per issue: WP_DEBUG on, no HTTPS, pending updates)
mcp_get_mediaGet detailed media item info (caption, description, filename, filesize, image sizes, attached_to)
mcp_get_media_statsGet media library statistics (counts by MIME type, total size, upload path/url, max upload size)
mcp_get_menuGet a menu with all its items. Each item has id, title, url, type, object, object_id, parent, position, target, classes, xfn, attr_title, description, status.
mcp_get_menu_locationsGet registered menu locations and the menu assigned to each
mcp_get_optionGet a single option value. Secret-looking values are returned as "[masked]". masked: true says the value (or part of it) was hidden.
mcp_get_php_infoGet PHP configuration details
mcp_get_plugins_healthGet plugin health status and available updates
mcp_get_post_typeGet detailed schema for a post type (supports, taxonomies, counts per status, labels)
mcp_get_sidebar_widgetsGet all widgets in a sidebar
mcp_get_system_infoGet comprehensive system information
mcp_get_tablesList the site's database tables (current table prefix only) with data/index size in MB and approximate row count, largest first
mcp_get_taxonomyGet taxonomy details (labels, description, hierarchical, post_types, term count)
mcp_get_userGet user details by ID (profile fields, roles, capabilities, registered, posts_count)
mcp_get_user_metaGet all meta data for a user (keys starting with _ are hidden; single values are flattened)
mcp_get_versionGet WordPress version and update status
mcp_get_widgetGet a widget's details
mcp_install_pluginInstall a plugin from WordPress.org by slug. If activation fails the plugin stays installed and activation_error says why.
mcp_install_plugin_zipInstall a plugin from a ZIP URL (GitHub releases, custom sources). The URL must end in .zip or be a github.com / api.github.com release asset URL (private repo assets supported with a token).
mcp_install_themeInstall a theme from WordPress.org by slug
mcp_install_theme_zipInstall a theme from a public ZIP URL (must end in .zip). Unlike mcp_install_plugin_zip there is no GitHub token support: private release assets cannot be installed this way.
mcp_list_cpt_postsList posts of any post type (id, title, slug, status, date, modified, author, excerpt, parent) with paging totals
mcp_list_elementor_templatesList Elementor library templates (headers, footers, singles, loop items, popups) with theme builder conditions; at most 100, ordered by title
mcp_list_mediaList media library items (id, title, url, mime_type, date; images also alt, width, height) with paging totals
mcp_list_menusList all navigation menus (id, name, slug, item count, assigned locations)
mcp_list_optionsList WordPress options (name ascending) with an optional name prefix filter. Secret-looking values are returned as "[masked]". Note: autoload is only true for legacy 'yes' rows (WP 6.6+ stores 'on'/'auto', reported as false).
mcp_list_post_typesList all public post types (name, labels, hierarchical, has_archive, rest_base, supports, taxonomies, published count)
mcp_list_rolesList all available WordPress user roles (slug, name, capabilities, user count)
mcp_list_sidebarsList all registered sidebars
mcp_list_taxonomiesList all public taxonomies (name, labels, hierarchical, post_types, rest_base, term count)
mcp_list_termsList terms for any taxonomy (categories, tags, custom taxonomies): id, name, slug, description, parent, count
mcp_list_usersList WordPress users (id, username, email, display_name, first_name, last_name, roles, registered) with role/search filters. Returns { users, total, page }.
mcp_list_widget_typesList all available widget types
mcp_move_widgetMove a widget to a different sidebar
mcp_optimize_tablesRun OPTIMIZE TABLE on every table with the site's table prefix
mcp_regenerate_thumbnailsRegenerate image thumbnails for a media item (images only)
mcp_reorder_widgetsSet the widget order of a sidebar. Pass the COMPLETE list: widgets of the sidebar left out are removed from it (their settings stay, but they end up in no sidebar, not even Inactive Widgets).
mcp_run_action_schedulerRun due (past-due pending) Action Scheduler actions now through Action Scheduler's own runner, oldest first. Optional hook/group filters. Returns processed, failed, remaining. 501 when Action Scheduler is not active. Audit-logged. cvrt-mcp-endpoints 1.16.0+.
mcp_run_cronRun the earliest scheduled event of a cron hook now, like `wp cron event run`: a recurring event moves to its next slot, a single event is unscheduled, then the hook fires (404 if not scheduled). Returns next_run_timestamp (null for a single event). Audit-logged. cvrt-mcp-endpoints 1.16.0+; older versions leave the event due.
mcp_scan_uploadsScan the uploads directory for executable files (.php, .phtml, .phar, .pht, .phps, .shtml, .cgi, also double extensions like x.php.jpg). Read-only; symlinks are not followed. Each finding has path, size, modified, sha256, benign and reason (a code-free 'Silence is golden' index.php, or a known plugin file such as a Borlabs Cookie compatibility patch, checked by active plugin + path + the file's own guard; cvrt-mcp-endpoints 1.16.1+). Caps: 500 findings, 200000 files (truncated says so). cvrt-mcp-endpoints 1.16.0+.
mcp_search_elementorSearch published Elementor-built posts for widgets, settings, or text in string setting values (case-insensitive)
mcp_search_pluginsSearch the WordPress.org plugin repository. Returns { total, plugins: [{ name, slug, version, author, rating, active_installs, description }] }.
mcp_search_replaceSearch and replace a string in every text column of the site's tables (current table prefix only). Plain SQL REPLACE: it is NOT serialization-safe, so a replacement of different length corrupts serialized PHP values (options, postmeta, widgets). Both strings pass through sanitize_text_field on the server (tags and line breaks are stripped). total_changes and tables count matching rows per column, not occurrences.
mcp_search_themesSearch the WordPress.org theme repository. Returns { total, themes: [{ name, slug, version, author, rating, description }] }.
mcp_set_optionCreate or update an option (any option, no allow-list: be careful with siteurl, home, active_plugins etc.). A value containing "[masked]" is refused, since writing back a masked read would destroy the stored secret. The echoed value is masked like reads. Note: created is always false (cvrt-mcp-endpoints 1.14.2 checks it after writing).
mcp_sideload_mediaUpload media to WordPress from a public external URL (private/internal hosts are refused)
mcp_update_all_pluginsUpdate all plugins with available updates. cvrt-mcp-endpoints itself is never bulk-updated and is listed under skipped.
mcp_update_all_themesUpdate all themes with available updates
mcp_update_coreUpdate WordPress to the latest version. Returns { updated: false, message } when already up to date.
mcp_update_cpt_postUpdate a post of any post type. Only the given fields change; meta keys are merged (update_post_meta per key).
mcp_update_elementor_elementUpdate settings on a single Elementor element (merge by default). With widget_type, replaces the widget in place (same id, position and parent), e.g. turn a V4 placeholder into a V3 html widget; the type must be registered with Elementor. Give settings, widget_type, or both.
mcp_update_elementor_kitUpdate Elementor global kit settings (colors, fonts, typography). Top-level keys are merged; a nested value such as system_colors replaces the old one whole, so send the complete list. Returns the merged settings.
mcp_update_elementor_page_settingsUpdate Elementor page-level settings. Top-level keys are merged into the stored settings (a nested value replaces the old one whole); returns the merged settings.
mcp_update_mediaUpdate media item metadata (title, alt text, caption, description). Only the given fields change.
mcp_update_menuRename a navigation menu (the menu's description and parent are kept)
mcp_update_menu_itemPartially update a menu item: only the given fields are sent and changed, every other stored field (type, linked object, url, ...) is kept (cvrt-mcp-endpoints 1.14.2+). The linked object (type/object/object_id) cannot be changed here: delete the item and add a new one. The response lists the changed fields.
mcp_update_pluginUpdate a single plugin to the latest version. refresh:true first runs a fresh update check for it (wp.org and Plugin Update Checker / GitHub releases), so a just-released update is seen without waiting 12 h. A plugin that was active before is reactivated after the file swap (reactivated / reactivate_error report it). updated:false means already up to date; a failed download or unpack is an error (502, cvrt-mcp-endpoints 1.16.0+). cvrt-mcp-endpoints itself is refused (409): update it via mcp_install_plugin_zip or wp-admin.
mcp_update_termUpdate a term in any taxonomy. Only the given fields change.
mcp_update_themeUpdate a single theme to latest version
mcp_update_userUpdate an existing user. Only the given fields change. Use mcp_change_user_role for the role.
mcp_update_user_metaSet meta data for a user (merged per key; keys are run through sanitize_key, so lowercase a-z0-9_-)
mcp_update_widgetUpdate a widget's settings. The given keys are merged into the stored settings; keys not given are kept.
seo_bulk_update_posts_seoBulk update SEO meta of up to 100 posts. Each item is { id, ...fields } with the same fields as seo_update_post_seo (null deletes a field, omitted fields are kept). Returns { updated, errors: [{ index, id?, message }] }.
seo_clear_monitor_logDelete 404 monitor log entries: one entry by id, or every entry last seen within from..to (inclusive dates, either bound optional). With no argument the WHOLE log is cleared. Returns { deleted, success }.
seo_create_redirectCreate a redirect. Rejects invalid regex, unknown status codes and redirect loops/chains deeper than 5. Returns the redirect.
seo_create_redirect_from_logCreate a 301 redirect from a 404 monitor log entry's URL to to_url. Fails with 409 when a redirect from that URL already exists.
seo_delete_post_seoDelete (reset) every SEO meta field of a post. Returns { deleted: true }.
seo_delete_redirectDelete a redirect by id. Returns { deleted: true }.
seo_delete_term_seoDelete (reset) every SEO meta field of a taxonomy term. Returns { deleted: true }.
seo_export_csvExport post SEO meta as a CSV string (post_id, post_title, url, seo_title, seo_description, focus_keywords, seo_score).
seo_export_redirectsExport every redirect as a CSV string (source, target, type, is_regex, enabled).
seo_export_settingsExport every csm_* option as a flat { csm_name: value } map. Secrets are masked as { set: boolean }.
seo_get_post_analysisRun the SEO content analysis for a post: { score, checks }.
seo_get_post_seoGet the SEO meta for a post (every field, null when unset; plus language and translations when Polylang is active).
seo_get_redirectGet a redirect by id.
seo_get_settingsGet cvrt-seo-manager settings grouped by section (titles, robots, social, knowledge_graph, schema, verification, indexnow, search_console, advanced, sitemap, breadcrumbs, images, links, local_seo, monitor_404, woocommerce). Secret values are returned as { set: boolean }, never raw.
seo_get_term_seoGet the SEO meta for a taxonomy term: { title, description, robots, og_image, schema } (null when unset).
seo_import_csvImport post SEO meta from CSV in the seo_export_csv format (header row, then one row per post with at least 7 columns; export first and edit that). Give the CSV inline (csv) or as a local .csv path (csv_file). It is sent as the raw text/csv request body. Returns { success, errors } row counts.
seo_import_migrateMigrate from RankMath or Yoast. Default: per-post/term meta and redirects are migrated (WRITES immediately, dry_run is not honoured here) and { posts_migrated, terms_migrated, redirects_migrated, errors } is returned. With settings=true (RankMath only) ONLY the global titles/meta/sitemap/robots settings are ported instead, and dry_run=true reports { written, skipped, dry_run } without writing.
seo_import_redirectsImport redirects from CSV in the seo_export_redirects format (header row source,target,type[,is_regex],enabled; the is_regex column is detected from the header). Give the CSV inline (csv) or as a local .csv path (csv_file). It is sent as the raw text/csv request body.
seo_import_settingsImport settings from a flat { csm_name: value } map (the seo_export_settings shape). Only csm_* keys are written; secrets (csm_indexnow_key, csm_gsc_service_account, csm_github_token) are never imported. Returns the number of options written.
seo_indexnow_pingSubmit URLs to IndexNow (one request per URL). Returns [{ url, ok, error? }]; ok means the site dispatched the ping (non-blocking), a failing URL does not stop the others.
seo_keyword_checkCheck whether a focus keyword is already used by another post (case-insensitive). Returns { unique, posts: [{ id, title }] }.
seo_list_monitor_logList the 404 monitor log: { items: [{ id, url, hits, first_seen, last_seen, ... }], total, pages }.
seo_list_posts_seoList SEO meta of published posts, newest ID first: [{ id, title, url, seo, language?, translations? }].
seo_list_redirectsList redirects, newest first: { items: [{ id, from_url, to_url, type, is_regex, hits, enabled, created_at, updated_at }], total, pages }.
seo_sitemap_pingSubmit the sitemap to Google Search Console (needs the search_console settings) and return the status Search Console reports. The old Google/Bing ping URLs are switched off.
seo_sitemap_statusGet sitemap status: { sitemap_url, post_types, taxonomies, total_urls, search_console? }.
seo_statusGet cvrt-seo-manager status: { version, configured, dependencies: { php, wordpress } }.
seo_update_post_seoUpdate the SEO meta for a post (partial: only the fields you give change; null deletes a field). Purges the post's page cache. Returns the post's full SEO meta.
seo_update_redirectUpdate a redirect (partial: omitted fields keep their stored value). Returns the redirect.
seo_update_settingsUpdate cvrt-seo-manager settings (partial: only the keys you send change; unknown keys are ignored). Send keys flat ({ title_separator: '|' }) or grouped ({ titles: { title_separator: '|' } }); keys are the option names without the csm_ prefix. Returns the full settings (GET shape, secrets masked). Groups and keys: titles: title_separator, title_home, desc_home, title_post, desc_post, title_page, desc_page, title_product, desc_product, title_category, title_tag, title_author, title_search, title_404 (templates, tokens like %title% %sep% %sitename%). robots: default_robots (text); booleans noin…
seo_update_term_seoUpdate the SEO meta for a taxonomy term (partial; null deletes a field). Returns the term's full SEO meta.
stripe_get_accountThe Stripe account behind the gateway: country, default currency, charges/payouts enabled, details submitted, requirements (currently_due, past_due, disabled_reason).
stripe_get_settingsWooCommerce Stripe Gateway settings, secrets masked, plus the active mode (live/test).
stripe_list_chargesRecent Stripe charges: id, amount, currency, status, created, paid/refunded, payment method type, outcome, failure code/message, WooCommerce order_id. No customer personal data or card details.
stripe_list_payment_method_configsStripe payment method configurations: per configuration every payment method with available, preference (what was chosen) and value (what is in effect).
stripe_list_refundsRecent Stripe refunds: id, amount, currency, status, created, charge, reason, WooCommerce order_id. Read-only; refunds are not created here.
stripe_list_webhooksWebhook endpoints of the Stripe account: id, url, status, api_version, number of events; configured:true marks the endpoint that delivers to this site's gateway URL.
stripe_recreate_webhookRecreate this site's Stripe webhook with the gateway's own routine: a new endpoint is created first, then older endpoints for this site's URL are deleted, and the new signing secret is stored on the site (never returned). Use when stripe_list_webhooks shows no enabled configured endpoint. Needs confirm:true; audit-logged.
stripe_set_payment_methodTurn one payment method of a Stripe payment method configuration on or off (display preference). The method must exist in that configuration (see stripe_list_payment_method_configs). Needs confirm:true; audit-logged.
woo_add_order_noteAdd a note to an order
woo_bulk_update_stockBulk update product stock; per product only the given fields change
woo_create_attributeCreate a global product attribute (taxonomy pa_{slug})
woo_create_attribute_termCreate a term for a global attribute
woo_create_categoryCreate a product category
woo_create_couponCreate a coupon
woo_create_customerCreate a customer
woo_create_productCreate a WooCommerce product
woo_create_variationCreate a variation of a variable product. Note: wp-pilot-pro 1.1.0 declares `attributes` as a list and rejects this map with 400 until the plugin declares it as an object
woo_delete_categoryDelete a product category
woo_delete_couponDelete a coupon permanently
woo_delete_productDelete a WooCommerce product (to trash unless force)
woo_delete_variationDelete a product variation permanently
woo_gateway_statusWooCommerce payment gateways for a customer country: id, title, enabled, available (offered at checkout, WooCommerce's own check for an empty cart, so minimum-total gateways show unavailable), plus cvrt-woo-helper's Stripe status (express checkout, where Stripe.js loads) when that plugin is active. cvrt-mcp-endpoints 1.17.0+.
woo_get_couponGet coupon details
woo_get_customerGet customer details (incl. billing and shipping address)
woo_get_customer_ordersGet a customer's latest 20 orders plus total spent and order count
woo_get_orderGet WooCommerce order details (payment, billing, shipping, line items, totals)
woo_get_order_notesGet order notes
woo_get_productGet WooCommerce product details (descriptions, stock, tags, images, attributes, dates)
woo_get_product_metaGet all product meta data plus _regular_price, _sale_price, _price, _stock, _stock_status, _sku
woo_helper_create_invoiceDESTRUCTIVE, IRREVERSIBLE: creates a REAL invoice for this order in the live sevDesk/Lexware ledger. An invoice there cannot be deleted, only cancelled with a cancellation invoice. Refused with 409 while dry-run is on. Check woo_helper_get_invoice_order (preview) first. Requires confirm:true.
woo_helper_get_emailsWooCommerce email look managed by cvrt-woo-helper 0.2.0+: logo (id, url, warning for unsafe formats), logo width, colours, footer text, product images, certificate link once, plus the environment (WooCommerce version, email template improved/classic/block_editor, PDF builder).
woo_helper_get_invoice_orderInvoice state of one order: status, invoice number, error, attempts, has_pdf, the dry-run request preview, and credit notes.
woo_helper_get_invoicesInvoice settings of cvrt-woo-helper 0.4.0+ (sevDesk / Lexware Office): settings, API keys per provider as { set, constant } (never the key), the cached provider lists (contact persons, templates, layouts, ...), whether invoicing is active, and order counts per invoice status.
woo_helper_get_settingscvrt-woo-helper settings (secrets as { set }, never raw).
woo_helper_get_stripeThe Stripe express-checkout settings cvrt-woo-helper manages: express checkout on/off, button locations per type and what they mean per page, and whether Stripe.js loads only on the checkout (scripts_checkout_only, so it does not load before consent on product pages).
woo_helper_invoices_refreshReload the provider's lists (contact persons, templates, letter papers, payment methods, units, print layouts, payment conditions) into the settings cache. Read-only at the provider.
woo_helper_invoices_test_connectionTest the invoice provider connection (read-only GETs: company, tax type, small-business status).
woo_helper_list_invoice_ordersOrders by invoice status: done, dry_run, queued, retry or failed.
woo_helper_put_invoicesChange cvrt-woo-helper invoice settings; only the keys given change, an invalid value is a 400 and nothing is written. api_keys is WRITE-ONLY (a blank key keeps the stored one) and is never returned; clear_api_keys deletes keys. dry_run stays on until explicitly switched off: with it off, paid orders create REAL invoices in the live ledger.
woo_helper_send_test_emailSENDS A REAL EMAIL: a WooCommerce order-email preview to `to`. settings (same keys as woo_helper_update_emails) are applied to this one email only and NOT saved, to try a look before saving it. Rate limited (30 s per user, 10 per hour per site; 429). Needs WooCommerce 9.6+ (409) and cvrt-woo-helper 0.2.0+.
woo_helper_statuscvrt-woo-helper status: plugin version, WooCommerce and Stripe Gateway active/version, whether the CVRT hub is on, GitHub token { set }.
woo_helper_stripe_statusRead-only WooCommerce Stripe Gateway status from cvrt-woo-helper (recursively masked): mode, enabled methods, express checkout and Stripe.js loading per page.
woo_helper_update_emailsChange the WooCommerce email look through cvrt-woo-helper 0.2.0+. Only the keys given change; an invalid value is a 400 naming the field and nothing is written. Returns the settings as woo_helper_get_emails does.
woo_helper_update_settingsUpdate cvrt-woo-helper settings. github_token is write-only (blank or omitted keeps the stored one); clear_github_token:true deletes it.
woo_helper_update_stripeChange Stripe express checkout through cvrt-woo-helper. Only the keys given change. locations maps a button type (apple_google_pay, link, amazon_pay) to the pages it shows on (product, cart, checkout). 409 when the Stripe Gateway plugin is inactive.
woo_list_attribute_termsList terms of a global attribute (including empty ones)
woo_list_attributesList global product attributes
woo_list_categoriesList product categories
woo_list_couponsList published WooCommerce coupons
woo_list_customersList WooCommerce customers (users with the given role)
woo_list_ordersList WooCommerce orders (slim)
woo_list_productsList WooCommerce products (slim: id, name, slug, type, status, sku, prices, stock, category ids)
woo_list_tagsList product tags (including empty ones)
woo_list_variationsList the available (purchasable, visible) variations of a variable product
woo_sales_reportGet sales report (completed + processing orders)
woo_stock_reportGet stock status report (stock-managed products, lowest stock first)
woo_top_sellersGet top selling products by quantity (completed + processing orders)
woo_update_categoryUpdate a product category; only the given fields change
woo_update_couponUpdate a coupon; only the given fields change
woo_update_customerUpdate a customer; only the given fields (and address keys) change
woo_update_order_statusUpdate order status (triggers the usual WooCommerce status emails)
woo_update_productUpdate a WooCommerce product; only the given fields change (type, images and attributes cannot be changed here)
woo_update_product_metaUpdate product meta data (merged; _regular_price, _sale_price, _stock, _stock_status, _sku go through the product setters)
woo_update_variationUpdate a product variation; only the given fields change
wp_activate_pluginActivate an installed plugin (via cvrt-mcp-endpoints, avoids the often-blocked core route)
wp_activate_themeActivate a theme (switch themes)
wp_create_categoryCreate a new category
wp_create_commentCreate a comment on a post (or a block note with type=note)
wp_create_pageCreate a new WordPress page
wp_create_postCreate a new WordPress post
wp_create_tagCreate a new tag
wp_create_userCreate a new WordPress user
wp_deactivate_pluginDeactivate an installed plugin (via cvrt-mcp-endpoints)
wp_delete_categoryDelete a category permanently (its posts fall back to the default category)
wp_delete_commentDelete a comment (moves to trash, or permanently if force=true)
wp_delete_mediaDelete a media item and its files
wp_delete_pageDelete a page (moves to trash, or permanently if force=true)
wp_delete_pluginDelete an installed plugin (via cvrt-mcp-endpoints; deactivates first)
wp_delete_postDelete a post (moves to trash, or permanently if force=true)
wp_delete_tagDelete a tag permanently
wp_delete_userDelete a user permanently, reassigning their content to another user
wp_get_active_themeGet the currently active theme
wp_get_commentGet a comment by ID
wp_get_mediaGet a media item by ID
wp_get_namespacesList available REST API namespaces (plugins may add custom endpoints)
wp_get_pageGet a single page by ID (content, when requested, is the raw stored markup)
wp_get_pluginGet plugin details by slug
wp_get_postGet a single post by ID (content, when requested, is the raw stored markup)
wp_get_settingsGet the WordPress settings exposed by wp/v2/settings (title, tagline, url, email, timezone, date/time format, language, reading and discussion settings, site logo/icon, plus plugin-registered ones)
wp_get_themeGet theme details by stylesheet name
wp_get_userGet a user by ID
wp_list_categoriesList categories
wp_list_commentsList comments
wp_list_mediaList media library items
wp_list_pagesList WordPress pages
wp_list_pluginsList all installed plugins
wp_list_postsList WordPress posts with optional filters
wp_list_tagsList tags
wp_list_themesList all installed themes
wp_list_usersList WordPress users
wp_meGet the currently authenticated user
wp_moderate_commentsBatch moderate comments by status
wp_search_postsSearch posts by keyword (shortcut; wp_list_posts has every filter)
wp_site_infoGet WordPress site information (name, description, URL, timezone)
wp_update_categoryUpdate a category (only the given fields change)
wp_update_commentUpdate a comment (approve, edit content, move, ...); only the given fields change
wp_update_mediaUpdate media item metadata (title, alt text, caption, description, attachment, ...); only the given fields change
wp_update_pageUpdate an existing page (only the given fields change)
wp_update_postUpdate an existing post (only the given fields change)
wp_update_settingsUpdate WordPress site settings (only the given fields change); returns all settings afterwards
wp_update_tagUpdate a tag (only the given fields change)
wp_update_userUpdate an existing user (only the given fields change)
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 1
- Weekly downloads
- 128
- Last commit
- Oct 10, 2026 (18 days ago)
- Last release
- Sep 29, 2026 (29 days ago)
- Last package publish
- Oct 10, 2026 (18 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.cvrt-jh/wordpress-mcp- Version
- 1.0.0
- Auth
- API key
- Packages
- npm @cavort-it-systems/wordpress-mcp
- License
- MIT
- Repository
- github.com/cvrt-jh/wordpress-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from cvrt-jh
Cite this page
WordPress MCP. Agent Mart. https://agentmart.dev/connectors/cvrt-jh-wordpress-mcp (last updated 2026-10-24)