Skip to main content
Glama

wp_get_page

Read-only

Get one WordPress page's content as an editable node list. For Elementor pages, returns normalized nodes (headings, text, buttons, images, links) with their element ids — use these to plan edits. Read-only.

A whole page can be ~18k tokens. WORK IN TWO STEPS:

  1. outline=true → the section/widget skeleton (ids, types, short labels; no field values). Cheap. Find your target here.

  2. node_id= → only that element's subtree. Also: widget_type=icon-box (only those widgets), search=Doctor (only matching nodes), include_styles=true (each widget's current style settings, so you never have to guess Elementor keys). post_content is omitted unless include_content=true.

Input Schema

NameRequiredDescriptionDefault
limitNoMax nodes per response (default 120)
cursorNoNode-pagination offset from a previous response's next_cursor (responses are always complete JSON — never truncated mid-node)
detailNoOutput verbosity: "concise" (default) trims long lists to top-25 and caps size; "detailed" returns the full result.
searchNoOnly nodes whose value contains this text
node_idNoReturn only this element's subtree (id from outline or a previous read)
outlineNoReturn the element skeleton only — no field values, plus css_id / hidden_on / custom_width / link where set (enough for a navigation or UX audit without subtree reads). Start here on a big page.
post_idYesThe WordPress post/page ID (integer)
site_idYesThe WordPress site ID
self_onlyNoWith node_id: return that element ONLY, no descendants — e.g. a container's own styles (include_styles=true) without its whole subtree
breakpointNodesktop | tablet | mobile. With include_styles: each element's EFFECTIVE settings at that width (desktop merged with _tablet/_mobile overrides, visible:true/false, _overridden_keys). With outline: adds visible per row and hidden_at_breakpoint in responsive_summary. Elementor defaults: tablet ≤1024, mobile ≤767.
path_prefixNoOnly nodes under this outline path (e.g. '2' = third top-level section, '2,1') — fetch one section at a time on big pages
widget_typeNoOnly nodes of this widget type, e.g. 'icon-box'
include_stylesNoInclude each widget's current style settings
include_contentNoInclude the full rendered post_content (large; off by default)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true and idempotentHint=false, so safety is covered. The description adds real value beyond that: the ~18k-token size warning, the two-step strategy to avoid large reads, and the note that post_content is omitted unless requested.

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?

Front-loads the core purpose and then uses a clean numbered two-step block plus a compact 'Also:' list. Efficient given 14 parameters, with only minor duplication of the schema's own filter explanations.

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

Completeness4/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 does the work of explaining return shape (node list, skeleton vs. subtree) and steering token-conscious usage. Covers the essentials for a 14-param tool, though pagination (cursor/limit) is left to the schema.

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 coverage is 100% and the schema descriptions are themselves rich (outline, node_id, breakpoint, self_only, path_prefix are all documented there). The description reinforces the outline/node_id workflow but largely restates what the schema already provides, so baseline 3 is appropriate.

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 ('Get one WordPress page's content as an editable node list') and clarifies the Elementor-page case. An agent can distinguish this reader from siblings like wp_list_pages or elementor_get without opening either schema.

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?

Provides an explicit two-step workflow (outline first, then node_id) plus targeted filters (widget_type, search, include_styles), which is strong when-to-use guidance. It stops short of naming which sibling to pick for a page listing vs. a page read, so no explicit alternatives are given.

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