Skip to main content
Glama
acamolese

Google Search Console Audit MCP

gsc_audit

Read-onlyIdempotent

Run a complete SEO audit for any Google Search Console property: collect performance, indexing, and sitemap data, detect issues, and receive a prioritized strategy and roadmap.

Instructions

Build a complete, self-contained HTML SEO audit for one property.

Collects the period and its baseline, top queries and pages, devices, countries, the daily trend, six months of history, sitemaps and an indexing check, then detects issues and builds a prioritised strategy and roadmap. Thresholds adapt to the size of the property, so small sites get a report too. Available in English and Italian.

Ask the user for the period if they have not named one: the 28-day default is rarely what a client report wants.

Returns a compact JSON summary first (KPIs with deltas, issue counts, top quick wins, roadmap), so the findings can be discussed without reading the HTML, followed by the report path or the document itself.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoRolling window length ending today.
outputNo`file` writes the report and returns its path, `inline` returns the HTML as an embedded resource, `both` does both, `auto` picks by transport.auto
periodNoNamed range: last_7_days, last_28_days, last_3_months, last_month, this_month, last_16_months.
date_toNoEnd date YYYY-MM-DD. Defaults to today.
languageNoReport language: en, it. Defaults to en.
sectionsNoSubset of sections to render: overview, issues, top_queries, top_pages, countries, sitemaps, indexing, strategy, roadmap.
site_urlYes`sc-domain:example.com` for a domain property, or `https://example.com/` with the trailing slash for a URL-prefix property. Call gsc_sites if unsure.
date_fromNoStart date YYYY-MM-DD. Overrides period and days.
output_dirNoWhere to write the report. Defaults to ~/gsc-reports/.
thresholdsNoOverride the adaptive thresholds: min_impressions, min_clicks, high_visibility_impressions, ctr_curve.
brand_termsNoWords that mark a query as branded. Without them the first label of the domain is used, which is often wrong.
branding_pathNoPath to a branding.json overriding colours, logo, name and thresholds.
inspect_top_pagesNoHow many top pages to run through URL Inspection. 0 disables it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changedv3.0.1
    • addedInput schema / properties / brand_terms
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Words that mark a query as branded. Without them the first label of the domain is used, which is often wrong.",
      +  "title": "Brand Terms"
      +}
    • addedInput schema / properties / branding_path / description
      Added value: +"Path to a branding.json overriding colours, logo, name and thresholds."
    • addedInput schema / properties / date_from / default
      Added value: +""
    • addedInput schema / properties / date_from / description
      Added value: +"Start date YYYY-MM-DD. Overrides period and days."
    • addedInput schema / properties / date_to / default
      Added value: +""
    • addedInput schema / properties / date_to / description
      Added value: +"End date YYYY-MM-DD. Defaults to today."
    • addedInput schema / properties / days
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Rolling window length ending today.",
      +  "title": "Days"
      +}
    • addedInput schema / properties / inspect_top_pages
      Added value: +{
      +  "default": 10,
      +  "description": "How many top pages to run through URL Inspection. 0 disables it.",
      +  "title": "Inspect Top Pages",
      +  "type": "integer"
      +}
    • addedInput schema / properties / language
      Added value: +{
      +  "default": "",
      +  "description": "Report language: en, it. Defaults to en.",
      +  "title": "Language",
      +  "type": "string"
      +}
    • addedInput schema / properties / output
      Added value: +{
      +  "default": "auto",
      +  "description": "`file` writes the report and returns its path, `inline` returns the HTML as an embedded resource, `both` does both, `auto` picks by transport.",
      +  "title": "Output",
      +  "type": "string"
      +}
    • addedInput schema / properties / output_dir / description
      Added value: +"Where to write the report. Defaults to ~/gsc-reports/."
    • addedInput schema / properties / period
      Added value: +{
      +  "default": "",
      +  "description": "Named range: last_7_days, last_28_days, last_3_months, last_month, this_month, last_16_months.",
      +  "title": "Period",
      +  "type": "string"
      +}
    • addedInput schema / properties / sections
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Subset of sections to render: overview, issues, top_queries, top_pages, countries, sitemaps, indexing, strategy, roadmap.",
      +  "title": "Sections"
      +}
    • addedInput schema / properties / site_url / description
      Added value: +"`sc-domain:example.com` for a domain property, or `https://example.com/` with the trailing slash for a URL-prefix property. Call gsc_sites if unsure."
    • addedInput schema / properties / thresholds
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Override the adaptive thresholds: min_impressions, min_clicks, high_visibility_impressions, ctr_curve.",
      +  "title": "Thresholds"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "site_url",
      -  "date_from",
      -  "date_to"
      -]New value: +[
      +  "site_url"
      +]
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "gsc_auditOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv2.0.2

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already establish read-only, idempotent behavior. The description adds meaningful context beyond that: adaptive thresholds for small sites, English/Italian availability, the instruction to ask for a period, and the two-stage return of a compact JSON summary followed by the report path/document. This gives the agent a clear picture of what to expect without contradicting the annotations.

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?

Every sentence earns its place: scope, contents, adaptive behavior, language, user-interaction guidance, and return format. The description is dense but not bloated, and the most important identifying sentence is first. No filler or repetition of schema details.

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?

For a complex 13-parameter tool with no output schema, the description is remarkably complete. It explains the report scope, the adaptive thresholds, the language options, the critical 'ask about period' behavior, and the JSON-first return strategy. Combined with the fully described schema and safety annotations, an agent has enough context to invoke it correctly.

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 description coverage is 100%, so the schema carries the parameter definitions. The description adds value beyond the schema by explaining why the default period is often wrong, that thresholds adapt to property size, and that output can be a summary plus report. This helps the agent make better parameter choices, especially around `period` and `language`.

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 opens with a specific verb and resource: 'Build a complete, self-contained HTML SEO audit for one property.' It then enumerates the major components (top queries, pages, devices, countries, sitemaps, indexing, strategy, roadmap), making the tool's scope unmistakable and clearly broader than the focused sibling tools like gsc_query or gsc_sitemaps.

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?

It provides explicit operational guidance: 'Ask the user for the period if they have not named one,' including why the 28-day default is inadequate for client reports. It does not directly name alternatives or state when not to use this tool, but the comprehensive scope makes its role as the full-audit tool clear.

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