wp_get_page: get one page
Reads a single page including its content. Identical to wp_get_post with the post type fixed to page.
Arguments
| Argument | Required | Meaning |
|---|---|---|
id |
Yes | The page ID |
Permissions
mcp:read and wp:content:read.
Reading a published page needs no further capability. Reading a draft or private page requires edit_post on that specific page.
What it returns
id, post_type, title, slug, status, date, modified, link, excerpt and content.
For a POM builder page, content is the structure
The content field holds the stored value: for a builder page, the nested shortcodes rather than the visible text.
That is exactly what an assistant needs before editing one — it is the structure that must be preserved. An assistant that has not read it cannot preserve what it has not seen, and the usual result is a page rewritten as flat text with the layout gone.
Read the page, then read the authoring context, before composing any change:
Read page 88, then read the authoring context for it, and show me which shortcodes it uses.
See Build POM builder content.
Check the status before editing
Pages are usually published, and usually important — a service page, a contact page, the home page. Editing one has immediate public effect.
Read page 88 and tell me its title and status, then wait.
Confirming the title back is what catches an ID transposition before it becomes a wrong edit.
The link tells you the hierarchy
Page listings do not report a parent, but the link shows the URL path, which reflects where the page sits.
That matters before changing a slug: a page nested under another contributes its slug to the path of nothing else, but changing a parent's slug moves every child's URL.
Read it back after writing
Apply the change, then read page 88 back and show me what differs.
The write response reflects what was saved. An independent read also catches a filter altering content on save, which is common on sites with content plugins.
Using it well
Read page 88 and show me its content.
Show me the current content of page 88 before changing anything, so I have the original.
That second pattern gives you an undo that does not depend on WordPress revisions — useful because revisions cover content, title and excerpt but not terms, meta or the featured image. See Recover from a failed write.
Common problems
| Symptom | Cause |
|---|---|
pom_ai_mcp_post_not_found |
Wrong ID, or the ID is not a page |
pom_ai_mcp_forbidden |
Reading an unpublished page without edit_post |
| Content is a wall of shortcodes | Correct; it is builder content |
| Content differs from the rendered page | The stored value is pre-render |