Skip to main content
Glama

Whole-site audit

site_audit

Audit a whole site, step by step, and work with the result. Pick with mode: start = Start an audit of up to 25 pages; returns audit_id. Needs url. continue = Scan the next pages; call until complete. Issues by code, sections, average score. Needs audit_id. import = Turn a crawl from Screaming Frog, Ahrefs or Semrush (up to 500 pages) into an audit_id. Needs pages[{url, status, redirect_to, title, meta_description, h1}]. compare = What changed since the last audit, or against a competitor audit. Needs audit_id. report = A client-ready report page with a link. Needs audit_id.

Input Schema

NameRequiredDescriptionDefault
urlNoFull address, for example https://example.com.
modeNoDefault start.
noteNoOptional short note for the reader, shown at the top.
brandNoOptional agency or team name to show instead of OnPage.dev.
linksNoOptional internal links, for link equity, orphans and internal link suggestions.
pagesNoOne row per crawled page.
detailNobrief = short summary.
sourceNoWhere the rows come from, for example Screaming Frog or Ahrefs Site Audit.
audit_idNoThe id returned by start_site_audit.
max_pagesNoHow many pages to audit, default 10, at most 25.
memory_keyNosite_memory key, records this call.
previous_audit_idNoOptional: the audit to compare with.
competitor_audit_idNoOptional: a finished audit of a competitor's site, to compare the two sites side by side instead of over time.

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. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint false, destructiveHint false, openWorldHint true), so the description's job is to add workflow context — which it does: start returns an audit_id, continue iterates until complete, import converts external crawl data into an audit_id, and report produces a client-ready page with a link. The multi-step state-chaining and the 25/500 page caps are useful disclosures beyond annotations.

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?

The purpose is front-loaded ('Audit a whole site, step by step') and each mode is presented as a compact 'mode = behavior. Needs X.' unit. It is telegraphic and runs together as one block, but nearly every clause earns its place.

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?

Covers all five modes, their required arguments, and step limits, and an output schema exists so return values need not be described. The compare mode only says 'Needs audit_id' without mentioning the schema's previous_audit_id/competitor_audit_id options, a minor gap for a 13-parameter tool.

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 the baseline is 3, but the description adds real value by mapping which parameter each mode requires (url for start, audit_id for continue/compare/report, pages[{...}] for import) — for a mode-dispatch tool this mapping is the key semantic an agent needs.

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?

States a specific verb+resource ('Audit a whole site') and enumerates five distinct modes (start, continue, import, compare, report), so an agent immediately understands this is the whole-site audit orchestrator rather than a single-page scan. It does not explicitly distinguish itself from siblings like scan_page or technical, which keeps it at 4 rather than 5.

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?

Each mode carries inline usage context: 'call until complete' for continue, 'compare the two sites side by side' for compare, and the required argument per mode. This is strong when-to-use guidance for a mode-dispatch tool, though it offers no explicit exclusions or pointers to alternative siblings.

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.