Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WORDPRESS_PASSWORDYesWordPress application password (generated from User Profile)
WORDPRESS_SITE_URLYesThe URL of the WordPress site (e.g., https://example.com)
WORDPRESS_USERNAMEYesWordPress username (must have Application Passwords enabled)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_sitesA

List the WordPress sites this server can manage. Every other tool requires a site argument set to one of these ids.

wp_site_infoB

Get WordPress site information (name, description, URL, timezone)

wp_get_settingsB

Get WordPress site settings (title, tagline, timezone, date format)

wp_update_settingsC

Update WordPress site settings

wp_get_namespacesA

List available REST API namespaces (plugins may add custom endpoints)

wp_list_postsC

List WordPress posts with optional filters

wp_get_postC

Get a single post by ID

wp_create_postC

Create a new WordPress post

wp_update_postC

Update an existing post

wp_delete_postB

Delete a post (moves to trash, or permanently if force=true)

wp_search_postsC

Search posts by keyword

wp_list_pagesC

List WordPress pages

wp_get_pageB

Get a single page by ID

wp_create_pageC

Create a new WordPress page

wp_update_pageC

Update an existing page

wp_delete_pageA

Delete a page (moves to trash, or permanently if force=true)

wp_list_usersC

List WordPress users

wp_meB

Get the currently authenticated user

wp_get_userB

Get a user by ID

wp_create_userC

Create a new WordPress user

wp_update_userC

Update an existing user

wp_delete_userB

Delete a user (requires reassign parameter)

wp_list_pluginsC

List all installed plugins

wp_get_pluginC

Get plugin details by slug

wp_activate_pluginB

Activate an installed plugin (via cvrt-mcp-endpoints, avoids the often-blocked core route)

wp_deactivate_pluginC

Deactivate an installed plugin (via cvrt-mcp-endpoints)

wp_delete_pluginB

Delete an installed plugin (via cvrt-mcp-endpoints; deactivates first)

wp_list_themesC

List all installed themes

wp_get_active_themeC

Get the currently active theme

wp_get_themeC

Get theme details by stylesheet name

wp_activate_themeC

Activate a theme (switch themes)

wp_list_mediaC

List media library items

wp_get_mediaB

Get a media item by ID

wp_update_mediaC

Update media item metadata (title, alt text, caption)

wp_delete_mediaC

Delete a media item

wp_list_categoriesC

List all categories

wp_create_categoryC

Create a new category

wp_update_categoryC

Update a category

wp_delete_categoryC

Delete a category

wp_list_tagsC

List all tags

wp_create_tagC

Create a new tag

wp_update_tagC

Update a tag

wp_delete_tagC

Delete a tag

wp_list_commentsC

List comments

wp_get_commentB

Get a comment by ID

wp_create_commentC

Create a comment on a post

wp_update_commentC

Update a comment (approve, edit content, etc.)

wp_delete_commentD

Delete a comment

wp_moderate_commentsC

Batch moderate comments by status

mcp_search_pluginsC

Search WordPress.org plugin repository

mcp_install_pluginC

Install a plugin from WordPress.org by slug

mcp_update_pluginC

Update a single plugin to latest version

mcp_update_all_pluginsA

Update all plugins with available updates

mcp_install_plugin_zipB

Install a plugin from a ZIP URL (GitHub releases, custom sources)

mcp_search_themesB

Search WordPress.org theme repository

mcp_install_themeC

Install a theme from WordPress.org by slug

mcp_update_themeB

Update a single theme to latest version

mcp_update_all_themesC

Update all themes with available updates

mcp_delete_themeB

Delete an inactive theme

mcp_install_theme_zipC

Install a theme from a ZIP URL (GitHub releases, custom sources)

mcp_get_versionB

Get WordPress version and update status

mcp_get_system_infoC

Get comprehensive system information

mcp_check_updatesC

Check for WordPress core, plugin, and theme updates

mcp_update_coreC

Update WordPress to the latest version

mcp_flush_rewriteC

Flush permalink rewrite rules

mcp_flush_cacheC

Clear all caches and transients

mcp_get_tablesB

List all database tables with sizes

mcp_search_replaceB

Search and replace strings in database (serialization-safe)

mcp_optimize_tablesC

Optimize all database tables

mcp_clean_revisionsC

Delete old post revisions

mcp_clean_commentsC

Delete spam and trashed comments

mcp_list_optionsB

List WordPress options with optional prefix filter

mcp_get_optionC

Get a single option value

mcp_set_optionC

Create or update an option

mcp_delete_optionC

Delete an option

mcp_bulk_get_optionsB

Get multiple options at once

mcp_list_menusC

List all navigation menus

mcp_get_menu_locationsC

Get registered menu locations

mcp_get_menuB

Get a menu with all its items

mcp_create_menuC

Create a new navigation menu

mcp_delete_menuC

Delete a navigation menu

mcp_add_menu_itemC

Add an item to a menu

mcp_delete_menu_itemC

Delete a menu item

mcp_update_menuB

Update a navigation menu (rename)

mcp_update_menu_itemC

Update a menu item (title, URL, position, parent)

mcp_assign_menu_locationC

Assign a menu to a theme location

mcp_list_sidebarsC

List all registered sidebars

mcp_get_sidebar_widgetsB

Get all widgets in a sidebar

mcp_list_widget_typesB

List all available widget types

mcp_get_widgetC

Get a widget's details

mcp_add_widgetC

Add a widget to a sidebar

mcp_update_widgetC

Update a widget's settings

mcp_delete_widgetC

Remove a widget from its sidebar

mcp_reorder_widgetsC

Reorder widgets within a sidebar

mcp_move_widgetC

Move a widget to a different sidebar

mcp_get_healthC

Get site health status and score

mcp_get_debug_infoC

Get detailed debug information

mcp_get_php_infoC

Get PHP configuration details

mcp_get_plugins_healthB

Get plugin health status and available updates

mcp_get_cron_statusC

Get WordPress cron jobs status

mcp_run_cronC

Manually trigger a cron hook

mcp_list_post_typesB

List all public post types with their schema and counts

mcp_get_post_typeB

Get detailed schema for a post type

mcp_list_cpt_postsC

List posts of any custom post type

mcp_create_cpt_postC

Create a post of any custom post type

mcp_update_cpt_postC

Update a custom post type post

mcp_delete_cpt_postC

Delete a custom post type post

mcp_list_taxonomiesC

List all registered taxonomies

mcp_get_taxonomyC

Get taxonomy details and schema

mcp_list_termsC

List terms for any taxonomy (categories, tags, custom taxonomies)

mcp_create_termC

Create a term in any taxonomy

mcp_update_termC

Update a term in any taxonomy

mcp_delete_termC

Delete a term from any taxonomy

mcp_assign_termsC

Assign taxonomy terms to a post

mcp_list_usersC

List WordPress users with role/search filters

mcp_get_userC

Get user details by ID

mcp_create_userC

Create a new WordPress user

mcp_update_userC

Update an existing user

mcp_delete_userC

Delete a user and reassign their content

mcp_list_rolesB

List all available WordPress user roles

mcp_change_user_roleC

Change a user's role

mcp_get_user_metaC

Get all meta data for a user

mcp_update_user_metaC

Update meta data for a user

mcp_list_mediaB

List media library items with filtering

mcp_get_mediaB

Get detailed media item info (sizes, metadata)

mcp_sideload_mediaB

Upload media to WordPress from an external URL

mcp_update_mediaC

Update media item metadata (title, alt text, caption)

mcp_delete_mediaC

Delete a media item

mcp_bulk_delete_mediaC

Delete multiple media items at once

mcp_regenerate_thumbnailsC

Regenerate image thumbnails for a media item

mcp_get_media_statsB

Get media library statistics (counts by type, total size)

mcp_get_elementor_buildC

Get full Elementor page build (containers, widgets, settings tree)

mcp_get_elementor_flatB

Get flat list of all Elementor elements on a page (easier to search/filter than tree)

mcp_get_elementor_elementB

Get a single Elementor element with full settings

mcp_update_elementor_elementA

Update 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.

mcp_get_elementor_page_settingsC

Get Elementor page-level settings (hide title, custom CSS, etc.)

mcp_update_elementor_page_settingsC

Update Elementor page-level settings

mcp_list_elementor_templatesB

List all Elementor library templates (headers, footers, singles, loop items, popups)

mcp_get_elementor_conditionsC

Get theme builder display conditions for an Elementor template

mcp_get_elementor_kitB

Get Elementor global kit settings (colors, fonts, typography, spacing, button defaults)

mcp_update_elementor_kitC

Update Elementor global kit settings (colors, fonts, typography)

mcp_search_elementorC

Search all Elementor pages for specific widgets, settings, or text content

acf_list_field_groupsB

List all ACF field groups with their fields

acf_get_field_groupC

Get ACF field group with full field configuration

acf_create_field_groupC

Create an ACF field group with fields

acf_update_field_groupC

Update an existing ACF field group

acf_delete_field_groupC

Delete an ACF field group

acf_export_field_groupB

Export a field group in ACF JSON format (for import/backup)

acf_import_field_groupsC

Import ACF field groups from JSON export format

acf_get_post_fieldsC

Get all ACF field values for a post

acf_update_post_fieldsC

Update multiple ACF field values for a post

acf_get_post_fieldC

Get a single ACF field value for a post

acf_update_post_fieldC

Update a single ACF field value for a post

woo_list_productsC

List WooCommerce products

woo_get_productC

Get WooCommerce product details

woo_create_productC

Create a WooCommerce product

woo_update_productC

Update a WooCommerce product

woo_delete_productC

Delete a WooCommerce product

woo_list_variationsC

List variations for a variable product

woo_create_variationC

Create a product variation

woo_update_variationD

Update a product variation

woo_delete_variationC

Delete a product variation

woo_list_attributesC

List product attributes

woo_list_attribute_termsC

List terms for an attribute

woo_create_attributeD

Create a product attribute

woo_create_attribute_termC

Create a term for an attribute

woo_list_categoriesC

List product categories

woo_create_categoryC

Create a product category

woo_update_categoryC

Update a product category

woo_delete_categoryC

Delete a product category

woo_list_tagsC

List product tags

woo_list_ordersC

List WooCommerce orders

woo_get_orderC

Get WooCommerce order details

woo_update_order_statusC

Update order status

woo_add_order_noteC

Add a note to an order

woo_get_order_notesC

Get order notes

woo_list_customersC

List WooCommerce customers

woo_get_customerC

Get customer details

woo_create_customerD

Create a customer

woo_update_customerD

Update a customer

woo_get_customer_ordersB

Get customer's order history

woo_list_couponsD

List WooCommerce coupons

woo_get_couponC

Get coupon details

woo_create_couponC

Create a coupon

woo_update_couponC

Update a coupon

woo_delete_couponC

Delete a coupon

woo_sales_reportC

Get sales report

woo_top_sellersC

Get top selling products

woo_stock_reportC

Get stock status report

woo_get_product_metaC

Get all product meta data

woo_update_product_metaC

Update product meta data

woo_bulk_update_stockC

Bulk update product stock

fulfillment_get_settingsA

Get the cvrt-order-fulfillment plugin settings. Secret values are returned as { set: boolean }, never raw.

fulfillment_update_settingsA

Update cvrt-order-fulfillment settings. Only provide the keys you want to change. A blank/omitted secret keeps the stored value (never wipes it). Keys: clickup_token, clickup_list_id, clickup_assignee_id, agent_token, webhook_secret, github_updater_token, slack_webhook_url.

fulfillment_statusC

Pipeline health: which credentials are set, ClickUp list/assignee, when the print agent last polled, and print-queue counts.

fulfillment_queueB

Print-queue state: status counts (pending/printing/printed/failed) and the recent jobs with their errors.

fulfillment_reprint_jobA

Reset a print job to pending so the agent prints it again.

fulfillment_fulfill_orderA

Manually (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_update_checkA

Force an immediate plugin-update check (bypassing PUC's throttle) and report whether a newer version is available. Throttled to about once per 30s.

fulfillment_update_applyA

Install a pending cvrt-order-fulfillment update via WordPress's own upgrader (same code path as the wp-admin one-click update). Reports { applied, from, to }. Audit-logged.

legal_statusA

Legal 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_list_documentsB

List all legal document types with their required/filled state and linked page.

legal_get_documentA

Get one legal document including its ordered sections.

legal_put_documentB

Replace a legal document. Sections are ordered; omit slug to derive it from the heading. The plugin ships no legal prose - it stores and renders what it is given.

legal_render_documentA

Render a document to normalized HTML without saving. Useful to preview the heading hierarchy and slug ids before writing.

legal_get_pageB

Get 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_link_pageA

Link 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_add_sectionC

Append a section to a legal document. Returns the resolved slug, which is what shortcodes address.

legal_update_sectionB

Update a section. The slug is never rewritten, so shortcodes already placed on a page keep working when a heading is renamed.

legal_delete_sectionC

Delete a section from a legal document.

legal_get_consentC

Get the cookie consent banner configuration.

legal_put_consentA

Configure the consent banner and every tracking credential the site uses. Nothing is handed to the browser until the visitor accepts - this plugin owns GTM, GA4 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.

legal_get_themeB

Get the banner theme: preset name, CSS custom property overrides and the rendered CSS.

legal_put_themeB

Set the banner theme preset and/or individual CSS custom properties. Only --cvrt-consent-* properties are accepted.

legal_get_settingsB

Get cvrt-legal settings. Secret values are returned as { set: boolean }, never raw.

legal_consent_log_getA

Get 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_statsA

Aggregate consent decision counts by action and banner_version over a day range (both from and to are optional, default the last 30 days; the range cannot exceed 366 days). 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_exportA

Export 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_update_settingsB

Update 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}).

legal_get_factsA

Get 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_put_factsA

Set Impressum fields. Merges: only the keys given change; an empty string clears a field. Regenerates every generated document. Requires cvrt-legal 0.7.0+.

legal_get_generatorA

Get 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_put_generatorA

Tick 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. Sections tied to a switch (Einwilligungsnachweis, Barrierefreiheits-Werkzeug) follow that switch and are not ticked here. Requires cvrt-legal 0.7.0+.

legal_get_generator_libraryB

Get 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_put_generator_libraryA

Import 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_restore_generatorA

Restore a generated document to how it was before the generator first wrote it, and stop generating it. Requires cvrt-legal 0.7.0+.

legal_get_socialA

Get 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_put_socialA

Switch social networks and set their profile URLs (https only), then rewrite the Datenschutz social-media section; with nothing on, the section is removed. Requires cvrt-legal 0.6.0+.

legal_get_social_modulesC

Get the imported social-media text modules. Requires cvrt-legal 0.6.0+.

legal_put_social_modulesA

Import 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_get_accessibilityA

Get 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_put_accessibilityA

Configure 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_get_accessibility_reportA

Get 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_reset_accessibility_reportA

Clear the markup repair report, e.g. after fixing the source, so new page views record afresh. Requires cvrt-legal 0.9.0+.

fields_statusB

cvrt-fields status: plugin version, definition counts per kind, whether ACF / Elementor / Elementor Pro are active, JSON sync state and JSON read error.

fields_get_settingsA

Get 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_update_settingsA

Update 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.

fields_list_typesB

List the available field types (text, date_picker, image, relationship, ...) with their settings.

fields_get_location_valuesB

Values usable in field-group location rules: post types, page templates, taxonomies, options pages, user forms.

fields_get_schemaA

Editor form schema of one definition kind (fields and their options). Read it before fields_create_definition / fields_update_definition.

fields_list_definitionsB

List all definitions of one kind from every source (database, JSON, PHP) with their _source.

fields_get_definitionC

Get one definition by kind and key.

fields_create_definitionB

Create a definition (field group, post type, taxonomy or options page). Fails with 409 when the key exists.

fields_update_definitionB

Replace a definition. 409 cvrt_fields_json_shadowed means a read-only JSON file still overrides the database copy.

fields_delete_definitionB

Delete a database definition. Stored field values stay in post/term/user meta and options.

fields_sync_definitionB

Copy a JSON-sourced definition into the database. Only JSON definitions can be synced.

seo_statusB

Get cvrt-seo-manager status (version, configured, dependencies).

seo_get_settingsB

Get cvrt-seo-manager settings. Secret values are returned as { set: boolean }, never raw.

seo_update_settingsA

Update cvrt-seo-manager settings. Provide only keys to change; a blank/omitted secret preserves the stored value.

seo_get_post_seoC

Get the SEO meta for a post.

seo_update_post_seoC

Update the SEO meta for a post.

seo_delete_post_seoC

Delete (reset) the SEO meta for a post.

seo_get_post_analysisC

Get the SEO analysis (score, issues) for a post.

seo_list_posts_seoB

List SEO meta across posts.

seo_bulk_update_posts_seoC

Bulk update SEO meta across multiple posts.

seo_get_term_seoC

Get the SEO meta for a taxonomy term.

seo_update_term_seoC

Update the SEO meta for a taxonomy term.

seo_delete_term_seoB

Delete (reset) the SEO meta for a taxonomy term.

seo_keyword_checkC

Run the keyword analysis check.

seo_list_redirectsC

List all redirects.

seo_create_redirectC

Create a redirect.

seo_get_redirectC

Get a redirect by id.

seo_update_redirectC

Update a redirect by id.

seo_delete_redirectC

Delete a redirect by id.

seo_list_monitor_logC

List the 404/redirect monitor log entries.

seo_clear_monitor_logC

Clear the 404/redirect monitor log.

seo_create_redirect_from_logB

Create a redirect directly from a monitor log entry.

seo_sitemap_statusC

Get sitemap status.

seo_sitemap_pingC

Ping search engines with the sitemap.

seo_indexnow_pingC

Submit URLs to IndexNow.

seo_export_settingsC

Export cvrt-seo-manager settings.

seo_import_settingsC

Import cvrt-seo-manager settings.

seo_export_csvC

Export post SEO meta as CSV.

seo_import_csvC

Import post SEO meta from CSV.

seo_export_redirectsC

Export redirects.

seo_import_redirectsC

Import redirects.

seo_import_migrateC

Run a migration import (e.g. from RankMath GLOBAL settings) into cvrt-seo-manager.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.5/5.0

Scored across 277 tools

Disambiguation2/5

The set contains two parallel namespaces (wp_* and mcp_*) that duplicate the same resources: wp_list_users/mcp_list_users, wp_get_user/mcp_get_user, wp_update_user/mcp_update_user, wp_list_media/mcp_list_media, wp_list_plugins/mcp_search_plugins, etc. An agent cannot reliably tell whether to call the core route or the cvrt-mcp-endpoints version. Beyond that, many domain-specific tools are distinct, but the systematic duplication makes tool selection error-prone.

Naming Consistency3/5

Most tools use a prefix_verb_noun pattern (woo_list_products, acf_get_field_group), but verb placement is inconsistent in several families: legal_get_settings vs legal_consent_log_get, seo_status vs seo_get_settings, fields_status vs fields_list_types. The mix of wp_ and mcp_ prefixes for the same domain also breaks predictability. Still readable overall, hence a middle score.

Tool Count1/5

277 tools is far beyond any reasonable scope for a single server and reflects heavy redundancy (parallel wp_/mcp_ CRUD sets) and many plugin-specific sub-surfaces. This extreme count is a strong mismatch with the intended purpose, and agents will struggle to navigate it.

Completeness4/5

Coverage is very broad: full CRUD for posts, pages, media, users, comments, taxonomies, plugins, themes, menus, widgets, options, WooCommerce, Elementor, ACF, SEO and legal documents. Only minor gaps exist (e.g., generic post meta and some widget-block operations), so the surface is largely complete despite being bloated.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive