MCP Hub
Back to servers

elementor-mcp

Comprehensive Elementor MCP Server plugin with 70+ Tools.

GitHub
Stars
37
Forks
11
Updated
Mar 2, 2026
Validated
Mar 4, 2026

MCP Tools for Elementor

Version License PHP WordPress Elementor MCP Tools PRs Welcome GitHub Issues GitHub Stars

A WordPress plugin that extends the WordPress MCP Adapter to expose Elementor data, widgets, and page design tools as MCP (Model Context Protocol) tools. This enables AI agents like Claude, Cursor, and other MCP-compatible clients to create and manipulate Elementor page designs programmatically. image

Features

  • 70 MCP Tools covering the full Elementor page-building workflow
  • Query & Discovery — List widgets, inspect page structures, read element settings, browse templates, view global design tokens
  • Page Management — Create pages, update settings, clear content, import/export templates
  • Layout Tools — Add flexbox containers, move/remove/duplicate elements
  • Widget Tools — 41 widget tools: universal add/update for any widget, plus 23 free convenience shortcuts (heading, text, image, button, video, icon, spacer, divider, icon box, accordion, alert, counter, Google Maps, icon list, image box, image carousel, progress bar, social icons, star rating, tabs, testimonial, toggle, HTML)
  • Pro Widget Support — 16 conditional Pro widget tools (form, posts grid, countdown, price table, flip box, animated headline, call to action, slides, testimonial carousel, price list, gallery, share buttons, table of contents, blockquote, Lottie, hotspot)
  • Template Tools — Save pages or elements as reusable templates, apply templates to pages
  • Global Settings — Update site-wide color palettes and typography presets
  • Composite Tools — Build a complete page from a declarative JSON structure in a single call
  • Stock Images — Search Openverse for Creative Commons images, sideload into Media Library, add to pages
  • SVG Icons — Upload SVG icons from URL or raw markup for use with Elementor icon widgets
  • Custom Code — Add custom CSS (element/page level), inject JavaScript, create site-wide code snippets for head/body injection
  • Admin Dashboard — Toggle individual tools on/off and view connection configs for all supported MCP clients

Get 50+ Premium Prompts to Build High Quality Landing Pages

I Want This

banner

Requirements

DependencyVersion
WordPress>= 6.8
PHP>= 7.4
Elementor>= 3.20 (container support required)
WordPress MCP AdapterLatest
WordPress Abilities APIBundled in WP 6.9+, or via Composer

Installation

  1. Install and activate Elementor (version 3.20+).
  2. Install and activate the WordPress MCP Adapter plugin.
  3. Download the latest release zip from the Releases page.
  4. In WordPress, go to Plugins > Add New > Upload Plugin and upload the downloaded zip file.
  5. Activate the plugin through the Plugins menu in WordPress.
  6. Go to Settings > MCP Tools for Elementor to configure tools and view connection info.

Connecting to the MCP Server

Connect to your WordPress site from any AI client using HTTP. No proxy or Node.js needed — just a WordPress Application Password.

Prerequisites

  1. Create an Application Password at Users > Profile > Application Passwords.
  2. Base64-encode your credentials: echo -n "username:app-password" | base64
  3. Your MCP endpoint is: https://your-site.com/wp-json/mcp/elementor-mcp-server

Tip: The plugin's admin page at Settings > MCP Tools for Elementor > Connection can generate all configs 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"
            }
        }
    }
}

Antigravity

Add to ~/.gemini/antigravity/mcp_config.json:

{
    "mcpServers": {
        "elementor-mcp": {
            "serverUrl": "https://your-site.com/wp-json/mcp/elementor-mcp-server",
            "headers": {
                "Authorization": "Basic BASE64_ENCODED_CREDENTIALS"
            }
        }
    }
}

npx mcp-remote (Local Development)

For local development, you can use mcp-remote to bridge your AI client to the WordPress HTTP endpoint via stdio. This works with any MCP client that supports stdio transport:

{
    "mcpServers": {
        "elementor-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-remote",
                "http://localhost:10003/wp-json/mcp/elementor-mcp-server",
                "--header",
                "Authorization: Basic BASE64_ENCODED_CREDENTIALS"
            ]
        }
    }
}

Replace localhost:10003 with your local WordPress address and BASE64_ENCODED_CREDENTIALS with your Base64-encoded username:app-password.

WP-CLI stdio (Local Development)

For local development with WP-CLI available, you can 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"
            ]
        }
    }
}

Testing with MCP Inspector

npx @modelcontextprotocol/inspector wp mcp-adapter serve \
  --server=elementor-mcp-server --user=admin --path=/path/to/wordpress

Available Tools

Query & Discovery (7 tools)

ToolDescription
list-widgetsAll registered widget types with names, titles, icons, categories, keywords
get-widget-schemaFull JSON Schema for a widget's settings (auto-generated from Elementor controls)
get-page-structureElement tree for a page (containers, widgets, nesting)
get-element-settingsCurrent settings for a specific element on a page
list-pagesAll Elementor-enabled pages/posts
list-templatesSaved Elementor templates from the template library
get-global-settingsActive kit/global settings (colors, typography, spacing)

Page Management (5 tools)

ToolDescription
create-pageCreate a new WP page/post with Elementor enabled
update-page-settingsUpdate page-level Elementor settings (background, padding, etc.)
delete-page-contentClear all Elementor content from a page
import-templateImport JSON template structure into a page
export-pageExport page's full Elementor data as JSON

Layout (4 tools)

ToolDescription
add-containerAdd a flexbox container (top-level or nested)
move-elementMove an element to a new parent/position
remove-elementRemove an element and all children
duplicate-elementDuplicate element with fresh IDs

