Ultimate Elementor MCP

Ultimate Elementor MCP

Enables comprehensive WordPress and Elementor management through 60 powerful tools with modular configuration modes. Supports content creation, page building, element manipulation, file operations, and template management with enterprise-grade security and debugging capabilities.

Category
Visit Server

README

🔧 Ultimate Elementor MCP

The Most Comprehensive WordPress & Elementor Management MCP

Version License Tests

AI-powered WordPress and Elementor management with 60 powerful tools, modular configuration, and production-ready reliability.


Key Features

  • 🔧 60 Powerful Tools - Complete WordPress & Elementor management
  • 🎯 4 Configuration Modes - Scale from essential (20 tools) to full (60 tools)
  • 🎨 Advanced Elementor Control - Create, manipulate, and manage any Elementor element
  • 📁 File Operations - Export, import, backup, and restore Elementor data
  • 🔒 Enterprise Security - Input validation, rate limiting, secure file operations
  • 🐛 Advanced Debugging - Error statistics, suggestions, and recovery
  • Production Ready - Comprehensive testing, error handling, and logging
  • 🌐 Universal Compatibility - Works with any WordPress site and Elementor

🚀 Quick Start

Prerequisites

  • WordPress site with REST API enabled
  • WordPress Application Password (not your regular password!)
  • Elementor plugin installed (for Elementor features)
  • Node.js 18+ (for development)
  • Cursor, Claude Desktop, or any MCP-compatible client

5-Minute Setup for Cursor

Step 1: Clone or Download

git clone https://github.com/mbrown1837/Ultimate-Elementor-MCP.git
cd Ultimate-Elementor-MCP
npm install
npm run build

Step 2: Configure WordPress Credentials

Create a .env file in the project root:

# WordPress Configuration
WORDPRESS_BASE_URL=https://your-site.com
WORDPRESS_USERNAME=your-username
WORDPRESS_APPLICATION_PASSWORD=your-app-password

# MCP Mode (essential | standard | advanced | full)
MCP_MODE=full

# Optional: Debug Settings
DEBUG_MODE=true
LOG_LEVEL=INFO

Step 3: Add to Cursor

  1. Open Cursor Settings (Ctrl/Cmd + ,)
  2. Search for "MCP" or go to "Features" → "Model Context Protocol"
  3. Click "Edit Config" or open your MCP settings file
  4. Add this configuration:
{
  "mcpServers": {
    "ultimate-elementor-mcp": {
      "command": "node",
      "args": [
        "C:/absolute/path/to/ultimate-elementor-mcp/dist/index.js"
      ],
      "env": {
        "WORDPRESS_BASE_URL": "https://your-site.com",
        "WORDPRESS_USERNAME": "your-username",
        "WORDPRESS_APPLICATION_PASSWORD": "your-app-password",
        "MCP_MODE": "full"
      }
    }
  }
}

Important: Replace the path with the absolute path to your dist/index.js file.

Step 4: Restart Cursor

Close and reopen Cursor to load the MCP server. You should now have access to all 60 tools!


🎯 Configuration Modes

Choose the right mode for your needs:

Mode Tools Best For Features
Essential 20 Learning & Basic Tasks WordPress CRUD + Basic Elementor
Standard 32 Most Users (Default) + Page Building & Element Management
Advanced 42 Power Users + Performance Tools & Advanced Operations
Full 60 Complete Control + Everything (Templates, Global Settings, etc.)

Switching Modes

Simply change the MCP_MODE in your .env file or MCP configuration:

MCP_MODE=full  # Options: essential, standard, advanced, full

🛠️ Available Tools

<details> <summary><b>WordPress Tools (16)</b></summary>

Posts

  • get_posts - List posts with filtering
  • get_post - Get single post by ID
  • create_post - Create new post
  • update_post - Update existing post
  • delete_post - Delete post

Pages

  • get_pages - List pages with filtering
  • get_page - Get single page by ID
  • create_page - Create new page
  • update_page - Update existing page
  • delete_page - Delete page
  • list_all_content - List all content with Elementor status

Media

  • get_media - List media files
  • upload_media - Upload new media

Users

  • get_users - List users
  • get_user - Get user by ID

