Get Widget Schema is a WordPress ability from Premium Addons for Elementor — usable via Easy MCP AI, which connects Claude, ChatGPT, and any AI assistant to your site.
Install Free Plugin →Get Widget Schema
Read-onlyIntrospect the full settings schema — every control/prop key, type, enum and default — for any registered widget or structural element type.
Requires the Premium Addons for Elementor plugin on WordPress 7.0+ for the Abilities API (abilities are registered only when the wp_register_ability() function exists). Dashboard, settings and site-inventory abilities (get-id-by-title, list-pages, list-templates, get-global-settings, get-settings, update-setting, scan-usage, disable-unused-widgets, clear-dynamic-assets, subscribe-newsletter) require the caller hold the 'manage_options' capability. premium-addons/create-page requires 'edit_pages'. premium-addons/get-widget-schema, premium-addons/get-addon-schema, premium-addons/list-available-elements, premium-addons/list-pa-addons, premium-addons/detect-atomic-support, premium-addons/check-elementor-element and premium-addons/create-elementor-template require 'edit_posts'. premium-addons/get-page-structure, premium-addons/get-element-settings, premium-addons/add-flexbox, premium-addons/add-container, premium-addons/update-element-settings, premium-addons/insert-widget, premium-addons/remove-element, premium-addons/change-post-status and premium-addons/duplicate-post require 'edit_post' on the target post_id, and deny requests for a nonexistent post_id outright.
What it does
This ability returns the settings schema for a widget or element type name (e.g. premium-carousel, container, e-flexbox): a JSON Schema object whose properties map each control or content-prop key to its type, and where relevant its enum, default and depends_on visibility rule. For classic (v3) types it optionally filters to a single controls tab (content, style, advanced, or all); for atomic (v4) types tabs don't apply, so it always returns the full props schema built from get_props_schema(). It force-primes Elementor's widget registry first, since on a raw REST/MCP call the elementor/widgets/register hook may not have fired yet. Elementor's own injected common-tab controls (motion effects, transform, background, responsive, custom CSS) and Premium Addons' global-addon sections (Floating Effects, Tooltips, Display Conditions, …) are stripped out, leaving only the type's own settings. This is the ability an AI assistant should call before premium-addons/insert-widget or premium-addons/update-element-settings, so it uses real control keys instead of guessing them.
See it in action
You ask your AI assistant
"What settings does the premium-carousel widget support, and what are the valid values?"
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| element | string | Yes | The widget or element type name to introspect (e.g. premium-carousel, heading, container, e-flexbox). |
| tab | string | No | Which controls tab to include for classic (v3) types: content, style, advanced, or all. Ignored for atomic (v4) types, which have no tabs. Defaults to all. |
Returns
An object with element (the type name), kind (element for structural types, widget for widgets), title, is_atomic, tab (the tab the schema was filtered to, always all for atomic types), and schema — a JSON Schema object whose properties map each control/prop key to its type, enum, default and depends_on.
Permission
The current user must have the 'edit_posts' capability, checked via Admin_Helper::check_user_can('edit_posts').
More Premium Addons for Elementor abilities
Add Container (Elementor v3)
Add a new Elementor v3 (classic) container to a page, with layout, background, border and spacing already set.
Add Flexbox (Elementor v4 atomic)
Add a new Elementor v4 atomic flexbox container to a page, with layout, background, border and spacing already set.
Change Post Status
Change the status of a page, post or Elementor template (e.g. draft to publish).
Check Copy Compatibility
Check whether this site can render elements copied from another site via a transfer URL, before actually importing them.
Check Elementor Element
Check whether a specific element or widget type is registered on the site before trying to build with it.
Clear Premium Addons Dynamic Assets
Clear generated dynamic CSS/JS asset files and purge the related caches.