Skip to main content
Glama

mcp-easy-ai__wp_get_page_layout

Read-only

Reads the layout of a post, page, template or UX Block built with a page builder (Elementor, WPBakery or Flatsome UX Builder) from the builder's own stored data, which post tools do not show. Detects the builder per item. Required: post_id. Optional: element (an address from a previous read; returns that element with its settings), depth (levels to expand, default 4, max 12), include_settings (each element's stored settings; default false). Returns { post_id, builder, builder_version, version, editable, element_count, elements: [{ address, type, label, text (excerpt), image, link, flags, children_count, children | has_children }] }; editable says whether wp_update_page_layout can change the item (edit_note says why not), and version is what that edit sends. Addresses are Elementor element ids, or dot-joined zero-based paths for shortcode builders. Flag atomic marks Elementor V4 elements, which Elementor's own abilities edit (see vendor_route); code marks elements that run HTML or script. … Through Royally: its server marks it read-only, so it runs straight away.

Input Schema

NameRequiredDescriptionDefault
depthNoHow many levels to expand (1 = root elements only). Default 4, max 12.
elementNoAddress of one element, as a previous read returned it (an Elementor id such as "a1b2c3d", or a path such as "0.1.2"). Returns that element with its settings and its children.
post_idYesID of the post, page, template or UX Block.
site_idNoSite to run this tool on: 8ef2e52b-bd07-4671-a363-ebe8b480b65c (https://demo.royalplugins.com)
include_settingsNoInclude each element's stored settings or attributes. Default false (an element read with `element` always has them).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the read-only annotations: it discloses that detection happens per item, explains what `editable`, `version` and `edit_note` mean for a subsequent wp_update_page_layout call, defines the address format per builder family, and flags `atomic` (Elementor V4, editable via vendor_route) and `code` (runs HTML/script) elements. The closing note about the server marking it read-only and running immediately is consistent with the annotations rather than contradicting them.

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?

Purpose and the key differentiator are front-loaded, and the parameter and return-shape notes are compactly packed rather than padded. It is dense to the point of being hard to scan (long comma-separated return-field enumeration, plus a truncated "…" segment), so it loses a point on readability rather than on waste.

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

Completeness5/5

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

With no output schema, the description carries the full burden of describing the return object and does so field by field, including nested element fields and the `children`/`has_children` distinction. Combined with the per-builder address rules and the editable/version handshake to the update tool, an agent has everything needed to call it and interpret the result.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents depth, element, include_settings and post_id, and the description largely restates those defaults and bounds. It adds only modest value beyond the schema — the origin of an `element` address ("an address from a previous read") and the parent/child expansion semantics — and says nothing about the site_id enum.

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 ("Reads the layout of a post, page, template or UX Block") and pins the source of truth ("the builder's own stored data"), explicitly contrasting it with generic post tools. It also names the three supported builders, so an agent can tell instantly whether it applies.

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?

The clause "which post tools do not show" gives a clear reason to pick this over wp_get_post/wp_get_post_blocks, and "Detects the builder per item" sets expectations. It stops short of naming specific alternatives (e.g. wp_list_layout_elements, elementor-get-page-structure) or stating when not to use it, so routing among the many sibling read tools still requires inference.

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.

Resources