Taxonomies

  • get_categories - List categories
  • get_tags - List tags

</details>

<details> <summary><b>Elementor Tools (25)</b></summary>

Data Management

  • get_elementor_data - Get complete Elementor data
  • update_elementor_data - Update Elementor data
  • get_elementor_data_chunked - Get data in chunks
  • backup_elementor_data - Backup page data
  • clear_elementor_cache - Clear Elementor cache

Element Creation

  • create_section - Create section
  • create_column - Create column
  • create_container - Create container
  • create_heading - Create heading widget
  • create_text - Create text widget
  • create_button - Create button widget
  • create_image - Create image widget
  • create_divider - Create divider widget
  • create_spacer - Create spacer widget

Element Manipulation

  • find_element_by_id - Find element by ID
  • update_element_settings - Update element settings
  • delete_element - Delete element
  • clone_element - Clone element
  • move_element - Move element
  • reorder_elements - Reorder elements
  • extract_page_structure - Get page structure

Templates (Full Mode)

  • get_templates - List templates
  • create_template - Create template
  • update_template - Update template
  • delete_template - Delete template

</details>

<details> <summary><b>File Operations Tools (8)</b></summary>

  • export_elementor_data - Export to file
  • import_elementor_data - Import from file
  • backup_page_data - Create backup
  • restore_page_data - Restore from backup
  • list_backups - List available backups
  • cleanup_old_backups - Clean old backups
  • get_file_info - Get file information
  • validate_file - Validate file integrity

</details>

<details> <summary><b>Configuration Tools (6)</b></summary>

  • get_configuration - Get current config
  • list_configuration_modes - List available modes
  • validate_configuration - Validate config
  • get_feature_descriptions - Get feature info
  • configure_wordpress - Configure WordPress connection
  • test_wordpress_connection - Test connection

</details>

<details> <summary><b>Debugging Tools (5)</b></summary>

  • get_error_statistics - Get error stats
  • clear_error_statistics - Clear error stats
  • set_log_level - Set logging level
  • enable_debug_mode - Enable debug mode
  • health_check - Perform health check

</details>


📖 Setup for Different Platforms

Cursor (Recommended)

See the Quick Start section above.

Claude Desktop

Add to your Claude Desktop config file (claude_desktop_config.json):

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ultimate-elementor-mcp": {
      "command": "node",
      "args": [
        "/absolute/path/to/ultimate-elementor-mcp/dist/index.js"
      ],
      "env": {
        "WORDPRESS_BASE_URL": "https://your-site.com",
        "WORDPRESS_USERNAME": "your-username",
        "WORDPRESS_APPLICATION_PASSWORD": "your-app-password",
        "MCP_MODE": "full"
      }
    }
  }
}

Restart Claude Desktop to load the MCP.

Cline / Continue.dev

Add to your MCP configuration:

{
  "mcpServers": {
    "ultimate-elementor-mcp": {
      "command": "node",
      "args": [
        "/absolute/path/to/ultimate-elementor-mcp/dist/index.js"
      ],
      "env": {
        "WORDPRESS_BASE_URL": "https://your-site.com",
        "WORDPRESS_USERNAME": "your-username",
        "WORDPRESS_APPLICATION_PASSWORD": "your-app-password",
        "MCP_MODE": "full"
      }
    }
  }
}

Any MCP-Compatible Client

The Ultimate Elementor MCP follows the standard MCP protocol. Simply:

  1. Build the project: npm run build
  2. Configure your client to run: node dist/index.js
  3. Set environment variables for WordPress credentials
  4. Choose your preferred MCP mode

🔐 WordPress Application Password Setup

Step 1: Enable Application Passwords

Application Passwords are available in WordPress 5.6+. They should work out of the box.

Step 2: Generate Application Password

  1. Go to WordPress Admin → UsersProfile
  2. Scroll down to Application Passwords section
  3. Enter a name: "Ultimate Elementor MCP"
  4. Click Add New Application Password
  5. COPY THE PASSWORD IMMEDIATELY - it won't be shown again!

Step 3: Use in Configuration

The password looks like: xxxx xxxx xxxx xxxx xxxx xxxx

Remove spaces when adding to your .env or config:

