Skip to main content
Glama
TOOLS_REFERENCE.md15 kB
# Ultimate Elementor MCP - Tools Reference ## Overview This document provides a comprehensive reference for all 41 MCP tools available in the Ultimate Elementor MCP. ## Tool Count by Category - **WordPress Tools**: 16 tools - **Elementor Tools**: 25 tools - **Total**: 41 tools --- ## WordPress Tools (16 tools) ### Posts Management (4 tools) #### `get_posts` Retrieve WordPress posts with optional filtering. **Parameters**: - `per_page` (number, default: 10) - Number of posts to retrieve - `status` (string, default: 'publish') - Post status filter - `search` (string) - Search term to filter posts - `author` (number) - Filter by author ID **Returns**: List of posts with pagination info --- #### `get_post` Get a specific WordPress post by ID. **Parameters**: - `id` (number, required) - Post ID to retrieve **Returns**: Post object with all fields --- #### `create_post` Create a new WordPress post. **Parameters**: - `title` (string, required) - Post title - `content` (string, required) - Post content (HTML) - `status` (string, default: 'draft') - Post status - `excerpt` (string) - Post excerpt - `categories` (array of numbers) - Category IDs - `tags` (array of numbers) - Tag IDs **Returns**: Created post ID and details --- #### `update_post` Update an existing WordPress post. **Parameters**: - `id` (number, required) - Post ID to update - `title` (string) - Post title - `content` (string) - Post content - `status` (string) - Post status - `excerpt` (string) - Post excerpt **Returns**: Updated post object --- ### Pages Management (5 tools) #### `get_pages` Retrieve WordPress pages. **Parameters**: - `per_page` (number, default: 10) - Number of pages - `status` (string, default: 'publish') - Page status filter **Returns**: List of pages with pagination --- #### `create_page` Create a new WordPress page. **Parameters**: - `title` (string, required) - Page title - `content` (string, default: '') - Page content - `status` (string, default: 'draft') - Page status - `parent` (number) - Parent page ID **Returns**: Created page ID --- #### `update_page` Update an existing WordPress page. **Parameters**: - `id` (number, required) - Page ID - `title` (string) - Page title - `content` (string) - Page content - `status` (string) - Page status **Returns**: Updated page object --- #### `list_all_content` List all posts and pages with their IDs and Elementor status. **Parameters**: - `per_page` (number, default: 50) - Items per type - `include_all_statuses` (boolean, default: false) - Include drafts/private **Returns**: Combined list of posts and pages --- ### Media Management (2 tools) #### `get_media` Get WordPress media library items. **Parameters**: - `per_page` (number, default: 10) - Number of items - `media_type` (string) - Filter by type (image, video, audio) **Returns**: List of media items --- #### `upload_media` Upload media file to WordPress. **Parameters**: - `file_path` (string, required) - Path to file - `title` (string) - Media title - `alt_text` (string) - Alternative text **Returns**: Uploaded media ID and URL --- ### User Management (2 tools) #### `get_users` Get WordPress users. **Parameters**: - `per_page` (number, default: 10) - Number of users - `roles` (array of strings) - Filter by roles **Returns**: List of users --- #### `create_user` Create a new WordPress user. **Parameters**: - `username` (string, required) - Username - `email` (string, required) - Email address - `password` (string, required) - Password - `roles` (array of strings) - User roles **Returns**: Created user ID --- ### Taxonomy Management (4 tools) #### `get_categories` Get WordPress categories. **Parameters**: - `per_page` (number, default: 10) - Number of categories **Returns**: List of categories --- #### `create_category` Create a new category. **Parameters**: - `name` (string, required) - Category name - `description` (string) - Description - `parent` (number) - Parent category ID **Returns**: Created category ID --- #### `get_tags` Get WordPress tags. **Parameters**: - `per_page` (number, default: 10) - Number of tags **Returns**: List of tags --- #### `create_tag` Create a new tag. **Parameters**: - `name` (string, required) - Tag name - `description` (string) - Description **Returns**: Created tag ID --- ## Elementor Tools (25 tools) ### Basic Elementor Data Operations (5 tools) #### `get_elementor_data` Get complete Elementor data for a page. **Parameters**: - `post_id` (number, required) - Post/Page ID **Returns**: Complete Elementor data structure --- #### `update_elementor_data` Update complete Elementor data for a page. **Parameters**: - `post_id` (number, required) - Post/Page ID - `elementor_data` (string, required) - Elementor data as JSON string **Returns**: Success message --- #### `get_elementor_data_chunked` Get Elementor data in chunks for large pages. **Parameters**: - `post_id` (number, required) - Post/Page ID - `chunk_size` (number, default: 50) - Elements per chunk **Returns**: Chunked data with metadata --- #### `backup_elementor_data` Create backup of Elementor data. **Parameters**: - `post_id` (number, required) - Post/Page ID **Returns**: Backup with timestamp and checksum --- #### `clear_elementor_cache` Clear Elementor cache for performance. **Parameters**: None **Returns**: Success message --- ### Page Structure (1 tool) #### `get_page_structure` Get hierarchical structure of a page. **Parameters**: - `post_id` (number, required) - Post/Page ID - `include_settings` (boolean, default: false) - Include settings **Returns**: Flattened tree structure --- ### Section & Container Creation (2 tools) #### `create_elementor_section` Create a new Elementor section with columns. **Parameters**: - `post_id` (number, required) - Post/Page ID - `columns` (number, default: 1) - Number of columns - `position` (number) - Insert position - `section_settings` (object) - Section settings **Returns**: Created section ID --- #### `create_elementor_container` Create a new Elementor container (Flexbox). **Parameters**: - `post_id` (number, required) - Post/Page ID - `position` (number) - Insert position - `container_settings` (object) - Container settings **Returns**: Created container ID --- ### Widget Management (6 tools) #### `add_widget_to_section` Add a widget to a section or column. **Parameters**: - `post_id` (number, required) - Post/Page ID - `parent_id` (string, required) - Parent element ID - `widget_type` (string, required) - Widget type - `widget_settings` (object) - Widget settings - `position` (number) - Position in parent **Returns**: Created widget ID --- #### `clone_widget` Clone an existing widget. **Parameters**: - `post_id` (number, required) - Post/Page ID - `widget_id` (string, required) - Widget to clone - `target_parent_id` (string) - Target parent - `position` (number) - Position in target **Returns**: Cloned widget ID --- #### `add_heading_widget` Add a pre-configured heading widget. **Parameters**: - `post_id` (number, required) - Post/Page ID - `parent_id` (string, required) - Parent element ID - `text` (string, required) - Heading text - `tag` (string, default: 'h2') - HTML tag (h1-h6) - `position` (number) - Position in parent **Returns**: Created widget ID --- #### `add_text_widget` Add a text editor widget. **Parameters**: - `post_id` (number, required) - Post/Page ID - `parent_id` (string, required) - Parent element ID - `content` (string, required) - Text content (HTML supported) - `position` (number) - Position in parent **Returns**: Created widget ID --- #### `add_button_widget` Add a button widget. **Parameters**: - `post_id` (number, required) - Post/Page ID - `parent_id` (string, required) - Parent element ID - `text` (string, required) - Button text - `link` (string, default: '#') - Button URL - `position` (number) - Position in parent **Returns**: Created widget ID --- #### `add_image_widget` Add an image widget. **Parameters**: - `post_id` (number, required) - Post/Page ID - `parent_id` (string, required) - Parent element ID - `image_url` (string, required) - Image URL - `image_id` (number) - WordPress media ID - `position` (number) - Position in parent **Returns**: Created widget ID --- ### Element Manipulation (4 tools) #### `update_element_settings` Update settings for any element. **Parameters**: - `post_id` (number, required) - Post/Page ID - `element_id` (string, required) - Element ID - `settings` (object, required) - Settings to update **Returns**: Success message --- #### `delete_elementor_element` Delete an element (section, column, or widget). **Parameters**: - `post_id` (number, required) - Post/Page ID - `element_id` (string, required) - Element to delete **Returns**: Success message --- #### `move_element` Move an element to a new position. **Parameters**: - `post_id` (number, required) - Post/Page ID - `element_id` (string, required) - Element to move - `target_parent_id` (string) - Target parent ID - `position` (number, required) - Position in target **Returns**: Success message --- #### `reorder_elements` Change the order of elements. **Parameters**: - `post_id` (number, required) - Post/Page ID - `parent_id` (string) - Parent element ID (null for root) - `new_order` (array of strings, required) - Element IDs in new order **Returns**: Success message --- ### Element Search (2 tools) #### `find_elements_by_type` Find all elements of a specific type. **Parameters**: - `post_id` (number, required) - Post/Page ID - `element_type` (string, required) - Type (section, column, widget, container) **Returns**: Array of matching elements --- #### `find_widgets_by_type` Find all widgets of a specific type. **Parameters**: - `post_id` (number, required) - Post/Page ID - `widget_type` (string, required) - Widget type **Returns**: Array of matching widgets --- ### Template Management (3 tools) #### `get_elementor_templates` Get Elementor templates. **Parameters**: - `per_page` (number, default: 10) - Number of templates - `type` (string) - Template type (page, section, widget) **Returns**: List of templates --- #### `create_elementor_template` Create a new Elementor template. **Parameters**: - `title` (string, required) - Template title - `type` (string, required) - Template type - `content` (string, required) - Template content as JSON **Returns**: Created template ID --- #### `apply_template_to_page` Apply template to a page. **Parameters**: - `page_id` (number, required) - Target page ID - `template_id` (number, required) - Template to apply **Returns**: Success message --- ### Advanced Operations (2 tools) #### `copy_element_settings` Copy settings from one element to another. **Parameters**: - `post_id` (number, required) - Post/Page ID - `source_element_id` (string, required) - Source element - `target_element_id` (string, required) - Target element - `settings_keys` (array of strings) - Specific settings to copy **Returns**: Success message --- #### `duplicate_section` Duplicate an existing section. **Parameters**: - `post_id` (number, required) - Post/Page ID - `section_id` (string, required) - Section to duplicate - `position` (number) - Insert position **Returns**: Duplicated section ID --- ## Configuration Modes ### Essential Mode (20 tools) - All WordPress CRUD operations - Basic Elementor data operations - No advanced features ### Standard Mode (32 tools) - All Essential tools - Section/container creation - Widget management - Element manipulation - Page structure tools ### Advanced Mode (39 tools) - All Standard tools - Template management - Advanced search - Performance optimization ### Full Mode (41 tools) - All Advanced tools - Global settings management - Custom fields integration - Revision history (when available) --- ## Usage Examples ### Creating a Complete Page ```javascript // 1. Create a new page create_page({ title: "My New Page", status: "draft" }) // 2. Create a section with 2 columns create_elementor_section({ post_id: 123, columns: 2 }) // 3. Add a heading to the first column add_heading_widget({ post_id: 123, parent_id: "column_id", text: "Welcome", tag: "h1" }) // 4. Add text content add_text_widget({ post_id: 123, parent_id: "column_id", content: "<p>This is my content</p>" }) // 5. Publish the page update_page({ id: 123, status: "publish" }) ``` ### Managing Elements ```javascript // Find all heading widgets find_widgets_by_type({ post_id: 123, widget_type: "heading" }) // Move an element move_element({ post_id: 123, element_id: "widget_123", target_parent_id: "column_456", position: 0 }) // Duplicate a section duplicate_section({ post_id: 123, section_id: "section_789" }) // Copy settings between elements copy_element_settings({ post_id: 123, source_element_id: "widget_123", target_element_id: "widget_456" }) ``` ### Working with Templates ```javascript // Get available templates get_elementor_templates({ per_page: 20, type: "page" }) // Apply a template apply_template_to_page({ page_id: 123, template_id: 456 }) // Create your own template create_elementor_template({ title: "My Template", type: "section", content: "{...}" }) ``` --- ## Error Handling All tools implement comprehensive error handling: - **Authentication Errors**: Clear messages about credential issues - **Validation Errors**: Detailed information about invalid inputs - **Network Errors**: Connection and timeout handling - **WordPress API Errors**: HTTP status codes and WordPress error messages - **Elementor Data Errors**: Parsing and structure validation Error responses include: - Error message - Error category - Error code - Detailed context - Suggested fixes (when applicable) --- ## Performance Considerations - **Chunked Data**: Use `get_elementor_data_chunked` for large pages - **Backup Before Changes**: Use `backup_elementor_data` before major modifications - **Cache Management**: Use `clear_elementor_cache` after bulk operations - **Batch Operations**: Group multiple changes when possible --- ## Best Practices 1. **Always backup before major changes**: Use `backup_elementor_data` 2. **Get page structure first**: Use `get_page_structure` to understand layout 3. **Use pre-built widgets**: Faster than creating custom widgets 4. **Test with drafts**: Use `status: "draft"` until ready 5. **Check Elementor data**: Verify with `get_elementor_data` after changes 6. **Clear cache**: Clear cache after bulk operations for best performance --- ## Support For issues, questions, or feature requests: - Check the troubleshooting guide - Review error messages for details - Use debug mode for detailed logging - Check WordPress and Elementor documentation --- ## Version History - **v1.0.0**: Initial release with 41 tools - 16 WordPress tools - 25 Elementor tools - Full CRUD operations - Template management - Advanced manipulation features

Latest Blog Posts

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