Skip to main content
Glama

Check page

check_page

Use when you deployed or edited a page and need to catch visual regressions and content changes: it compares the live URL with a baseline captured on the first call, a snapshot or a production URL, and answers the regressions. Free up to 40 pages, once per client address, no key needed.

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": {
      "url": "<url>"
    },
    "name": "check_page"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYesThe live page to check (full URL).
baselineNoWhat to compare against: a saved snapshot ({ snapshotId, shareToken? }) or a production origin ({ productionUrl }). Omit it to use the baseline the first call captured.
checkModeNofull (existence, content and visual, the default), text-only (no screenshots) or existence-only.
rebaselineNoCapture a new baseline now instead of comparing with the stored one.
maxPriceUsdNoSpend cap in USD: a job priced above it is refused before any challenge.
viewportWidthNoCapture width in px (default 1440).
idempotencyKeyNoRetry key: under a prepaid balance, the same value within 24 hours is not charged again and answers DUPLICATE_REQUEST with the first jobId.

Output Schema

NameRequiredDescriptionDefault
okNo
urlNo
codeNo
errorNo
jobIdNo
sampleNo
statusNo
paymentNo
baselineNo
jobTokenNo
followUpsNo
httpStatusNo
regressionsNo
pagesChargedNo
pagesCheckedNo
allowanceRemainingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / idempotencyKey / description
      Previous value: -"Optional opaque string a retry repeats: under a prepaid balance the same value within 24 hours is not charged again and answers DUPLICATE_REQUEST with the jobId of the first call."New value: +"Retry key: under a prepaid balance, the same value within 24 hours is not charged again and answers DUPLICATE_REQUEST with the first jobId."
    • changedInput schema / properties / maxPriceUsd / description
      Previous value: -"Optional spend cap in USD. A job priced above it is refused before any challenge, so an auto-paying client is never asked for more."New value: +"Spend cap in USD: a job priced above it is refused before any challenge."
  2. Changed1 schema field changed
    • addedOutput schema / properties / followUps
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  3. Added

TDQS

A3.8/5.0
Behavior4/5

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

The annotations only declare it is a non-readonly, open-world, non-idempotent, non-destructive operation; the description adds genuinely new behavior: statefulness (a baseline is captured on the first call and reused), free-tier limits (40 pages, once per client address), and that no API key is required. It does not describe job/polling behavior or what a regression answer contains, and 'answers the regressions' slightly undercuts the async job model implied by the idempotencyKey/jobId schema and the wait_for_comparison sibling.

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?

A single front-loaded sentence opening with the usage condition, followed by a compact quota/pricing note, so there is no wasted text. It is dense though: comparison targets, baseline default, and free-tier limits are crammed into one long clause, and 'answers the regressions' is awkward phrasing.

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

Completeness3/5

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

Return values are covered by the output schema and parameters are fully documented, so the description only needs to carry process context, which it partly does (baseline lifecycle, quota, no key). It omits how results are retrieved for a priced/long job (get_report, wait_for_comparison) and does not explain the interaction between rebaseline and the default baseline, leaving meaningful gaps for a 7-parameter tool.

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%, so every parameter including baseline, checkMode, rebaseline, maxPriceUsd and idempotencyKey is already well documented in the schema. The description only reinforces the baseline default ('captured on the first call') without adding format or selection guidance beyond the schema. Baseline 3 applies where structured fields do the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it compares a live URL against a baseline (first-call baseline, snapshot, or production origin) and reports regressions. That is far more concrete than the title 'Check page' and lets an agent distinguish it from capture_screenshot and diff_deploy. It never names a sibling explicitly, so differentiation is inferred rather than stated.

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?

'Use when you deployed or edited a page and need to catch visual regressions and content changes' gives a clear triggering context for invoking the tool. There are no exclusions or explicit routing rules (e.g. when to prefer diff_deploy or capture_screenshot instead), which keeps it short of a 5.

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