Skip to main content
Glama
SpikeyCoder

Website Auditor MCP

Run a full audit

run_audit

Run a website audit covering AI visibility, security headers, broken links, performance, and crawlability/markup. Returns scored categories plus a full report link for audit, scan, or review requests.

Instructions

Run a full one-time audit of a website — AI visibility, plus security headers, broken links, performance, and a crawlability-and-markup score (scores.seo: robots.txt, AI crawler access, sitemap, structured data, meta description and Open Graph tags). Use this when someone asks to "audit," "scan," "check," or "review" a website's health, or wants a complete report rather than just the AI-visibility number. Returns a scored summary across categories and a link to the full report. The ranked cited-sources evidence behind the AI-visibility number is returned by get_ai_visibility, not by this tool. If name_warning is present, the business name the AI-visibility score was measured against could not be verified — relay that caveat rather than presenting the score as settled fact. Requires a Website Auditor subscription ($10/month; eligible new customers get a 7-day free trial — payment method required, no charge until the trial ends) — if the user doesn't have one, call get_sample_audit first to show them the exact output format, free and with no API key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYesThe website domain, e.g. "example.com".
business_nameNoOptional. The business's real name, if you know it. Leave it out and the audit detects the name from the site and flags it when unverified — a guessed name is scored as if confirmed, so supply one only when it is actually known.
business_locationNoOptional. The city the business trades in, e.g. "Hilo, HI". Leave it out and the audit detects it; when nothing is detectable the questions widen to the country or drop the place entirely, which is right for a national or global business and wrong for a local one.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
scoresYes
report_urlYes
top_issuesYes
name_warningNoSet ONLY when the business name could not be verified, which puts the AI-visibility score in question.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.23
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "name_warning": {
      +      "description": "Set ONLY when the business name could not be verified, which puts the AI-visibility score in question.",
      +      "type": "string"
      +    },
      +    "report_url": {
      +      "type": "string"
      +    },
      +    "scores": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "ai_visibility": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "performance": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "security": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "seo": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "ai_visibility",
      +        "seo",
      +        "security",
      +        "performance"
      +      ],
      +      "type": "object"
      +    },
      +    "top_issues": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "details": {
      +            "type": "string"
      +          },
      +          "module": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "recommendation": {
      +            "type": "string"
      +          },
      +          "severity": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "severity"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "scores",
      +    "top_issues",
      +    "report_url"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changedv1.0.15
    • addedInput schema / properties / business_location
      Added value: +{
      +  "description": "Optional. The city the business trades in, e.g. \"Hilo, HI\". Leave it out and the audit detects it; when nothing is detectable the questions widen to the country or drop the place entirely, which is right for a national or global business and wrong for a local one.",
      +  "type": "string"
      +}
    • addedInput schema / properties / business_name
      Added value: +{
      +  "description": "Optional. The business's real name, if you know it. Leave it out and the audit detects the name from the site and flags it when unverified — a guessed name is scored as if confirmed, so supply one only when it is actually known.",
      +  "type": "string"
      +}
  3. First observedv1.0.6

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only supply the generic openWorldHint/readOnlyHint=false/destructiveHint=false profile; the description adds substantive context the annotations cannot: the paid-subscription requirement, trial terms, the name_warning caveat that must be relayed, and the fact that cited sources are excluded. It does not describe rate limits, audit duration, or failure modes, but the added disclosure is well beyond the 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.

Conciseness4/5

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

Long but front-loaded: scope and coverage come first, then triggers, then the sibling distinction, then the caveat and billing detail. Each sentence carries distinct information, though the subscription/trial explanation is verbose enough to be tightened.

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 an output schema present, return values need not be explained, yet the description still summarizes them and flags the name_warning field's interpretation. Billing prerequisites, the free alternative, and the boundary against get_ai_visibility are all covered, leaving nothing an agent needs 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 description coverage is 100%, and the schema descriptions for business_name and business_location already carry the detailed guidance (guessed names scored as confirmed, location widening behavior). The description adds no parameter-level syntax or format detail beyond that, so the baseline 3 applies.

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 ('Run a full one-time audit of a website') and enumerates exactly which categories are covered, including the precise components of scores.seo. It also explicitly distinguishes itself from get_ai_visibility, noting the ranked cited sources are returned by that sibling instead.

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?

Gives explicit trigger phrasing ('audit,' 'scan,' 'check,' 'review') and the selection condition against the nearest alternative ('wants a complete report rather than just the AI-visibility number'). It further routes users without a subscription to get_sample_audit first, so both when-to-use and the fallback path are spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.