Skip to main content
Glama

searchconsole.urlInspection.index.inspect

Inspect a URL’s Google Search Console index status by submitting the inspection URL, site URL, and language code.

Instructions

Index inspection [HTTP POST] — creates or triggers a change; refused under --readonly safety profiles. Returns the API's response resource as JSON — request body is a JSON InspectUrlIndexRequest object accepting inspectionUrl, languageCode, siteUrl; pass it via params or whole via body_file

Input Schema

NameRequiredDescriptionDefault
queryNoExtra KEY=VALUE query pairs for endpoints whose parameters Discovery does not describe.
paramsNoParameter map merged into the request; typed parameters win.
dry_runNoReturn the request that would be sent, without sending it.
body_fileNoRead the request body from this file ('-' for stdin) instead of building one from the parameters. The body is a JSON InspectUrlIndexRequest object.
request_bodyNoRequest body of type InspectUrlIndexRequest: pass it via `params` (merged into the built body) or whole via `body_file`.

Output Schema

NameRequiredDescriptionDefault
inspectionResultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / body_file / description
      Previous value: -"Read the request body from this file ('-' for stdin) instead of building one from the parameters."New value: +"Read the request body from this file ('-' for stdin) instead of building one from the parameters. The body is a JSON InspectUrlIndexRequest object."
    • addedInput schema / properties / request_body
      Added value: +{
      +  "description": "Request body of type InspectUrlIndexRequest: pass it via `params` (merged into the built body) or whole via `body_file`.",
      +  "properties": {
      +    "inspectionUrl": {
      +      "type": "string"
      +    },
      +    "languageCode": {
      +      "type": "string"
      +    },
      +    "siteUrl": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "inspectionResult": {
      +      "properties": {
      +        "ampResult": {
      +          "properties": {
      +            "ampIndexStatusVerdict": {
      +              "enum": [
      +                "VERDICT_UNSPECIFIED",
      +                "PASS",
      +                "PARTIAL",
      +                "FAIL",
      +                "NEUTRAL"
      +              ],
      +              "type": "string"
      +            },
      +            "ampUrl": {
      +              "type": "string"
      +            },
      +            "indexingState": {
      +              "enum": [
      +                "AMP_INDEXING_STATE_UNSPECIFIED",
      +                "AMP_INDEXING_ALLOWED",
      +                "BLOCKED_DUE_TO_NOINDEX",
      +                "BLOCKED_DUE_TO_EXPIRED_UNAVAILABLE_AFTER"
      +              ],
      +              "type": "string"
      +            },
      +            "issues": {
      +              "items": {
      +                "properties": {
      +                  "issueMessage": {
      +                    "type": "string"
      +                  },
      +                  "severity": {
      +                    "enum": [
      +                      "SEVERITY_UNSPECIFIED",
      +                      "WARNING",
      +                      "ERROR"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "lastCrawlTime": {
      +              "type": "string"
      +            },
      +            "pageFetchState": {
      +              "enum": [
      +                "PAGE_FETCH_STATE_UNSPECIFIED",
      +                "SUCCESSFUL",
      +                "SOFT_404",
      +                "BLOCKED_ROBOTS_TXT",
      +                "NOT_FOUND",
      +                "ACCESS_DENIED",
      +                "SERVER_ERROR",
      +                "REDIRECT_ERROR",
      +                "ACCESS_FORBIDDEN",
      +                "BLOCKED_4XX",
      +                "INTERNAL_CRAWL_ERROR",
      +                "INVALID_URL"
      +              ],
      +              "type": "string"
      +            },
      +            "robotsTxtState": {
      +              "enum": [
      +                "ROBOTS_TXT_STATE_UNSPECIFIED",
      +                "ALLOWED",
      +                "DISALLOWED"
      +              ],
      +              "type": "string"
      +            },
      +            "verdict": {
      +              "enum": [
      +                "VERDICT_UNSPECIFIED",
      +                "PASS",
      +                "PARTIAL",
      +                "FAIL",
      +                "NEUTRAL"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "indexStatusResult": {
      +          "properties": {
      +            "coverageState": {
      +              "type": "string"
      +            },
      +            "crawledAs": {
      +              "enum": [
      +                "CRAWLING_USER_AGENT_UNSPECIFIED",
      +                "DESKTOP",
      +                "MOBILE"
      +              ],
      +              "type": "string"
      +            },
      +            "googleCanonical": {
      +              "type": "string"
      +            },
      +            "indexingState": {
      +              "enum": [
      +                "INDEXING_STATE_UNSPECIFIED",
      +                "INDEXING_ALLOWED",
      +                "BLOCKED_BY_META_TAG",
      +                "BLOCKED_BY_HTTP_HEADER",
      +                "BLOCKED_BY_ROBOTS_TXT"
      +              ],
      +              "type": "string"
      +            },
      +            "lastCrawlTime": {
      +              "type": "string"
      +            },
      +            "pageFetchState": {
      +              "enum": [
      +                "PAGE_FETCH_STATE_UNSPECIFIED",
      +                "SUCCESSFUL",
      +                "SOFT_404",
      +                "BLOCKED_ROBOTS_TXT",
      +                "NOT_FOUND",
      +                "ACCESS_DENIED",
      +                "SERVER_ERROR",
      +                "REDIRECT_ERROR",
      +                "ACCESS_FORBIDDEN",
      +                "BLOCKED_4XX",
      +                "INTERNAL_CRAWL_ERROR",
      +                "INVALID_URL"
      +              ],
      +              "type": "string"
      +            },
      +            "referringUrls": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "robotsTxtState": {
      +              "enum": [
      +                "ROBOTS_TXT_STATE_UNSPECIFIED",
      +                "ALLOWED",
      +                "DISALLOWED"
      +              ],
      +              "type": "string"
      +            },
      +            "sitemap": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "userCanonical": {
      +              "type": "string"
      +            },
      +            "verdict": {
      +              "enum": [
      +                "VERDICT_UNSPECIFIED",
      +                "PASS",
      +                "PARTIAL",
      +                "FAIL",
      +                "NEUTRAL"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "inspectionResultLink": {
      +          "type": "string"
      +        },
      +        "mobileUsabilityResult": {
      +          "properties": {
      +            "issues": {
      +              "items": {
      +                "properties": {
      +                  "issueType": {
      +                    "enum": [
      +                      "MOBILE_USABILITY_ISSUE_TYPE_UNSPECIFIED",
      +                      "USES_INCOMPATIBLE_PLUGINS",
      +                      "CONFIGURE_VIEWPORT",
      +                      "FIXED_WIDTH_VIEWPORT",
      +                      "SIZE_CONTENT_TO_VIEWPORT",
      +                      "USE_LEGIBLE_FONT_SIZES",
      +                      "TAP_TARGETS_TOO_CLOSE"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "message": {
      +                    "type": "string"
      +                  },
      +                  "severity": {
      +                    "enum": [
      +                      "SEVERITY_UNSPECIFIED",
      +                      "WARNING",
      +                      "ERROR"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "verdict": {
      +              "enum": [
      +                "VERDICT_UNSPECIFIED",
      +                "PASS",
      +                "PARTIAL",
      +                "FAIL",
      +                "NEUTRAL"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "richResultsResult": {
      +          "properties": {
      +            "detectedItems": {
      +              "items": {
      +                "properties": {
      +                  "items": {
      +                    "items": {
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "richResultType": {
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "verdict": {
      +              "enum": [
      +                "VERDICT_UNSPECIFIED",
      +                "PASS",
      +                "PARTIAL",
      +                "FAIL",
      +                "NEUTRAL"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden and does reasonably well: it discloses the mutation/POST semantics, that it is refused under --readonly safety profiles, and that it returns the API response resource as JSON. Auth/scope requirements and idempotency are not covered, so it is not a 5.

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?

Two front-loaded clauses with no filler; the mutation and safety information comes first, then the request body details. It is dense but every clause carries information, though the long middle clause borders on run-on.

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?

For a POST tool with an output schema (return shape needn't be explained) and a nested request body, the description covers purpose, mutation behavior, safety gating, and how to pass the body. Missing auth/scope context keeps it from a 5.

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 coverage is 100%, so the baseline is 3. The description names the InspectUrlIndexRequest fields and the params-vs-body_file routing, but this largely restates what the schema descriptions already state, adding only modest clarification.

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 (index inspection, HTTP POST) and discloses that it creates or triggers a change, so the operation type is clear. It does not explicitly differentiate itself from siblings like searchconsole.urlTestingTools.mobileFriendlyTest.run or searchanalytics.query, which is why it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the --readonly safety gate but gives no guidance on when to choose this tool versus the other searchconsole tools (search analytics, mobile-friendly test, sitemaps). An agent is left to infer the use case from the name alone.

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

Deploy Server

Other Tools