Skip to main content
Glama

List page updates

list_update_opportunities
Read-onlyIdempotent

List page updates for existing pages: proposals ("proposed"), drafts ("ready"), and published, flagged, reverted or dismissed ones. Updates run on autopilot by default and pick a page for one of three reasons (triggers): "stagnant" (clicks flat or falling for about 2 months, the body is refreshed), "query_pull" (one search keeps bringing impressions but the page is not built around it) or "no_clicks" (live 90+ days with about zero clicks); for the last two the title, H1, meta description and intro are rewritten around subjectQuery (editDepth "retarget"). Only pages Google has indexed are changed (Search Console impressions in the last 8 weeks, or a URL Inspection verdict of indexed; up to 20 unproven pages per site are inspected each week). A page is changed at most once every 60 days, never while its best search is in the top 3 or while it is under 60 days old, and its URL never changes. Older rows may carry retired trigger names. Each row has why it was picked, parts (what changed in the search part, title/H1/meta, and the content part, the body) and impact with a verdict per part (a part judged worse is reverted on its own). Also returns autopilot and autopilotState { on, source: explicit | default | draft_mode | kill_switch }. A site without Pro+ (or grandfathered access) returns locked: true. For the summary view use get_updates_overview. Next: draft_update on a proposal, or approve_update on a ready draft. Use includeHtml to get draft bodies.

Input Schema

NameRequiredDescriptionDefault
siteYesThe site to act on. One of: fencestainingdenver.com.
limitNo
offsetNo
statusNo
includeHtmlNoInclude each ready draft's full HTML (large)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare a safe read operation, yet the description adds substantial context the agent could not otherwise know: autopilot-on-by-default, the three trigger reasons, the 60-day per-page cooldown, the top-3 and 60-day-age exclusions, URL immutability, indexing preconditions, per-part auto-revert of worse changes, and the locked flag. None of this is derivable from readOnlyHint/idempotentHint.

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?

Dense but front-loaded: the identity and status set come first, then trigger mechanics, then return shape, then next actions. A few clauses (e.g. the 20-unproven-pages-per-week inspection detail) sit at the edge of what an agent needs to call the tool, but almost every sentence carries operational meaning.

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

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description does the work itself: it explains row fields (`parts`, `impact` verdicts, trigger rationale), the `autopilot`/`autopilotState` object with its source enum, and the `locked` case. Nothing needed to interpret the response or to call it correctly is missing.

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 only 40%, with `limit` and `offset` undocumented anywhere. The description partially compensates by naming the status values ('proposed', 'ready', published, flagged, reverted, dismissed) and by pointing at `includeHtml` for draft bodies, but it omits 'generating' from the enum list and says nothing about pagination semantics — so the gap is narrowed rather than closed.

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?

Opens with a specific verb+resource ('List page updates for existing pages') and immediately enumerates the states it returns (proposals, drafts, published, flagged, reverted, dismissed). It also explicitly names the sibling it is not ('For the summary view use get_updates_overview'), so an agent can distinguish it from the overview tool without reading 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Routes the agent away from get_updates_overview for summary views, and forward to draft_update for proposals and approve_update for ready drafts, so the follow-up action is conditioned on row status. It also gives a prerequisite signal (non-Pro+ sites return locked:true), which tells the agent when results will be empty.

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.