Skip to main content
Glama

One page's scans over time

page_history
Read-only

Use this when the question is one URL over time: 'did my fix actually work', 'when did this page break', 'which release dropped this page's score'. It is the only tool that names the scan where a single page regressed. Every recorded monitoring scan of that URL, newest first: score, violations by impact, and how many issue types were fixed and newly introduced since the page's previous scan. Needs a "url"; use score_history for the whole site. Counts are rule-level (distinct axe rules), not element-level, so fixing forty instances of one rule reads as one fixed issue type. The first scan of a URL is a baseline and reports no new/fixed figures rather than zeroes. Read-only, from stored scans: no page is loaded, no page allowance is spent, and a fix deployed since the last scan does not appear. Full-site crawl rows are excluded — if a URL only appears in a crawl, this says so instead of reporting no history.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe page to report on — full URL ("https://example.com/pricing") or a path ("/pricing"). Trailing slash and www do not matter.
limitNoMost recent scans to return (default 20, cap 100).
websiteYesThe website domain as registered in Inclusify, e.g. "example.com".

TDQS

A5/5.0
Behavior5/5

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

Even though annotations already declare readOnlyHint=true and openWorldHint=true, the description adds valuable behavioral detail beyond those flags: 'no page is loaded, no page allowance is spent', 'a fix deployed since the last scan does not appear', rule-level vs element-level counting, and the baseline-reporting behavior. These are critical for an agent to interpret results correctly and are not derivable from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but tightly packed—every sentence serves a purpose. It front-loads the primary use case and examples, then systematically covers output contents, counting semantics, edge cases (baseline, crawl exclusion), and read-only nature. No redundancy or filler; each clause earns its place.

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?

With no output schema, the description fully specifies what the tool returns: score, violations by impact, count of fixed/introduced issue types, and ordering (newest first). It also covers the baseline quirk and the handling of crawl-only URLs, plus the clarifying note that a deployed fix won't appear. An agent has everything needed to call and interpret this tool correctly.

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

Parameters5/5

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

Schema coverage is 100% (all params have descriptions), but the description still adds meaning beyond the schema: it explains URL normalization ('Trailing slash and www do not matter'), clarifies the default and max for limit, and describes the output semantics (rule-level counts, baseline lacks new/fixed figures). This goes well above the baseline expected when schema covers everything.

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 description states a precise scope: one URL over time, with concrete example use cases ('did my fix actually work', 'when did this page break'). It names the sibling tool (score_history) to differentiate, making it clear this is the per-page counterpart, not the per-site one.

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?

Explicitly opens with 'Use this when the question is one URL over time' and provides an explicit alternative: 'use score_history for the whole site.' It also specifies exclusion conditions (full-site crawl rows) and clarifies the baseline behavior, leaving no ambiguity about when to invoke this tool.

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.

TDQS

A4.3/5.0
Disambiguation4/5

The descriptions do exceptional cross-referencing work, explicitly separating near-neighbor pairs (add_website vs add_domain, list_alt_findings vs check_page_alt_text, plan_options vs billing_link, widget_status vs widget_usage). A few clusters remain that an agent could confuse without reading carefully, notably site_overview vs compliance_status (both report statement existence and scan-record state) and crawl_summary vs list_monitored_pages vs site_overview (all touch coverage numbers). Overall, distinct purposes are clearly delineated despite the large surface.

Naming Consistency4/5

All names are lowercase snake_case with strong family patterns: list_* (5 tools), add_* (3), set_* (7), plus org_* and *_history pairs. The main inconsistency is the mix of verb-led names (list_violations, set_slack_channel, start_crawl) with noun-led read names (site_overview, compliance_status, widget_usage, next_steps), but the noun-led names follow a coherent 'what it returns' vocabulary (status, summary, history, overview, rollup). Minor deviations rather than chaos.

Tool Count3/5

36 tools is heavy and sits above the 25-tool threshold where agent navigation starts to degrade, but the server covers a genuinely broad domain: website lifecycle, monitoring, four finding types, four live-audit tools, seven config setters, org rollups, billing, and CI. Most tools earn their place and none are duplicates, but several could plausibly be merged (set_slack_channel/set_slack_events/set_monitoring_settings into one notifications tool; list_violations/list_alt_findings/list_content_findings with a filter). The count is on the edge of unwieldy for an agent's tool-selection step.

Completeness3/5

The read/audit/analysis side is rich and well-covered: findings, history, live checks, org rollups, coverage, and validation all have tools. However, the write side is one-directional: add_monitored_pages is explicitly add-only, and there is no remove_website, remove_domain, or remove_monitored_pages, so teardown and 'stop monitoring this page' requests hit dead ends that the descriptions acknowledge belong to the panel. Statement content writing and widget installation are also panel/browser-only by design, which is documented but still leaves those operations outside the agent's reach.