Skip to main content
Glama

SEO GSC Wizard MCP

List URL inspection history

list_url_inspections
Read-only

Use this when the user asks what earlier URL inspections found; it spends no inspection quota. Returns the inspection history GSC Wizard has stored for a property: verdict, coverage, indexing state, last-crawl time, the Google-selected and user-declared canonicals, and the Search Console link per URL. Newest first (requested_at, then id). A null canonical with a non-null inspection_result_link means Google did not report it; when the link is null too, the row predates canonical storage (re-run inspect_url for a fresh result). Paged: follow pagination.nextOffset to walk the whole stored history. Not for a fresh result: use inspect_url; for the Indexing Tracker's URLs use list_tracked_urls.

Input Schema

NameRequiredDescriptionDefault
limitNoRows to return per call (default 100, max 500).
offsetNoRows to skip. Use pagination.nextOffset from a previous call to get the next page.
siteUrlYes
urlContainsNo
latestPerUrlNoCollapse repeat inspections of the same URL to the most recent one. Applied to the page after paging, so a page can return fewer rows than limit.

Output Schema

NameRequiredDescriptionDefault
thenByNo
listKeyNoName of the top-level field that holds the rows sortedBy describes.
siteUrlNo
nextStepNo
orderingNo
sortedByNo
sortOrderNo
thenOrderNo
paginationNo
inspectionsNo
emptyBecauseNo
methodLimitsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / listKey
      Added value: +{
      +  "$ref": "#/properties/siteUrl",
      +  "description": "Name of the top-level field that holds the rows sortedBy describes."
      +}
  2. Changed11 schema fields changed
    • changedOutput schema / additionalProperties
      Previous value: -falseNew value: +true
    • addedOutput schema / properties / emptyBecause
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
    • changedOutput schema / properties / inspections / items / additionalProperties
      Previous value: -falseNew value: +true
    • addedOutput schema / properties / methodLimits
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
    • addedOutput schema / properties / nextStep
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
    • addedOutput schema / properties / ordering
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "sortOrder": {
      +            "$ref": "#/properties/siteUrl"
      +          },
      +          "sortedBy": {
      +            "$ref": "#/properties/siteUrl"
      +          },
      +          "thenBy": {
      +            "$ref": "#/properties/siteUrl"
      +          },
      +          "thenOrder": {
      +            "$ref": "#/properties/siteUrl"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / pagination / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "hasMore": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "nextOffset": {
      -        "$ref": "#/properties/pagination/anyOf/0/properties/limit"
      -      },
      -      "note": {
      -        "$ref": "#/properties/siteUrl"
      -      },
      -      "offset": {
      -        "$ref": "#/properties/pagination/anyOf/0/properties/limit"
      -      },
      -      "returned": {
      -        "$ref": "#/properties/pagination/anyOf/0/properties/limit"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "hasMore": {
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "nextOffset": {
      +        "$ref": "#/properties/pagination/anyOf/0/properties/limit"
      +      },
      +      "note": {
      +        "$ref": "#/properties/siteUrl"
      +      },
      +      "offset": {
      +        "$ref": "#/properties/pagination/anyOf/0/properties/limit"
      +      },
      +      "returned": {
      +        "$ref": "#/properties/pagination/anyOf/0/properties/limit"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / sortOrder
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
    • addedOutput schema / properties / sortedBy
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
    • addedOutput schema / properties / thenBy
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
    • addedOutput schema / properties / thenOrder
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
  3. Changed3 schema fields changed
    • addedOutput schema / properties / inspections / items / properties / google_canonical
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
    • addedOutput schema / properties / inspections / items / properties / inspection_result_link
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
    • addedOutput schema / properties / inspections / items / properties / user_canonical
      Added value: +{
      +  "$ref": "#/properties/siteUrl"
      +}
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare it is a safe read (readOnlyHint, destructiveHint=false); the description adds materially more: it spends no inspection quota, ordering is newest-first by requested_at then id, and it documents the edge case where a null canonical with a null link means the row predates canonical storage. That is real operational context an agent cannot get from 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?

The trigger sentence is front-loaded and every clause carries information, including the null-canonical caveat and paging rule. It is a dense single block, though, where the data-semantics aside would read better as a separate sentence.

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 already defining return shape, the description only needs the parts an agent cannot infer: quota cost, ordering, pagination, null-canonical meaning, and exit paths to sibling tools. All are present.

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?

Offset and limit are already documented in the schema, but the description adds the useful behavior that history is walked via pagination.nextOffset, tying the input to the output. It does not explain urlContains (undocumented in schema) or clarify siteUrl, so the 60% coverage gap is only partially compensated.

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 (list stored URL inspection history for a property) and enumerates the returned fields, which pins down exactly what it is. It explicitly contrasts itself with inspect_url and list_tracked_urls, so the agent can route without opening either schema.

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?

"Use this when the user asks what earlier URL inspections found" gives an explicit trigger, and "Not for a fresh result: use inspect_url; for the Indexing Tracker's URLs use list_tracked_urls" names the alternatives and the condition selecting each. Nothing is left to 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.

Resources