> ## Documentation Index
> Fetch the complete documentation index at: https://rankahead.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Search Console Tools — Rankahead MCP Reference

> Access GSC connection status, striking-distance opportunities, content gap alerts, and ranking drop notifications through the Rankahead MCP integration.

The GSC tools connect Rankahead's AI visibility data with your Google Search Console account. Use them to check whether your GSC integration is active, retrieve a dashboard of actionable search insights, and surface unread alerts about ranking changes or new striking-distance keyword opportunities. These tools are particularly useful for agents that need to cross-reference traditional SEO signals with AI citation data.

***

## get\_gsc\_connection

Returns the status of your Google Search Console connection, including the verified site URL and the timestamp of the most recent data sync. Use this tool to confirm GSC is connected before calling other GSC tools.

This tool takes no input parameters.

<CodeGroup>
  ```json Request theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_gsc_connection",
      "arguments": {}
    },
    "id": 1
  }
  ```
</CodeGroup>

<ResponseField name="connected" type="boolean">
  Whether a valid GSC connection is active for your account.
</ResponseField>

<ResponseField name="siteUrl" type="string">
  The verified site URL associated with the GSC connection (e.g. `https://acmecrm.com/`).
</ResponseField>

<ResponseField name="lastSyncedAt" type="string">
  ISO 8601 timestamp of the most recent successful data sync from GSC.
</ResponseField>

***

## get\_gsc\_dashboard

Returns a summary of your most actionable GSC insights. This includes queries in striking distance of a top-10 ranking, content gaps where you have impressions but low clicks, your top-performing posts by click volume, and any keyword cannibalization alerts.

This tool takes no input parameters.

<CodeGroup>
  ```json Request theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_gsc_dashboard",
      "arguments": {}
    },
    "id": 2
  }
  ```
</CodeGroup>

<ResponseField name="strikingDistanceQueries" type="object[]">
  Queries ranking in positions 4–20 with meaningful impression volume. These are candidates for quick ranking gains with targeted content updates.
</ResponseField>

<ResponseField name="strikingDistanceQueries[].query" type="string">
  The search query text.
</ResponseField>

<ResponseField name="strikingDistanceQueries[].position" type="number">
  Current average ranking position in GSC.
</ResponseField>

<ResponseField name="strikingDistanceQueries[].impressions" type="number">
  Impression count over the reporting period.
</ResponseField>

<ResponseField name="contentGaps" type="object[]">
  Pages with high impressions but low CTR, indicating a title or meta description opportunity.
</ResponseField>

<ResponseField name="topPostsByClicks" type="object[]">
  Your highest-traffic pages ranked by organic clicks over the reporting period.
</ResponseField>

<ResponseField name="cannibalizationAlerts" type="object[]">
  Pairs of pages competing for the same queries, which may be splitting ranking signals.
</ResponseField>

***

## get\_gsc\_alerts

Returns recent unread GSC alerts. Alerts are generated automatically when Rankahead detects significant changes in your GSC data — such as a ranking drop on a monitored page or a query entering striking distance for the first time.

This tool takes no input parameters.

<CodeGroup>
  ```json Request theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_gsc_alerts",
      "arguments": {}
    },
    "id": 3
  }
  ```
</CodeGroup>

<ResponseField name="alerts" type="object[]">
  Array of unread alert objects.
</ResponseField>

<ResponseField name="alerts[].alertId" type="string">
  Unique identifier for the alert.
</ResponseField>

<ResponseField name="alerts[].type" type="string">
  Alert type. Common values include `RANKING_DROP` and `STRIKING_DISTANCE_OPPORTUNITY`.
</ResponseField>

<ResponseField name="alerts[].message" type="string">
  Human-readable description of what triggered the alert.
</ResponseField>

<ResponseField name="alerts[].detectedAt" type="string">
  ISO 8601 timestamp when the alert was generated.
</ResponseField>

<ResponseField name="alerts[].read" type="boolean">
  Whether the alert has been marked as read. This endpoint returns only unread alerts.
</ResponseField>

***

## mark\_gsc\_alert\_read

Marks one or all unread GSC alerts as read. If you omit `alertId`, all current unread alerts are marked as read in a single call.

<ParamField path="alertId" type="string">
  Optional ID of a specific alert to mark as read. Omit to mark all unread alerts as read.
</ParamField>

<CodeGroup>
  ```json Request — mark one alert read theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "mark_gsc_alert_read",
      "arguments": {
        "alertId": "alr_05oep6v5r3hb"
      }
    },
    "id": 4
  }
  ```

  ```json Request — mark all alerts read theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "mark_gsc_alert_read",
      "arguments": {}
    },
    "id": 5
  }
  ```
</CodeGroup>

<Tip>
  Call `get_gsc_alerts` after marking alerts read to confirm the unread count has cleared.
</Tip>