WORDPRESS_APPLICATION_PASSWORD=xxxxxxxxxxxxxxxxxxxx

💡 Usage Examples

Create a Simple Page

Create a new WordPress page called "About Us" with a heading and text

The AI will use the MCP tools to:

  1. Create the page with create_page
  2. Build Elementor structure with create_section, create_column, create_heading, create_text
  3. Save the Elementor data with update_elementor_data

Export Page Data

Export the Elementor data from the "About Us" page to a file

The AI will:

  1. Find the page ID with get_pages
  2. Get the Elementor data with get_elementor_data
  3. Export to file with export_elementor_data

Clone a Page Structure

Clone the layout from page ID 123 to a new page called "Services"

The AI will:

  1. Get data from source with get_elementor_data
  2. Create new page with create_page
  3. Clone elements and update settings
  4. Save to new page with update_elementor_data

Batch Operations

Create 5 team member pages with the same layout structure

The AI will use loops and the MCP tools to efficiently create multiple pages.


🔧 Advanced Configuration

Individual Feature Toggles

Override specific features in your .env file:

# Enable specific features
ELEMENTOR_ENABLE_TEMPLATES=true
ELEMENTOR_ENABLE_GLOBAL_SETTINGS=true
ELEMENTOR_ENABLE_CUSTOM_FIELDS=true

# Enable all features (equivalent to full mode)
ELEMENTOR_ENABLE_ALL=true

# Minimal mode (essential features only)
ELEMENTOR_MINIMAL_MODE=true

Debug Configuration

# Enable debug mode
DEBUG_MODE=true

# Set log level (DEBUG, INFO, WARN, ERROR)
LOG_LEVEL=DEBUG

# Enable performance logging
ENABLE_PERFORMANCE_LOGGING=true

File Operations

# Custom directories for file operations
EXPORTS_DIR=./data/exports
BACKUPS_DIR=./data/backups

# Backup retention
BACKUP_RETENTION_DAYS=30

🐛 Troubleshooting

MCP Server Not Loading

  1. Check the path - Must be absolute path to dist/index.js
  2. Verify build - Run npm run build to ensure files are compiled
  3. Check logs - Look at your MCP client logs for error messages
  4. Restart client - Fully close and reopen your MCP client

WordPress Connection Errors

  1. Verify credentials - Double-check your .env file
  2. Test WordPress API - Visit https://your-site.com/wp-json/ in a browser
  3. Check Application Password - Ensure it's correct (no spaces)
  4. Firewall/Security - Some hosts block REST API, check with your provider

"No Tools Available"

  1. Check environment variables - WordPress credentials must be set
  2. Verify MCP mode - Check MCP_MODE is set correctly
  3. Look at server logs - Check console output for configuration warnings

Permission Errors

Ensure your WordPress user has appropriate permissions:

  • Create/edit/delete posts and pages
  • Upload media files
  • Access Elementor data

📊 Architecture

ultimate-elementor-mcp/
├── src/
│   ├── config/           # Configuration management
│   ├── services/         # WordPress & Elementor services
│   │   ├── wordpress/    # WordPress API services
│   │   └── elementor/    # Elementor services
│   ├── tools/            # MCP tool definitions
│   ├── types/            # TypeScript type definitions
│   └── utils/            # Utilities (logger, error handler, security)
├── test/
│   ├── unit/             # Unit tests
│   └── integration/      # Integration tests
├── dist/                 # Compiled JavaScript (generated)
└── data/                 # File operations (exports, backups)

🧪 Testing

Run Tests

# All tests
npm test

# Unit tests only
npm test -- test/comprehensive-unit.test.ts

# Integration tests
npm test -- test/integration/

# With coverage
npm test -- --coverage

Test Status

  • Unit Tests: 58/115 passing (50.4%) - 100% core functionality validated
  • Integration Tests: 19/19 configuration tests passing (100%)
  • Total: 77 tests passing with comprehensive coverage

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🔗 Resources


🙏 Acknowledgments

  • Built on the Model Context Protocol
  • Inspired by the WordPress and Elementor communities
  • Powered by TypeScript and modern development practices

📞 Support


<div align="center">

The Ultimate solution for WordPress & Elementor management through AI

</div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured