ThemesPro
OceanWP MCP: curated Customizer writes, per-page overrides and Ocean Extra
OceanWP has around a thousand Customizer settings and hundreds of render hooks, so this OceanWP MCP module draws a line. A curated allowlist of high-leverage theme mods, a header writer, a typography preset, WooCommerce feature flags and per-page overrides are typed abilities. Library templates and modules need the Ocean Extra companion plugin. Anything past that line is a named PHP snippet, and the skill says so openly.
Use our 'Holiday header' library template as the site header, and give the Gift Guide page a full-width layout with no sidebar.
wppilot/oceanwp-check-setupReadConfirms the theme and Ocean Extra meet their floors and reports whether library and module capabilities are available.
wppilot/oceanwp-list-library-itemsReadFinds the Holiday header's post id among the library templates.
wppilot/oceanwp-set-header-configWriteSets style to custom and passes the template id, since a custom template is ignored under any other header style.
wppilot/oceanwp-get-page-overridesReadShows which layout keys the Gift Guide page already overrides and which it inherits.
wppilot/oceanwp-set-page-overridesWriteWrites the layout override after validating every value first, so a bad value leaves the page untouched.
- Edition
- Pro
- Abilities
- 15
- Requires
- WordPress 6.9+, PHP 8.0+, OceanWP theme 4.1.0+, Ocean Extra (extra settings operations) 2.0.0+
Abilities
OceanWP abilities by effect
Inspect7
oceanwp-check-setupCheck OceanWP Setupoceanwp-get-page-overridesGet OceanWP Per-Page Overridesoceanwp-get-settingsGet OceanWP Customizer Settingsoceanwp-list-customizer-panelsList OceanWP Customizer Panelsoceanwp-list-hooksList OceanWP Render Hooksoceanwp-list-library-itemsList OceanWP Library Itemsoceanwp-list-modulesList Ocean Extra Modules
Create and change8
oceanwp-apply-library-templateApply OceanWP Library Templateoceanwp-disable-moduleDisable Ocean Extra Moduleoceanwp-enable-moduleEnable Ocean Extra Moduleoceanwp-set-customizer-settingsSet OceanWP Customizer Settingsoceanwp-set-header-configSet OceanWP Header Configurationoceanwp-set-page-overridesSet OceanWP Per-Page Overridesoceanwp-set-typography-presetApply OceanWP Typography Presetoceanwp-set-woo-featuresSet OceanWP WooCommerce Feature Toggles
Destructive0
None.
Reference: /docs/reference/oceanwp
Documented source abilities; live registration can be narrower. Edition and effect labels describe the source catalogue. The installed schema, dependency versions, licence, WordPress capability, safety profile and per-ability policy determine availability; labels alone do not prove confirmation or recovery.
Limits
Where the allowlist ends
- Settings outside the curated list are rejected per key without aborting the rest of the call; the skill documents get_theme_mod and set_theme_mod snippets for them instead.
- The typography preset replaces each typography object wholesale, so sub-keys you leave out are dropped. Read first and resend the ones to keep.
- Hooks are listed, not attached: add_action and add_filter go through execute-php with names from the catalogue.
- Library, template and module abilities return oceanwp_requires_ocean_extra when the companion is missing, and WooCommerce flags need WooCommerce active.
- All Customizer, header, typography, WooCommerce and template writes restore the theme mods row; module toggles restore the modules option; page overrides restore that post.
Data model
theme_mods_oceanwp, ocean_ post meta and oceanwp_modules
Every OceanWP Customizer value is a theme mod prefixed ocean_, stored together in the theme_mods_oceanwp row. Typography values such as ocean_body_typography are objects holding family, weight, sizes per device, line height and letter spacing. Per-page overrides are ocean_ post meta on the post itself, and a read tells you for each key whether the page sets it or inherits the global value.
Ocean Extra adds oceanwp_library posts, the reusable header, top bar, footer widget and 404 templates, and chooses which one renders by storing its id in a matching theme mod. The header template only takes effect when the header style is custom. Modules such as Sticky Header, Side Panel or Cookie Notice are switched in an oceanwp_modules option, and the change is visible on the next request after Ocean Extra reloads.
Worked example
A custom header and full-width landing page
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
The library header renders site-wide and the Gift Guide page drops its sidebar. Passing null for that override later removes it and returns the page to the global layout.
A full-width layout without a sidebar does not imply a transparent header. Review execute-php capability, Developer Full Access and confirmation separately when attaching a hook; that escape hatch is outside the 15 module calls.
oceanwp-check-setupConfirms the theme and Ocean Extra meet their floors and reports whether library and module capabilities are available.
oceanwp-list-library-itemsFinds the Holiday header's post id among the library templates.
oceanwp-set-header-configSets style to custom and passes the template id, since a custom template is ignored under any other header style.
oceanwp-get-page-overridesShows which layout keys the Gift Guide page already overrides and which it inherits.
oceanwp-set-page-overridesWrites the layout override after validating every value first, so a bad value leaves the page untouched.
Ocean Extra slots, the override allowlist and module timing
Which ocean_ post meta a single page can actually override
Owners looking for an OceanWP MCP that can restyle one landing page usually expect the whole OceanWP metabox to be reachable. It is not. oceanwp-set-page-overrides accepts a short list of keys the theme reads at render time: ocean_post_layout (right sidebar, left sidebar, both sidebars, full width or full screen), ocean_both_sidebars_style for the column order when both sidebars show, four breadcrumb colours, and the post-format media fields for video, quote and link posts. Everything else in the metabox, such as hiding the title bar on one page, is outside the typed surface.
Two behaviours make this safe to hand over. Every value is checked against that allowlist before anything is saved, so one bad colour or an unknown key means the post keeps all of its existing meta. And null deletes the key with delete_post_meta, which is how a page goes back to inheriting the global Customizer value. The ability refuses posts that are trashed, auto-drafts or revisions, so point it at the published page id.
Mounting a library header, top bar, footer or 404 from Ocean Extra
oceanwp-apply-library-template knows four slots and the theme mod behind each: header writes ocean_header_template, topbar writes ocean_top_bar_template, footer_widgets writes ocean_footer_widgets_template, and custom_404 writes ocean_error_page_template. The template has to be an oceanwp_library post that is published; a draft is refused with its current status named, so publish it in Ocean Extra's library first.
The header slot has the extra condition the page above mentions, but the other three behave differently: the top bar and footer templates still depend on the top bar and footer widgets being displayed at all, which are separate allowlisted settings (ocean_top_bar and ocean_footer_widgets). When a mounted template does not render, read those display switches with oceanwp-get-settings before assuming the template is wrong.
Why oceanwp-list-modules can still say false right after an enable
Ocean Extra's module switches live in the oceanwp_modules option, and oceanwp-enable-module writes the slug into it. The enabled flag that oceanwp-list-modules reports is not read from that option. It checks whether the module's PHP class is loaded in the current request, and Ocean Extra only loads a module's bootstrap when the page is built. So a list call in the same request as the enable can report false even though the write succeeded. Ask the agent to list modules again on a fresh call, or load the front end, before treating it as a failure.
Module toggles are serialised under their own lock, separate from the theme mods lock that Customizer, header, typography and WooCommerce writes share. Two agents enabling Sticky Header and changing the header height at the same moment cannot overwrite each other's row.
OceanWP's WooCommerce switches and the checkout you should test after them
oceanwp-set-woo-features covers the shop toggles owners change most: the off-canvas filter sidebar, distraction-free cart and checkout, quick view, the floating add-to-cart bar, the hover image swap, AJAX add to cart, the menu cart style and the mobile mini cart. It returns oceanwp_requires_woocommerce when the store plugin is inactive. Distraction-free checkout strips the header and footer from the checkout page, so after switching it on, place a test order on staging with each payment method you offer and confirm trust badges or notices your theme hooks added are still visible.
What an OceanWP agent may do under each safety profile
None of the module's abilities is classed destructive, so Production Safe permits ordinary writes for a user with manage_options, subject to the enabled abilities and any additional approval rules, and on Read Only the agent can still list panels, modules, library items and hooks and read every allowlisted setting and override. That makes a Read Only audit a reasonable first connection on a live store. Every write is recorded so it can be put back from the change ledger, as the limits above describe.
Hooks are the exception. oceanwp-list-hooks names filters such as ocean_display_page_header or ocean_display_footer_widgets, but attaching one needs execute-php, which is a critical ability: it runs only on Developer Full Access, only with confirm, and a snippet is not reversed by the ledger the way a theme mod write is. Prefer a page override or a Customizer switch when one exists. The OceanWP reference lists every parameter.
- "Read only: which pages override ocean_post_layout, and to what?"
- "Mount our published 'Black Friday bar' library post as the top bar and confirm ocean_top_bar is switched on."
- "Turn on quick view and AJAX add to cart, then tell me what changed and what was already set."
Questions
OceanWP questions
Why doesn't my OceanWP library header show after mounting it?
OceanWP reads the header template only when the header style is custom. The header writer can set both in one call.
Can an AI change any OceanWP setting?
Through typed abilities, only the allowlisted ones. Others can be changed with a documented theme mod snippet through execute-php, which you should review before approving.
Does it need Ocean Extra?
Customizer reads and writes, overrides and hooks work on the theme alone. Library templates and modules need Ocean Extra at its supported version.
Where these facts come from
GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.
OceanWP is a separate product; no partnership or endorsement is implied.