Widgets (41 tools)

ToolDescription
add-widgetUniversal: add any widget type to a container
update-widgetUniversal: update settings on an existing widget
add-headingConvenience: heading widget
add-text-editorConvenience: rich text editor widget
add-imageConvenience: image widget
add-buttonConvenience: button widget
add-videoConvenience: video widget
add-iconConvenience: icon widget
add-spacerConvenience: spacer widget
add-dividerConvenience: divider widget
add-icon-boxConvenience: icon box widget
add-accordionConvenience: collapsible accordion widget
add-alertConvenience: alert/notice widget
add-counterConvenience: animated counter widget
add-google-mapsConvenience: embedded Google Maps widget
add-icon-listConvenience: icon list for features/checklists
add-image-boxConvenience: image box (image + title + description)
add-image-carouselConvenience: rotating image carousel
add-progressConvenience: animated progress bar
add-social-iconsConvenience: social media icon links
add-star-ratingConvenience: star rating display
add-tabsConvenience: tabbed content widget
add-testimonialConvenience: testimonial with quote and author
add-toggleConvenience: toggle/expandable content
add-htmlConvenience: custom HTML code widget
add-formPro: form widget
add-posts-gridPro: posts grid widget
add-countdownPro: countdown timer widget
add-price-tablePro: price table widget
add-flip-boxPro: flip box widget
add-animated-headlinePro: animated headline widget
add-call-to-actionPro: call-to-action widget
add-slidesPro: full-width slides/slider
add-testimonial-carouselPro: testimonial carousel/slider
add-price-listPro: price list for menus/services
add-galleryPro: advanced gallery (grid/masonry/justified)
add-share-buttonsPro: social share buttons
add-table-of-contentsPro: auto-generated table of contents
add-blockquotePro: styled blockquote widget
add-lottiePro: Lottie animation widget
add-hotspotPro: image hotspot widget

Templates (2 tools)

ToolDescription
save-as-templateSave a page or element as reusable template
apply-templateApply a saved template to a page

Global Settings (2 tools)

ToolDescription
update-global-colorsUpdate site-wide color palette in Elementor kit
update-global-typographyUpdate site-wide typography in Elementor kit

Composite (1 tool)

ToolDescription
build-pageCreate complete page from declarative structure in one call

Stock Images (3 tools)

ToolDescription
search-imagesSearch Openverse for Creative Commons images by keyword
sideload-imageDownload an external image URL into the WordPress Media Library
add-stock-imageSearch + sideload + add image widget to page in one call

SVG Icons (1 tool)

ToolDescription
upload-svg-iconUpload an SVG icon (from URL or raw markup) for use with icon/icon-box widgets

Custom Code (4 tools)

ToolDescription
add-custom-cssAdd custom CSS to an element or page-level with selector keyword support (Pro)
add-custom-jsInject JavaScript via HTML widget with automatic <script> wrapping
add-code-snippetCreate site-wide Custom Code snippets for head/body injection (Pro)
list-code-snippetsList all Custom Code snippets with location and status filters (Pro)

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.

Permission Model

Tool GroupRequired WordPress Capability
Read/Queryedit_posts
Page creationpublish_pages or edit_pages
Widget/layout manipulationedit_posts + ownership check
Template managementedit_posts
Global settingsmanage_options
Delete operationsdelete_posts + ownership check
Stock image searchedit_posts
Stock image sideloadupload_files
Custom CSS/JSedit_posts + ownership check
Code snippetsmanage_options + unfiltered_html

Troubleshooting

  • "No MCP servers registered" — Ensure the MCP Tools for Elementor plugin is active and all dependencies are met.
  • HTTP 401 — Check your Application Password is correct and the user has edit_posts capability.
  • Session errors — The HTTP endpoint requires Mcp-Session-Id header after initialize; the proxy handles this automatically.
  • WP-CLI not found on Windows — Use the full path to php.exe and wp-cli.phar.

Sample Prompts

The prompts/ directory includes ready-to-use landing page prompts that demonstrate the full power of MCP Tools for Elementor tools. Each prompt is a complete blueprint — paste it into your AI client and watch an entire page get built automatically.

PromptIndustryDescription
Local BusinessGeneralMulti-purpose small business landing page with hero, services, testimonials, and contact
Dental ClinicHealth & WellnessProfessional dental practice with services, team, insurance info, and appointment booking
Web Developer PortfolioProfessional ServicesDeveloper portfolio with project showcase, tech stack, and contact form
Hair SalonLifestyleStylish salon page with services menu, stylist profiles, and booking
Car WashLifestyleCar wash with wash packages, add-on services, and membership plans

Each prompt includes:

  • Complete design system (color palette, typography, spacing)
  • Image search keywords for stock photo sourcing
  • SVG icon specifications
  • Full page structure (hero, sections, footer)
  • Entrance animations using Elementor's built-in Motion Effects
  • Custom CSS for hover states
  • Custom JavaScript for scroll animations and counters
  • Step-by-step execution order

Want more? A premium collection of 50 industry-specific prompts covering restaurants, med spas, law firms, florists, photography studios, and more is available separately.

Contributing

We welcome contributions from the community! Whether it's bug reports, feature requests, documentation improvements, or code contributions — every bit helps.

See CONTRIBUTING.md for detailed guidelines on how to get started.

Quick start:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-tool)
  3. Make your changes and test locally
  4. Submit a Pull Request

License

This project is licensed under the GNU General Public License v3.0.

Reviews

No reviews yet

Sign in to write a review