elementor-mcp-agent is an agency-grade MCP server for WordPress Elementor, designed to let Claude or any MCP client safely manage multiple Elementor / Elementor Pro sites, reducing repetitive work while avoiding breaking pages. The project is MIT-licensed, developed by Mogacode, built end-to-end in about 48 hours via Claude Code, with architecture, code, tests, and documentation all generated through Claude Code pair-programming sessions.
Purpose
The tool mainly serves WordPress agencies running multiple client sites, solving the problems of safe editing, backups, template management, and bulk operations in multi-site workflows. It emphasizes taking a real backup before every edit and automatically rolling back when an edit produces invalid Elementor data.
Key Capabilities
- Multi-site management: enumerate site pools, authentication probes, health snapshots.
- Safe editing: any destructive operation requires two-call confirmation (TTL 60 seconds); JSON validation + automatic rollback; three-level CSS refresh fallback (REST → native wp-cli → option/meta deletion → resave).
- Backup and restore: before every edit, back up postmeta via WP-CLI (when SSH is available), otherwise fall back to JSON files; supports listing backups, restoring backups (with a safety backup before restore).
- Template management: list templates (distinguishing Theme Builder from the regular library), export/import templates, apply templates to existing pages.
- Widget-level CRUD: read, update settings, delete, duplicate, swap type, add, move widgets.
- Bulk and fleet operations: find-replace across all Elementor pages within a single site, find-replace across a site pool (executed sequentially, dry-run enforced), restore from file.
- WP-CLI escape hatch (requires SSH): run arbitrary wp-cli commands (detects destructive patterns and confirms), wp search-replace (dry-run enforced), wp elementor flush-css, plugin list/update (with confirmation).
- Screenshots and comparison: capture any URL as PNG via headless Chrome, compare screenshots using SHA-256 and byte differences.
- Global widget awareness: preflight checks warn whether a page references shared widgets.
- Post-write verification (v1.2): every tool that modifies a widget rereads the page from canonical WP after writing and shows the model the persisted state; if verification.matches_requested === false, it is treated as a failure even if the HTTP layer returns OK, the original payload is retained in backup_meta_key, and it can be restored via restore_elementor_backup.
How to Use
- In https://{your-site}/wp-admin/profile.php#application-passwords-section generate a WordPress application password.
- The ssh block is optional, but unlocks 8 additional tools (WP-CLI escape hatch + reliable custom postmeta backups). MCP still works without SSH, and backups are saved to local JSON files.
- wp_cli_path is auto-detected if omitted (tries wp, then ~/bin/wp.phar, then ~/wp-cli.phar).
- A Claude Desktop configuration is provided.
Use Cases
Suitable for agencies that need to manage multiple Elementor sites, performing safe bulk edits, template deployment, widget adjustments, screenshot verification, and version tracking.
Limitations
- Some features (such as the WP-CLI escape hatch and reliable custom postmeta backups) require SSH to be available.
- Destructive operations require confirmation, and some wp-cli patterns are hardcoded-blocked (such as db reset --yes / db drop --yes).
- The project documentation lists planned future features, such as global style read/write, cross-site Theme Builder template push, block/column-level operations, WooCommerce-aware tools, visual diffing (pixel comparison), scheduling and cron, etc., which may not yet be available at the time of writing.
- Specific pricing, costs, platform support, and other details are not yet provided.