Skip to main content
Glama

Frontman for WordPress

wp_elementor_list_pages

Read-onlyIdempotent

Lists WordPress pages and whether each has Elementor data. Optional text_search finds literal case-insensitive substrings in stored Elementor string settings (including nested/repeater settings), not rendered pages or dynamic output. Search defaults to public post types plus shared Elementor templates; post_type narrows the scope. Returns matching element IDs, setting paths and excerpts. offset/per_page paginate candidate posts, not matches: follow next_offset until null even when pages is empty. Use existing element-update tools to edit matches.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "site_id": "<site_id>"
    },
    "name": "wp_elementor_list_pages"
  }
}

Input Schema

NameRequiredDescriptionDefault
offsetNo
site_idYesThe connected site's id returned by list_sites. Call list_sites first; do not use a URL or WordPress post ID.
per_pageNo
post_typeNoDefaults to page without search, or all public post types plus elementor_library with search. Use elementor_library for shared templates, or any for the full search scope.
text_searchNoLiteral substring to find in Elementor string settings. Does not search theme mods or post content.
include_contextNoRequires text_search. Example: text_search="Book Demo", include_context=true. Adds element_contexts with immediate parent, sibling position, nearest layout ancestor and narrow stored style overrides, NOT computed styles. Global style references are not resolved.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations it discloses the critical non-obvious behaviors: search matches stored settings only (not rendered pages or dynamic output), and offset/per_page paginate candidate posts rather than matches, so the agent must follow next_offset until null even when results are empty. It also states the return shape (element IDs, setting paths, excerpts).

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-loaded with the primary purpose, then search semantics, then pagination caveat, then next-step pointer — a logical order. The text_search sentence is dense (nested/repeater, literal, case-insensitive, exclusions) but every clause carries operational weight, so nothing is truly wasted.

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 correctly takes on the return-value burden and describes the match payload plus the pagination contract. The one remaining gap is what the non-search listing mode actually returns per page (IDs, titles, has-Elementor flag), which an agent must infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 67% schema coverage, the description still adds meaning the schema does not: post_type defaults to 'page' without search versus all public post types plus elementor_library with search, and that pagination applies to candidates, not matches. include_context and site_id semantics are left largely to the schema, which already documents them.

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?

The first sentence names a specific verb+resource (list WordPress pages) and a distinguishing attribute (whether each has Elementor data), then explains the second mode: literal substring search over stored Elementor string settings. This is clearly separable from siblings like wp_list_posts or wp_elementor_get_page_structure, which do not report Elementor-data presence per page.

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?

It gives concrete routing guidance: text_search for stored-setting grep, post_type to narrow scope, include_context only alongside text_search, and 'Use existing element-update tools to edit matches' to push the agent away from this read-only tool for mutations. It stops short of explicitly contrasting with wp_list_posts for plain page enumeration, so it is strong context rather than a full when/when-not matrix.

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.