Skip to main content
Glama

Frontman for WordPress

wp_elementor_update_element

Destructive

Updates one Elementor element after saving a private rollback snapshot. Prefer top-level fields for common edits: background_image_id/background_image_url plus background_size/background_position/background_repeat for containers; heading_html for heading widgets; text_editor_html for text-editor widgets; title_color and title_typography_font_family for heading styles. Use settings only for other Elementor settings and never call with settings: {}. If changing a child widget inside a selected container, update the child element_id directly. For Elementor HTML widgets, provide old_html and new_html to replace an exact fragment inside settings.html.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "site_id": "<site_id>",
      "post_id": "<post_id>",
      "element_id": "<element_id>"
    },
    "name": "wp_elementor_update_element"
  }
}

Input Schema

NameRequiredDescriptionDefault
post_idYes
site_idYesThe connected site's id returned by list_sites. Call list_sites first; do not use a URL or WordPress post ID.
new_htmlNoReplacement HTML fragment for an Elementor HTML widget. Use an empty string to remove the exact fragment.
old_htmlNoExact HTML fragment currently present in an Elementor HTML widget settings.html.
settingsNoElementor settings keys to merge for non-HTML-fragment updates. Must contain at least one setting; omit settings instead of passing {}.
element_idYes
occurrenceNo1-based occurrence to replace when old_html appears more than once.
title_colorNoReplacement heading title color, for example #FFFFFF.
heading_htmlNoReplacement value for a heading widget settings.heading field, including any desired HTML wrapper.
background_sizeNoElementor background_size, for example cover.
text_editor_htmlNoReplacement value for a text-editor widget settings.editor field. Use an empty string to clear it.
background_repeatNoElementor background_repeat, for example no-repeat.
background_image_idNoMedia attachment ID for an Elementor container background image.
background_positionNoElementor background_position, for example center center.
background_image_urlNoURL for an Elementor container background image.
title_typography_font_familyNoReplacement heading font family.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructive=true, openWorldHint=true, and idempotentHint=false, so the safety bar is partly covered; the description still adds material context by disclosing that a private rollback snapshot is saved before the write. It does not explain failure behavior, partial-merge semantics on existing settings, or how to invoke the rollback.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the tool does and its snapshot behavior, then proceeds in short directive sentences with no filler. It is dense for a single paragraph but every clause carries operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 16-parameter mutation tool with no output schema and nested settings, the definition covers the hard parts: which fields to prefer, the empty-settings prohibition, and HTML-fragment replacement. It omits how to discover element_id and how to recover via the snapshot, which an agent would need for a fully self-contained call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 88% schema coverage the baseline is 3, but the description earns more by mapping fields to element types (background_* for containers, heading_html for headings, text_editor_html for text editors) and by explaining the old_html/new_html exact-fragment replacement pattern. It leaves occurrence and the settings-merge semantics largely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Updates one Elementor element') plus a notable side effect ('after saving a private rollback snapshot'), which distinguishes it from add/duplicate/move siblings. An agent knows immediately this is the mutation path for an existing element.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete routing rules: prefer top-level fields for common edits, use settings only for other Elementor settings, never pass settings: {}, and update the child element_id directly rather than the container. It stops short of naming sibling tools for discovery (get_element, list_rollbacks/restore_rollback) or stating prerequisites for obtaining element_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.