Skip to main content
Glama

SEO and AI scan

scan_page
Read-only

Scan a page for Google and AI search: 0-100 score, issues to fix first with why and how, AI readiness and key facts. Pick with mode: page = A live page by url (default). Needs url. html = Unpublished HTML before deploy, to gate a release. Needs html. deep = Everything measured on one page, by section. Needs url. rescan = Scan again after fixes and compare with the last scan. Needs url.

Input Schema

NameRequiredDescriptionDefault
urlNoFull address of the page, for example https://example.com/pricing.
htmlNoThe complete HTML document, up to 900 KB.
modeNoDefault page.
detailNobrief = short summary.
sectionsNoSections to include. Default: all.
memory_keyNosite_memory key, records this call.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / description
      Removed value: -"The result as structured data; fields depend on mode."
  2. Changed2 schema fields changed
    • changedInput schema / properties / detail / description
      Previous value: -"brief returns a short summary, default full."New value: +"brief = short summary."
    • changedInput schema / properties / memory_key / description
      Previous value: -"Optional site_memory key, to record this call in the site memory."New value: +"site_memory key, records this call."
  3. Changed1 schema field changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "brief returns a short summary, default full.",
      +  "enum": [
      +    "full",
      +    "brief"
      +  ],
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / memory_key
      Added value: +{
      +  "description": "Optional site_memory key, to record this call in the site memory.",
      +  "maxLength": 80,
      +  "type": "string"
      +}
  5. Changed6 schema fields changed
    • addedInput schema / properties / html
      Added value: +{
      +  "description": "The complete HTML document, up to 900 KB.",
      +  "maxLength": 921600,
      +  "type": "string"
      +}
    • addedInput schema / properties / mode
      Added value: +{
      +  "description": "Default page.",
      +  "enum": [
      +    "page",
      +    "html",
      +    "deep",
      +    "rescan"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / sections
      Added value: +{
      +  "description": "Sections to include. Default: all.",
      +  "items": {
      +    "enum": [
      +      "speed",
      +      "links",
      +      "accessibility",
      +      "images",
      +      "rich_results",
      +      "security",
      +      "content",
      +      "technical"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / url / description
      Previous value: -"Full address of the page, for example https://example.com/pricing. A bare domain like example.com also works."New value: +"Full address of the page, for example https://example.com/pricing."
    • removedInput schema / required
      Removed value: -[
      -  "url"
      -]
    • changedOutput schema / description
      Previous value: -"The same result as the text, as structured data."New value: +"The result as structured data; fields depend on mode."
  6. Changed2 schema fields changed
    • addedInput schema / properties / url / maxLength
      Added value: +2048
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "The same result as the text, as structured data.",
      +  "type": "object"
      +}
  7. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, non-destructive, openWorld, and non-idempotent, so the safety profile is covered. The description adds mode-specific prerequisites ("Needs url" / "Needs html") and the compare-with-last-scan behavior of rescan, which is real context beyond the structured fields, though it does not mention limits or how the scan is scoped.

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?

Front-loaded with the value proposition, then a compact mode list where every clause carries needed information. No filler sentences; the dense prose is justified by the number of distinct modes.

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 an output schema present and annotations covering safety, the description need not explain return values, and it covers the mode branching well. Its gap is that it never positions this against broad siblings like site_audit or accessibility, leaving the page-vs-site choice to inference.

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?

Schema coverage is 100%, so baseline is 3, but the schema's mode field says only "Default page" while the description gives each enum value distinct meaning and its required companion parameter. That is meaningful semantic value added on top of the schema, though detail, sections, and memory_key get no extra explanation.

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 ("Scan a page") and enumerates the concrete outputs (0-100 score, prioritized issues with why/how, AI readiness, key facts), which separates it from single-facet siblings like accessibility, content, or technical. An agent can immediately tell this is the broad page-level SEO/AI scan.

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?

The mode breakdown is explicit when-to-use guidance: page for a live URL, html for unpublished HTML gating a release, deep for per-section measurement, rescan for post-fix comparison. Each mode names its required input, so the agent can pick correctly without inference.

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.