Assemble pages, navigation and contact forms
Use these operations to finish a site's structure from a connected MCP client. Open POM AI → Settings → MCP and enable the write gates needed below. Every write keeps the current WordPress user's permissions; OAuth connections also need the operation's discovered scopes.
Pages and reusable content
pom_site_get_content reads editable content with a revision. pom_site_save_content previews or saves pages, posts, POM reusable blocks and supported public custom post types through WordPress. Supply post_type and a stable slug, plus optional title, content, excerpt, status, parent and menu order. Supply id to edit an existing item. New items default to draft. Preview first; applying requires its expected_revision.
A duplicate slug is refused rather than silently creating another item. Existing items cannot change content type. Publishing requires the content type's publish capability. The content write gate must be open. Media and WooCommerce objects retain their dedicated tools.
Use wp_get_site_pages to read front, posts and privacy assignments. wp_set_site_pages changes only the supplied assignments at the expected revision and requires Allow option writes plus manage_options. Assigning or clearing the privacy page also requires WordPress manage_privacy_options, which maps to manage_network on standard multisite. A site administrator without that capability can still change authorized front/posts assignments separately. Assigned pages must be editable and published. The static front page and posts page must differ.
Create legal pages using information supplied by the site owner, assign the privacy page and link them from the footer. Page creation and cookie controls do not establish that the site's legal text is complete or appropriate for its actual services.
Menus
- Read
wp_get_menu_locationsafter choosing the header layout. - Preview and create a uniquely named menu with
wp_create_menu. - Use
wp_create_menu_itemto add pages or links. - Assign the menu with
wp_assign_menu_location, using a registeredlocation, themenu_idand the revision from the location read or preview. A menu ID of zero unassigns that location. Other assignments are preserved. - Repeat for the mobile location and check both menus in the browser.
Menu operations require Allow content writes and edit_theme_options. Locations can change when the header configuration changes; refresh before assigning them.
POM Forms
- Activate the
forms_systemoptional group using typed settings, then refresh. - Read
pom_site_get_form_contractfor the native layout schema, currentschema_version, reserved field names and permitted configuration keys. Usepom_site_find_formsto search existing forms, in pages of 50. - Preview
pom_site_create_formwith a unique title, then apply at its returned revision. It creates a draft form. - Read
pom_site_get_formand prepare a layout with stable field, step, row and column IDs.pom_site_save_formaccepts the formid, optionallayout, partialconfigandstatus(draftoractive). Preview before applying withexpected_revision. - Embed
[web_form id="FORM_ID"]in a page. Review required fields, validation messages and the intended notification recipients before accepting real submissions.
Form writes use POM Forms' native validation and versioned saves. They require Allow content writes, manage_options and native Forms permissions. Layouts, messages, navigation buttons, privacy clauses, notification routes and presentation settings are supported. Advanced integrations and credentials are excluded from the editable configuration. A read omits those values. Older forms requiring migration must first be opened and saved in the form builder.
Use the returned schemas instead of guessing property names. For example, the submit button caption is navigation_buttons.submit.label. A field's stable ID and submitted name are different properties; the submitted name must not use a native reserved name.
Related: Site plans, menu items, site options.