Create Page is a WordPress ability from Page Builder: Pagelayer – Drag and Drop website builder — usable via Easy MCP AI, which connects Claude, ChatGPT, and any AI assistant to your site.
Install Free Plugin →Create Page
WriteCreate one WordPress page with Pagelayer builder layout data, publish status, and optional global style overrides.
Requires the Pagelayer plugin on WordPress 6.9+ (or another source of wp_register_ability()) for the Abilities API — registration is skipped entirely via a function_exists() guard when it isn't available, and ability categories similarly require wp_register_ability_category(). Most abilities require the 'edit_posts' capability; update-global-styles, create-menu, and delete-menu require 'manage_options'. search-images additionally needs a Pexels API key configured on the Pagelayer AI Agents settings page, and get-library-sections/import-library-section call Pagelayer's own hosted library API. Four near-duplicate abilities (get-widget, get-widgets-summary, edit-layout, navigator) are registered in source with mcp_public:false — fully callable over the REST Abilities API but intentionally left out of the advertised MCP tool list as duplicates of get-widget-schema, list-widgets, update-page, and get-page respectively — and are excluded from this listing.
What it does
Inserts a new page post from the given title and pagelayer_data node tree, going through the inline-CSS gate first — rejecting the whole write if any style="" attribute or <style> block is found in rich text — and then, unless skip_validation is set, the content-quality gate, which rejects the write unsaved on placeholder text, an unregistered widget tag, or a gated attribute sent without its required companion, since styling must live in attrs and never inline. Optionally flags the new page as the site's front page (is_homepage) or posts page (is_posts_page), and can update global_colors/global_fonts/content_width alongside it.
See it in action
You ask your AI assistant
"Create a new "Services" page with a hero section and a three-column feature grid."
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| title | string | Yes | Page title. |
| pagelayer_data | object | Yes | Layout node tree. |
| status | string | No | Post status. Defaults to publish. |
| is_homepage | boolean | No | Set this page as the site's front page. |
| is_posts_page | boolean | No | Set this page as the site's posts page. |
| global_colors | object | No | Global color tokens to update alongside the page. |
| global_fonts | object | No | Global font tokens to update alongside the page. |
| content_width | string | No | Site content width to update alongside the page. |
| skip_validation | boolean | No | Bypass the content-quality gate for an intentional unfinished draft. Not recommended. |
Returns
An object with post_id, url, and edit_url on success, or a WP_Error (missing_title, missing_pagelayer_data, inline_css_not_allowed, or quality_gate_failed) describing why nothing was saved.
Permission
Requires the 'edit_posts' capability.
More Page Builder: Pagelayer – Drag and Drop website builder abilities
Add Element
Insert a new element node into a page at a given parent container and index.
Begin Transaction
Snapshot a page's current layout and content as a backup before a multi-step editing sequence.
Change Element Styles
Batch-apply style property changes to page elements matched by ID, pagelayer-id, or widget tag.
Commit Transaction
Discard a page's transaction backup, finalizing the changes made since begin-transaction.
Create / Update Navigation Menu
Create a WordPress nav menu from a list of items (or rebuild an existing one of the same name), optionally with nested Mega Menu content, and assign it to a theme location.
Create Design UI Sections
Append new section nodes onto an existing page without touching what's already there.