Skip to main content
Glama

Ultimate Elementor MCP

by mbrown1837
README.mdโ€ข14.6 kB
# ๐Ÿ”ง Ultimate Elementor MCP **The Most Comprehensive WordPress & Elementor Management MCP** [![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/mbrown1837/Ultimate-Elementor-MCP) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](https://github.com/mbrown1837/Ultimate-Elementor-MCP) > 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** ```bash 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: ```env # 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: ```json { "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: ```env 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](#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` ```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: ```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" } } } } ``` ### **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 โ†’ **Users** โ†’ **Profile** 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: ```env 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: ```env # 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** ```env # 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** ```env # 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** ```bash # 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](LICENSE) file for details. --- ## ๐Ÿ”— **Resources** - **Documentation**: See `/docs` folder for detailed guides - **Tools Reference**: [TOOLS_REFERENCE.md](docs/TOOLS_REFERENCE.md) - **Changelog**: [CHANGELOG.md](CHANGELOG.md) - **Testing Report**: [INTEGRATION_TESTING_REPORT.md](INTEGRATION_TESTING_REPORT.md) --- ## ๐Ÿ™ **Acknowledgments** - Built on the [Model Context Protocol](https://modelcontextprotocol.io/) - Inspired by the WordPress and Elementor communities - Powered by TypeScript and modern development practices --- ## ๐Ÿ“ž **Support** - **Issues**: [GitHub Issues](https://github.com/mbrown1837/Ultimate-Elementor-MCP/issues) - **Discussions**: [GitHub Discussions](https://github.com/mbrown1837/Ultimate-Elementor-MCP/discussions) - **Documentation**: [Full Documentation](docs/) --- <div align="center"> *The Ultimate solution for WordPress & Elementor management through AI* </div>

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mbrown1837/Ultimate-Elementor-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server