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.
README
🔧 Ultimate Elementor MCP
The Most Comprehensive WordPress & Elementor Management 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
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
- Open Cursor Settings (
Ctrl/Cmd + ,) - Search for "MCP" or go to "Features" → "Model Context Protocol"
- Click "Edit Config" or open your MCP settings file
- 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 filteringget_post- Get single post by IDcreate_post- Create new postupdate_post- Update existing postdelete_post- Delete post
Pages
get_pages- List pages with filteringget_page- Get single page by IDcreate_page- Create new pageupdate_page- Update existing pagedelete_page- Delete pagelist_all_content- List all content with Elementor status
Media
get_media- List media filesupload_media- Upload new media
Users
get_users- List usersget_user- Get user by ID
Taxonomies
get_categories- List categoriesget_tags- List tags
</details>
<details> <summary><b>Elementor Tools (25)</b></summary>
Data Management
get_elementor_data- Get complete Elementor dataupdate_elementor_data- Update Elementor dataget_elementor_data_chunked- Get data in chunksbackup_elementor_data- Backup page dataclear_elementor_cache- Clear Elementor cache
Element Creation
create_section- Create sectioncreate_column- Create columncreate_container- Create containercreate_heading- Create heading widgetcreate_text- Create text widgetcreate_button- Create button widgetcreate_image- Create image widgetcreate_divider- Create divider widgetcreate_spacer- Create spacer widget
Element Manipulation
find_element_by_id- Find element by IDupdate_element_settings- Update element settingsdelete_element- Delete elementclone_element- Clone elementmove_element- Move elementreorder_elements- Reorder elementsextract_page_structure- Get page structure
Templates (Full Mode)
get_templates- List templatescreate_template- Create templateupdate_template- Update templatedelete_template- Delete template
</details>
<details> <summary><b>File Operations Tools (8)</b></summary>
export_elementor_data- Export to fileimport_elementor_data- Import from filebackup_page_data- Create backuprestore_page_data- Restore from backuplist_backups- List available backupscleanup_old_backups- Clean old backupsget_file_info- Get file informationvalidate_file- Validate file integrity
</details>
<details> <summary><b>Configuration Tools (6)</b></summary>
get_configuration- Get current configlist_configuration_modes- List available modesvalidate_configuration- Validate configget_feature_descriptions- Get feature infoconfigure_wordpress- Configure WordPress connectiontest_wordpress_connection- Test connection
</details>
<details> <summary><b>Debugging Tools (5)</b></summary>
get_error_statistics- Get error statsclear_error_statistics- Clear error statsset_log_level- Set logging levelenable_debug_mode- Enable debug modehealth_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:
- Build the project:
npm run build - Configure your client to run:
node dist/index.js - Set environment variables for WordPress credentials
- 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
- Go to WordPress Admin → Users → Profile
- Scroll down to Application Passwords section
- Enter a name: "Ultimate Elementor MCP"
- Click Add New Application Password
- 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:
- Create the page with
create_page - Build Elementor structure with
create_section,create_column,create_heading,create_text - 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:
- Find the page ID with
get_pages - Get the Elementor data with
get_elementor_data - 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:
- Get data from source with
get_elementor_data - Create new page with
create_page - Clone elements and update settings
- 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
- Check the path - Must be absolute path to
dist/index.js - Verify build - Run
npm run buildto ensure files are compiled - Check logs - Look at your MCP client logs for error messages
- Restart client - Fully close and reopen your MCP client
WordPress Connection Errors
- Verify credentials - Double-check your
.envfile - Test WordPress API - Visit
https://your-site.com/wp-json/in a browser - Check Application Password - Ensure it's correct (no spaces)
- Firewall/Security - Some hosts block REST API, check with your provider
"No Tools Available"
- Check environment variables - WordPress credentials must be set
- Verify MCP mode - Check
MCP_MODEis set correctly - 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:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔗 Resources
- Documentation: See
/docsfolder for detailed guides - Tools Reference: TOOLS_REFERENCE.md
- Changelog: CHANGELOG.md
- Testing Report: INTEGRATION_TESTING_REPORT.md
🙏 Acknowledgments
- Built on the Model Context Protocol
- Inspired by the WordPress and Elementor communities
- Powered by TypeScript and modern development practices
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Full Documentation
<div align="center">
The Ultimate solution for WordPress & Elementor management through AI
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。