Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ELEMENTOR_MCP_SITESYesJSON array of site objects. Each site object requires id, url, username, application_password, and optionally an ssh object.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_sitesA

List every WordPress site configured. Best called first in a session.

ping_siteA

Verify connectivity + authentication to a WordPress site. Returns user identity + WP/Elementor/Elementor Pro versions if accessible.

site_healthA

Comprehensive site health snapshot: WP/PHP/Elementor versions, disk space (if SSH), plugin count, theme info. Aggregates multiple REST calls into a single overview.

list_elementor_pagesA

List pages built with Elementor (have _elementor_edit_mode = 'builder'). Returns id, title, slug, status, modified date.

read_page_elementorA

Fetch a page's Elementor data structure summary. With verbose=true returns the full parsed tree (potentially MBs).

list_widgets_in_pageA

Flat list of every widget in a page with id, type, parent path, and an excerpt of the first text setting (for spot-checking before find/replace).

list_global_widgetsA

List all global widgets on a site (Elementor library entries of type 'widget'). These are shared across pages — editing one affects every page using it.

preflight_checkA

Validate a page is safe to edit. Checks: page exists, is Elementor-built, data parses cleanly, references valid global widgets, isn't currently locked by another editor.

elementor_find_replaceA

Find/replace plain text in every widget on one page. TWO-CALL FLOW: dry-run returns match_count + detailed widget hits + confirmation_token. Second call with token applies the change with auto-backup + JSON validation + auto-rollback if validation fails + CSS flush.

list_elementor_backupsA

List timestamped backups of a page's Elementor data (created by previous edit ops). Use restore_elementor_backup with one of these meta keys to roll back.

restore_elementor_backupA

Restore a page's _elementor_data and _elementor_page_settings from a backup created by a previous edit. TWO-CALL FLOW with confirmation token.

duplicate_elementor_pageA

Duplicate an Elementor page within the same site. Creates a new draft page, copies _elementor_data + _elementor_page_settings + _elementor_edit_mode, flushes CSS.

read_widgetA

Fetch a single widget's full settings by id. Use list_widgets_in_page to find the id first.

update_widget_settingsA

Shallow-merge a partial settings object into one widget. Backs up the page first, validates the result, auto-flushes CSS, then re-reads the page and verifies the patch persisted (matches_requested in the response). Two-call confirmation.

delete_widgetA

Remove a widget from a page by id. Two-call confirmation. Backs up before deleting; re-reads to confirm the widget is gone.

duplicate_widgetA

Duplicate a widget in place (right after the original). The clone gets a new id. Re-reads to confirm the clone persisted. Two-call confirmation.

swap_widget_typeA

Replace a widget's type (e.g., heading → button) while preserving its id and position. Provide full new_settings — the old settings are NOT carried over (different widget types have incompatible schemas). Re-reads to confirm. Two-call confirmation.

add_widgetA

Append a new widget to a parent container (section, column, or container) on a page. Re-reads to confirm the new widget exists under the parent. Two-call confirmation.

move_widgetA

Move a widget to a different parent (or different position in the same parent). Re-reads to confirm new parent. Two-call confirmation.

list_elementor_templatesA

List Elementor library entries on a site: saved sections, pages, popups, headers/footers (Theme Builder Pro), single/archive templates (Theme Builder Pro), and global widgets. Type filter narrows results.

export_elementor_templateA

Export an Elementor template (section, page, header, footer, etc.) as a portable JSON object. Output goes into import_elementor_template on another site.

import_elementor_templateA

Import a portable template JSON (output of export_elementor_template) into a target site as a new library entry. Useful for cross-site template sync.

apply_template_to_pageA

Copy the _elementor_data + _elementor_page_settings of a SOURCE template (or page) onto a TARGET page on the same site. Backs up the target first. Use to apply a section/page template to an existing draft.

bulk_find_replace_siteA

Find/replace plain text in every Elementor page on a single site. TWO-CALL FLOW: dry-run returns per-page match_count + total + confirmation_token. Apply iterates each page (auto-backup + validate + flush per page). Slower than wp_search_replace but works without SSH and gives per-page granularity.

fleet_find_replaceA

Find/replace plain text across every Elementor page of every site in the pool. Same flow as bulk_find_replace_site but iterates across sites. Returns per-site + grand-total summary. Dry-run first; second call applies. Use sparingly — this is the nuclear option.

restore_from_fileA

Restore a page from a JSON backup file (created by ANY earlier op with backup_to_file=true or by direct fullBackup with to_file). Requires the file_path returned by that backup. Two-call confirmation.

wp_cli_runA

Execute an arbitrary wp-cli command on a site via SSH. The wp prefix and --path are added automatically — pass only the args (e.g. 'post list --post_type=page'). Destructive commands (delete, drop, search-replace without --dry-run, plugin deactivate/uninstall) require a two-call confirmation flow.

wp_search_replaceA

Run wp search-replace against wp_postmeta (default) — the standard agency way to update Elementor text content. ALWAYS dry-run first; the apply call requires a confirmation token. Includes --precise --all-tables-with-prefix by default if you specify table='all'.

wp_elementor_flush_cssA

Flush Elementor's CSS cache on a site using the 3-level fallback strategy (REST endpoint → wp-cli native → option/meta delete). Always call after writing _elementor_data programmatically.

wp_plugin_listA

List installed plugins on a site with name, version, status (active/inactive), and update_version (if outdated). Uses WP-CLI for accurate version data including update_version.

wp_plugin_updateA

Update one or more plugins on a site to their latest version. Requires confirmation token (uses wp-cli).

screenshot_pageA

Capture a PNG screenshot of a page's frontend (visitor-facing URL). Requires a Chrome/Chromium binary on the host. Returns the local file path so the LLM can analyse it or compare against another shot.

compare_screenshotsA

Compare two screenshot files via SHA-256 hash equality and size delta. Quick way to spot whether a page changed visually after an edit. For pixel diffs, use a dedicated tool externally.

check_elementor_versionsA

Fleet-wide Elementor version audit. For every site, fetches installed Elementor/Pro versions and compares against wordpress.org latest. Flags outdated installs.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
READMEElementor documentation snippet (scraped from developer.elementor.com)
hooks-actionsElementor documentation snippet (scraped from developer.elementor.com)
safe-editingElementor documentation snippet (scraped from developer.elementor.com)
widget-structureElementor documentation snippet (scraped from developer.elementor.com)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mogacode-ma/elementor-mcp-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server