Skip to content

Query & Discovery

These tools never mutate state. They require edit_posts and are safe to call before any write operation. They’re how the AI figures out what exists before changing anything.

All seven are on by default. Their switches are in the Query & Discovery section of the Elementor tab on EMCP Tools → Tools, which appears while Elementor is the builder selected on EMCP Tools → Page Builders. The same section also holds get-page-snapshot.

Returns a compact index of the curated widget catalog. Filter it with tier (free, pro, woo), category, or search (matches intent across title, use case and keywords, e.g. "pricing table"). It is step 1 of the discover → inspect → act flow. Widgets outside the catalog (custom or third-party) can still be placed by type; see Widgets.

Returns: { widgets: [{ type, title, tier, category, use_case, param_names, requires }] }.

Returns the curated params for a widget by default: the settings you actually need, with types and defaults. Pass a types array to inspect several widgets at once, or full: true for the complete auto-generated control schema. Used before add-free-widget / add-pro-widget to know which settings are valid.

Input: widget_type (e.g. "heading", "button", "form"). Returns: curated params object (or the full JSON Schema when full: true).

Returns the full element tree for an Elementor-enabled page: containers, widgets, nesting, IDs. The starting point for any “edit this page” workflow.

Input: post_id. Optional summary (boolean) and max_depth (integer), added in v3.8.0: summary: true returns a lighter tree, per-element settings omitted, each node gets a child_count instead; max_depth stops descending past that many levels, deeper nodes report child_count rather than their children (0 or omitted = full depth). Use either on very large pages to avoid a huge response. Returns: tree of { id, elType, widgetType?, settings, elements: [...] }.

Returns the current settings of a specific element by ID.

Input: post_id, element_id. Returns: settings object.

Lists every Elementor-enabled page or post on the site.

Returns: array of { id, title, status, post_type, edit_url }.

Lists saved templates from the Elementor template library.

Returns: array of { id, title, type, date, author }.

Returns the active Elementor kit’s global settings: color palette, typography presets, spacing, default fonts.

Returns: kit settings object.

1. list-pages → find the target page
2. get-page-structure → understand existing layout
3. get-element-settings → inspect a specific element you want to modify
4. update-widget → apply changes

Reading before writing is the most reliable pattern for the AI. It prevents the “regenerate from scratch” failure mode and keeps existing content intact.