WP Manifestindependent plugin directory
manifest / builders / elementor-mcp

Elementor MCP

Elementor MCP — remote MCP server for WordPress/Elementor: design-system-aware page building with brand token enforcement

by dvos301 · github.com/dvos301/elementor-mcp

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/dvos301/elementor-mcp/archive/refs/heads/main.zip

Readme

=== Elementor MCP === Contributors: you Requires at least: 6.0 Tested up to: 6.6 Requires PHP: 7.4 Stable tag: 0.6.3 License: GPLv2 or later

Remote MCP server that lets Claude Code design and edit Elementor pages.

== Description == Generate a token under Elementor MCP in wp-admin, then connect Claude Code:

claude mcp add --transport http https://YOUR-SITE/wp-json/elementor-mcp/v1/mcp \ --header "Authorization: Bearer YOUR_TOKEN"

Requires HTTPS and an active Elementor install.

(If your site does not use pretty permalinks, the admin screen shows the equivalent ?rest_route= endpoint URL to use instead — both work.)

= Troubleshooting: "Unauthorized: invalid or missing bearer token" = Hosts that run PHP as CGI/FastCGI (Hostinger, Plesk, many cPanel setups) strip the Authorization header before WordPress sees it. The plugin repairs this automatically on Apache/LiteSpeed by writing an "Elementor MCP Auth" block to .htaccess (and also reads REDIRECT_HTTP_AUTHORIZATION and an X-Authorization alias). If .htaccess is not writable, an admin notice shows the exact snippet to paste. As a last resort connect with:

--header "X-Authorization: Bearer YOUR_TOKEN"

== Changelog == = 0.6.3 =

  • Fix: MCP requests failed with "Unauthorized" on hosts that strip the Authorization header (Hostinger, Plesk, CGI/FastCGI PHP). Auth now falls back to HTTP_AUTHORIZATION / REDIRECT_HTTP_AUTHORIZATION env vars, raw SAPI headers, and an X-Authorization alias.
  • New: self-healing .htaccess — on Apache/LiteSpeed the plugin writes a module-guarded "Elementor MCP Auth" marker block (SetEnvIf + RewriteRule) that re-exposes the Authorization header; admin notice with a copy-paste snippet when .htaccess is not writable.

= 0.6.2 =

  • Fix: param-less tools (get_design_system, site_status, purge_cache) emitted "properties":[] in the tool manifest, which strict MCP clients (Claude Code) reject — dropping ALL tools. Manifest builder now forces every object schema's properties to a JSON object; source literals hardened; CI guards against regressions. (0.6.1 added nested {{#if}} template support.)

= 0.6.0 =

  • Element Studio: create/update/get/list/delete_custom_widget author reusable custom Elementor widgets into a standalone library plugin (custom-elementor-widgets/) that survives removal of this plugin. Same JSON definition format as the WPBakery studio: shared param types (incl. attach_image media pickers, param_group repeaters, heading_tag dropdowns), mustache-lite templates with per-param escaping, css-once, full_bleed.
  • MCP initialize now serves session instructions: workflow + widget authoring standards.

= 0.5.0 =

  • rest_request: proxy any WordPress REST route (core + all plugins) in-process as the token user — full REST surface through the one MCP connection. Audit log records the actual method + route.
  • list_rest_routes: discover which REST routes exist on the site.

= 0.4.0 =

  • Finding: find_pages (title/slug/content search + URL-to-post resolution), find_in_pages (sitewide text search down to the Elementor element).
  • Links: page_links (outbound with anchors + element ids), inbound_links (who links here, anchor frequency, includes nav menus), link_map (site-wide internal link graph, top targets, orphan pages).
  • Building: clone_page (duplicate incl. full Elementor layout as draft), update_page_settings (slug/status/parent/template/menu order).
  • SEO: get_seo_meta / set_seo_meta for Rank Math and Yoast titles, descriptions, focus keywords.

= 0.3.0 =

  • Backend diagnostics over the same token: site_status (versions, pending updates, debug flags, cache layers), purge_cache (Elementor CSS + object cache + 8 common page-cache plugins), read_error_log (tail debug.log / PHP error log).
  • Connect snippet fix: include the server name positional that claude mcp add requires.

= 0.2.0 =

  • New tools: list_widget_types (every registered widget — core, Pro, theme, addons) and get_widget_schema (a widget's settings controls, defaults and options).
  • PSR-4 fallback autoloader: installs straight from the GitHub zip, no composer install needed.

= 0.1.0 =

  • Initial release: pages, surgical edits, design system, media, preview tools.

Read the full README on GitHub →