MCP Tools for Elementor (Digitizers fork)
MCP Tools for Elementor. A WordPress plugin that exposes Elementor's data, widgets, and page-design tools to AI agents over the Model Context Protocol.
by Digitizers · github.com/digitizers/elementor-mcp · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/digitizers/elementor-mcp/releases/download/v1.34.0/elementor-mcp.zipReadme
Elementor MCP — Digitizers fork
MCP Tools for Elementor. A WordPress plugin that exposes Elementor's data, widgets, and page-design tools to AI agents over the Model Context Protocol.
This is the Digitizers fork of msrbuilds/elementor-mcp (GPL). It keeps the original plugin's identity — the elementor-mcp slug, the Elementor_MCP_* classes, and the elementor-mcp/ MCP namespace — and takes it in its own direction: a correct Elementor 4.x atomic engine, a bundled MCP Adapter so it installs as a single plugin, net-new read-only inspection tools (list-media, list-global-classes, analyze-performance, scan-security), and a hardened, CI-tested security posture. It is the engine behind the SiteAgent Elementor Studio skill (Digitizers/siteagent-elementor-studio), which drives it to build and edit real Elementor pages.
Part of the Aura Design Engine
These are the skills behind Aura — one AI web-agency lifecycle you can run standalone or orchestrate across a whole client fleet from a single dashboard.
| Stage | Skill | Role |
|---|---|---|
| 🎨 Build | siteagent-elementor-studio · elementor-mcp ← you are here | Design & build sites inside Elementor — the recipes, and the MCP engine under them |
| 🔎 Audit + Content | wordpress-api-pro | REST content ops, SEO & site audits |
| 🖥 Host | cloudways-mcp · hostinger-mcp | Provision & operate the infrastructure |
| 🚀 Deliver | bunny-mcp | CDN, storage & edge delivery |
| 🛡 Govern | aura-mcp | Drive the control plane — approvals, snapshots, rollbacks — over MCP |
→ Orchestrate all of it across your client fleet with Aura — governed agent ops with approvals and a full audit trail on top of these skills.
This fork is the engine of the Build row above. The Aura-branded recipe layer lives in the
siteagent-elementor-studioskill, not in this artifact. The plugin keeps its ownelementor-mcpidentity and full@msrbuildsupstream credit (see Credits & attribution) — "Aura Design Engine" is Aura's narrative name for the role this fork plays, not a rename of the plugin.
The plugin extends the WordPress MCP Adapter so AI clients — Claude Code, Claude Desktop, Cursor, and other MCP-compatible tools — can create and manipulate Elementor page designs programmatically over HTTP with just a WordPress Application Password.
What this fork adds
Relative to upstream, and verified against CHANGELOG.md and the plugin source:
- Elementor 4.x-correct atomic engine. Independent 4.0 GA work: atomic-element detection gating (
is_v4based on registered atomic types / active experiments, not theELEMENTOR_VERSIONstring), correct atomic prop shapes, and working flex / padding / margin / colour / background / typography output — ahead of upstream on 4.x correctness. - Bundled WordPress MCP Adapter. The adapter ships inside the plugin (
includes/vendors/mcp-adapter/), so it installs as one plugin. When a standalone MCP Adapter plugin is already active, the fork defers to it (no double-load). - Net-new read-only tools, ported and adapted for this fork:
list-media— query the site's own Media Library uploads.list-global-classes— read Elementor 4.0's Class Manager (Global Classes), mapping opaqueg-<hash>IDs to their names and the CSS each defines per breakpoint/state.analyze-performance— read-only page + server + WordPress performance audit → scored (0–100 / A–F) report with ranked recommendations, with SSRF-guarded loopback fetches.scan-security— read-only malware / core-integrity / hardening / outdated-software scan → scored report that returnspath:line+ snippet, never full file contents.
- Security hardening + CI. A full F-001…F-027 regression suite (XSS / SVG-sanitiser / path-disclosure and other fixes) plus a committed PHPUnit CI workflow (
.github/workflows/tests.yml) running PHP 8.0 (syntax lint) and PHP 8.1 / 8.2 (full suite: Security / Capabilities / Input / Functional / Regression / SEO / Unit).
This fork deliberately keeps the elementor-mcp identity and does not adopt upstream's later emcp-tools rename.
Requirements
| Dependency | Version |
|---|---|
| WordPress | >= 6.9 |
| PHP | >= 8.0 |
| Elementor | >= 3.20 (container support required) |
| WordPress MCP Adapter | 0.6.1, bundled (no separate install) — see the note below |
| WordPress Abilities API | Bundled in WP 6.9+, or via Composer |
A note on the bundled MCP Adapter
The adapter is bundled, so no separate install is needed. But if another plugin on the site also bundles a copy — WP Rocket, Imagify and Rank Math all do — then whichever loads first wins, by load order and not by version. Copies older than 0.6.0 carry no Jetpack Autoloader to arbitrate, so an older adapter can beat the one shipped here, and it does happen: on a site measured on 2026-08-26 four copies were present and the oldest was the one in force.
The plugin's connection screen reports the version actually loaded. To guarantee the newest one wins, install the standalone MCP Adapter 0.6.1 as a plugin — it loads as a real plugin and arbitrates in favour of the newest available classes.
Installation
- Install and activate Elementor (version 3.20+).
- Download the latest release zip from this fork's Releases page. (The SiteAgent Elementor Studio skill's installer pulls
releases/latestautomatically.) - In WordPress, go to Plugins → Add New → Upload Plugin and upload the zip. The MCP Adapter is bundled — no separate plugin install is required.
- Activate the plugin through the Plugins menu.
- Open the new EMCP Tools top-level menu in the WordPress admin sidebar to configure tools and view connection info.
Connecting to the MCP server
Connect to your WordPress site from any AI client over HTTP. No proxy or Node.js needed — just a WordPress Application Password.
Prerequisites
- Create an Application Password at Users → Profile → Application Passwords.
- Base64-encode your credentials:
echo -n "username:app-password" | base64 - Your MCP endpoint is:
https://your-site.com/wp-json/mcp/elementor-mcp-server
Tip: The plugin's EMCP Tools → Connection admin screen can generate every client config automatically — just enter your username and Application Password.
Claude Code
Add as .mcp.json in your project root:
{
"mcpServers": {
"elementor-mcp": {
"type": "http",
"url": "https://your-site.com/wp-json/mcp/elementor-mcp-server",
"headers": {
"Authorization": "Basic BASE64_ENCODED_CREDENTIALS"
}
}
}
}
Claude Desktop
Add to claude_desktop_config.json (%APPDATA%\Claude\ on Windows, ~/Library/Application Support/Claude/ on macOS):
{
"mcpServers": {
"elementor-mcp": {
"type": "http",
"url": "https://your-site.com/wp-json/mcp/elementor-mcp-server",
"headers": {
"Authorization": "Basic BASE64_ENCODED_CREDENTIALS"
}
}
}
}
Cursor
Add to .cursor/mcp.json in your project root, or ~/.cursor/mcp.json for global config:
{
"mcpServers": {
"elementor-mcp": {
"url": "https://your-site.com/wp-json/mcp/elementor-mcp-server",
"headers": {
"Authorization": "Basic BASE64_ENCODED_CREDENTIALS"
}
}
}
}
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"elementor-mcp": {
"serverUrl": "https://your-site.com/wp-json/mcp/elementor-mcp-server",
"headers": {
"Authorization": "Basic BASE64_ENCODED_CREDENTIALS"
}
}
}
}
WP-CLI stdio (local development)
For local development with WP-CLI available, use the stdio transport (no HTTP auth needed):
{
"mcpServers": {
"elementor-mcp": {
"type": "stdio",
"command": "wp",
"args": [
"mcp-adapter", "serve",
"--server=elementor-mcp-server",
"--user=admin",
"--path=/path/to/wordpress"
]
}
}
}
Node.js proxy (remote sites or protocol compatibility)
For remote WordPress sites, environments without WP-CLI, or when your AI client needs a different MCP protocol version, use the Node.js proxy. Your AI client launches it as a local subprocess, so it must run on the machine with the client — not on the WordPress server.
Extract bin/mcp-proxy.mjs from the plugin ZIP, save it on the machine running your AI client, and point args at that local path (e.g. ["C:\\local\\path\\to\\mcp-proxy.mjs"]) — not at the copy inside wp-content/plugins/... on the server. Re-extract it after plugin updates to pick up proxy fixes.
Required environment variables (the proxy exits immediately if any is missing):
| Variable | Description |
|---|---|
WP_URL |
Your WordPress site URL (e.g., https://example.com). |
WP_USERNAME |
WordPress username. |
WP_APP_PASSWORD |
An Application Password for that user. |
Optional environment variables:
| Variable | Description |
|---|---|
MCP_LOG_FILE |
Path to a debug log file (e.g., /tmp/elementor-mcp.log) |
MCP_PROTOCOL_VERSION |
Override the protocol version in initialize responses (e.g., 2024-11-05). Use this if your client doesn't support 2025-06-18. |
Testing with MCP Inspector
npx @modelcontextprotocol/inspector wp mcp-adapter serve \
--server=elementor-mcp-server --user=admin --path=/path/to/wordpress
Tool overview
All tool names are prefixed with elementor-mcp/ in the MCP namespace (e.g. elementor-mcp/list-widgets); the MCP Adapter converts these to elementor-mcp-list-widgets for transport. The active tool count scales with the environment — some tools register only when Elementor 4.0 atomic elements, Elementor Pro, or WooCommerce are present.
- Query & discovery — list widgets, inspect page structure, read element settings, list pages, browse templates, read global design tokens,
list-media,list-global-classes. - Page management — create pages, update page settings, clear content, import/export templates.
- Layout & structure — add/update flexbox containers, move/remove/duplicate elements, find elements, batch update, reorder children, read container schema.
- Widgets — a universal
add-widget/update-widgetpair plus convenience shortcuts; Pro and WooCommerce widget tools register only when those plugins are active. - Atomic elements (Elementor 4.0+) — dedicated tools for the atomic system (flexbox, div-block, heading, paragraph, button, image, svg, youtube, video, divider) plus universal
add-atomic-widget/update-atomic-widgetanddetect-elementor-version. These register only when atomic elements are actually available. - Templates & theme builder — save/apply templates; theme templates, display conditions, dynamic tags, and popups (Pro).
- Global settings — update site-wide colour palette and typography.
- Composite —
build-page: create a complete page from a declarative JSON structure in one call. - Stock images & SVG — search Openverse, sideload images into the Media Library, upload SVG icons.
- Custom code — add element/page CSS, inject JavaScript, manage site-wide code snippets.
- Audits —
analyze-performance(page + server + WP performance) andscan-security(malware / integrity / hardening / outdated software).
The full tool tables (per-category, with parameters) are available in-plugin under EMCP Tools, where individual tools can be toggled on/off.
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v1.34.0 | Sep 1, 2026 | elementor-mcp.zip | 10 |
| v1.32.0 | Aug 24, 2026 | elementor-mcp.zip | 16 |
| v1.31.0 | Aug 20, 2026 | elementor-mcp.zip | 5 |
| v1.30.0 | Aug 20, 2026 | elementor-mcp.zip | 0 |
| v1.29.0 | Aug 20, 2026 | elementor-mcp.zip | 0 |
| v1.28.0 | Aug 19, 2026 | elementor-mcp.zip | 0 |
| v1.27.1 | Aug 7, 2026 | elementor-mcp.zip | 0 |
| v1.27.0 | Aug 7, 2026 | — | — |
| v1.26.0 | Aug 3, 2026 | — | — |
| v1.25.1 | Jul 8, 2026 | — | — |
| v1.25.0 | Jul 8, 2026 | — | — |
| v1.24.0 | Jul 8, 2026 | — | — |
| v1.23.0 | Jul 7, 2026 | — | — |
| v1.22.0 | Jul 7, 2026 | — | — |
| v1.21.0 | Jul 7, 2026 | — | — |
| v1.20.0 | Jul 7, 2026 | — | — |
| v1.19.0 | Jul 7, 2026 | — | — |
| v1.18.0 | Jul 7, 2026 | — | — |
| v1.17.0 | Jul 7, 2026 | — | — |
| v1.16.0 | Jul 7, 2026 | — | — |
| v1.15.0 | Jul 7, 2026 | — | — |
| v1.14.0 | Jul 6, 2026 | — | — |
| v1.13.0 | Jul 6, 2026 | — | — |
| v1.12.2 | Jul 6, 2026 | — | — |
| v1.12.1 | Jul 3, 2026 | — | — |
Active-site estimate ≈20 comes from the v1.32.0 cohort. Method.