Skip to main content
Twenty-eight tools, filtered by the site’s capabilities and the connection’s scopes. Arguments are JSON objects; every response carries a message written for the assistant.

Knowledge

get_build_guide

{topic, widgets?, variant?}. The build knowledge in the smallest useful unit. rules is the must-read (create_page and create_template refuse until this conversation has read it). widgets with widgets:[…] returns the cards for the widgets about to be placed; without the list, the index. header returns the recipe and the canonical header tree; footer the recipe; both take variant for a ready-made shape. Also composed-ui, loops, single-post, woocommerce, popup, effects, fonts, icons, nav-menu, pricing, example, and the long forms rules-full and widgets-full.

Design system

get_design_system

Global colours by role, custom colours, typography for h1–h6 and body, the button style, the body background, the look, and fonts: the Custom Fonts installed on the site with the weights that ship.

update_design_system

{colors?, custom_colors?, typography?, buttons?, body_background?, look?}. Pass only what changes. A family must be a Google Fonts family or an installed Custom Font; anything else is ignored and reported. A snapshot is kept for revert_design_system.

revert_design_system

Restores the kit settings and the look from the snapshot taken before the last update.

upload_font

{family, url?} or {family, request_upload_url:true, filenames?} or {check_upload}. One file per weight; the family is created on first use; weight and style are read from the file name. Share links work as url.

Pages and templates

create_page

{title, elements, status?, page_settings?, add_to_menu?, set_as_front_page?, allow_placeholders?, keep_layout?}. An Elementor element tree in the “Paste from other site” shape. Draft unless told otherwise; gets the full-width template; external images import automatically. A publish that still shows placeholder images is saved as draft.

update_page

{page_id, operations, expect_sections?, status?, title?}. Section operations: replace, insert_before, insert_after, append, remove. expect_sections refuses a stale index.

build_page

{title, sections, look?, …}. The plan-based generator; hidden unless the plan_build feature is on.

create_template

{type, title, elements, conditions?, status?, menu_items?, popup?, triggers?, mega_menu_width?}. Types: header, footer, error-404, popup, archive, single-post, mega-menu, loop-item, product, product-archive. Published with display conditions; a header creates and assigns a fresh menu; publishing drafts other templates of the same type.

create_post

{title, elements | content_html, excerpt?, categories?, tags?, featured_image_url?, status?}.

Reading

list_pages

{type?, search?}. Pages, posts, templates or any Elementor-built post type. Starter templates are flagged. On a shop the WooCommerce pages are named.

get_page

{page_id, mode?, section?}. mode:"outline" is one line per band; section is one band; default is the full tree. Credentials in form settings come back redacted and are restored on save.

list_menus

Menus with locations and items.

Site

update_site_settings

{site_title?, tagline?, front_page_id?, posts_page_id?}. {logo_url | logo_attachment_id, light_logo_url | light_logo_attachment_id}. Matched by tone; the pair is swapped when the pixels prove them inverted. Placeholder services are refused. {text, industry, icon?, layout?, font?, color?, icon_color?, light_color?, light_icon_color?, font_size?, set_as_logo?}. A wordmark drawn on the server in the site’s own font, with a white variant; the industry picks a relevant mark.

add_to_menu

{menu, page_id | url+title | mega_menu_id, parent_id?}.

Media and brand

upload_media

{url} or {request_upload_url:true, filenames?, count?, hand_to_user?} or {check_upload}. See Uploads.

get_brand_assets

The files the site owner dropped into Brand assets, with roles, tones and font weights, plus the current logo and installed fonts.

fetch_brand

{domain}. Logo candidates from a business’s website (inline SVG logos imported outright, others with size and tone), the colours its CSS declares and the font families it names.

search_images

{query, count?, orientation?, with_thumbnails?, min_width?}. Openly-licensed photos from Openverse. Thumbnails come back as image blocks so a client that renders images can choose by eye. Creator and licence are stored on the attachment on import.

list_media

{missing_alt?, search?}.

set_image_alt

{attachment_id, alt}.

set_meta_description

{page_id, description}.

Maintenance

optimize_site

{action: run | status}. Bevel’s One-Click Optimization, advanced in fifteen-second steps.

convert_webp

{enable_serving?}. Converts the media library in batches.

clear_cache

Hard-clears every cache. Content changes purge automatically; this is for the rare case a change does not show.

optimize_database

{mode: report | run, optimize_tables?}. Report first, always; run deletes permanently.

list_form_submissions

{days?, form_name?}. Read-only.

Annotations

Every tool declares MCP annotations: reads are readOnlyHint, writes that replace content are destructiveHint, settings tools are idempotentHint, and the two that reach the internet are openWorldHint. Clients that read them stop asking permission for reads.