Mcp

Google Search Console Tools

Access your Google Search Console data through AI. Get real clicks, impressions, rankings, and run analysis presets to find SEO opportunities. Requires GSC connected in your Pro dashboard.

Connect your site to Google Search Console in the Pro dashboard before using these tools. Data syncs automatically via gscdump.com.

Quick Start

All GSC tools auto-detect your site if you have one GSC-connected site. For multiple sites, pass siteUrl.

// Auto-detect (single site)
gsc_query({ type: 'pages', period: '28d', limit: 10 })

// Explicit site
gsc_query({ type: 'pages', siteUrl: 'https://mysite.com', period: '28d' })

gsc_status

Check GSC connection and sync status.

ParameterTypeDescription
siteUrlstringSite URL (optional if single site)
gsc_status()

Returns:

{
  "connected": true,
  "site": "https://mysite.com",
  "syncStatus": "synced",
  "syncProgress": { "percent": 100 },
  "dateRange": {
    "oldest": "2023-01-15",
    "newest": "2024-01-20"
  },
  "lastSyncAt": 1705789200000
}

gsc_query

Unified GSC data query. Use the type parameter to select what data to retrieve.

ParameterTypeDefaultDescription
typestringrequiredQuery type (see below)
siteUrlstring-Site URL (optional)
periodstring28d7d, 28d, 3m, 6m, 12m
limitnumber25Max results (1-100)
sortstringclicksclicks, impressions, ctr, position
sortDirstringdescasc, desc
searchstring-Filter text

type: pages

Top pages with clicks, impressions, CTR, and position. Includes comparison to previous period.

Extra ParameterTypeDescription
filterstringtop-level, new, lost, improving, declining
minClicksnumberMinimum clicks
maxPositionnumberMaximum position
gsc_query({ type: 'pages', period: '28d', limit: 10, filter: 'declining' })

type: keywords

Top keywords/queries with performance metrics.

Extra ParameterTypeDescription
filterstringtop-level, new, lost, improving, declining
minImpressionsnumberMinimum impressions
gsc_query({ type: 'keywords', period: '28d', limit: 20, minImpressions: 100 })

type: timeseries

Daily time-series data for trend analysis.

gsc_query({ type: 'timeseries', period: '28d' })

Returns daily data points with clicks, impressions, CTR, and position.

type: countries

Traffic breakdown by country.

gsc_query({ type: 'countries', period: '28d', limit: 10 })

type: devices

Traffic breakdown by device type (desktop, mobile, tablet).

gsc_query({ type: 'devices', period: '28d' })

type: analysis

Run SEO analysis presets to find opportunities.

Extra ParameterTypeDescription
presetstringrequired — see preset table below
brandTermsstringBrand terms for brand presets (comma-separated)

Available Presets

PresetWhat It Finds
striking-distanceKeywords in positions 4-20 that could reach page 1 with optimization
opportunityHigh impressions, low CTR—title/content improvements needed
movers-risingKeywords gaining rankings—double down on what's working
movers-decliningKeywords losing rankings—needs attention before further drops
decayPages/keywords with declining performance over time
zero-clickKeywords with impressions but no clicks—featured snippet opportunities?
non-brandNon-branded traffic (requires brandTerms)
brand-onlyBranded traffic only (requires brandTerms)
// Find quick wins
gsc_query({ type: 'analysis', preset: 'striking-distance', period: '28d', limit: 20 })

// Brand vs non-brand split
gsc_query({ type: 'analysis', preset: 'non-brand', brandTerms: 'nuxt seo, nuxtseo' })

Preset-Specific Fields

PresetExtra Fields
striking-distancepotentialClicks, opportunityScore
opportunitypotentialClicks, opportunityScore
movers-*clicksChange, posChange
decaydecayPct, missedClicks
brand/non-brandsummary with brand share stats

type: page-detail

Get all keywords ranking for a specific page.

Extra ParameterTypeDescription
pageUrlstringrequired — full URL of the page
gsc_query({
  type: 'page-detail',
  pageUrl: 'https://mysite.com/docs/getting-started',
  period: '28d',
  limit: 20
})

Use this to see which keywords drive traffic to a specific page.

type: keyword-detail

Get all pages ranking for a specific keyword.

Extra ParameterTypeDescription
keywordstringrequired — keyword to analyze
gsc_query({
  type: 'keyword-detail',
  keyword: 'nuxt meta tags',
  period: '28d'
})

Use this to detect keyword cannibalization—multiple pages competing for the same keyword.

gsc_sitemaps

Sitemap management — view status, submit, delete, or refresh sitemaps.

ParameterTypeDefaultDescription
siteUrlstring-Site URL (optional)
actionstringlistlist, submit, delete, refresh
sitemapUrlstring-Sitemap URL (required for submit/delete)
// List sitemaps
gsc_sitemaps()

// Submit new sitemap
gsc_sitemaps({ action: 'submit', sitemapUrl: 'https://mysite.com/sitemap.xml' })

// Refresh all sitemaps
gsc_sitemaps({ action: 'refresh' })

// Delete sitemap
gsc_sitemaps({ action: 'delete', sitemapUrl: 'https://mysite.com/old-sitemap.xml' })

Data Freshness

ToolCacheNotes
gsc_status5 minReal-time sync status
gsc_query1 hourAll query types
gsc_sitemaps (list)1 hourSitemap status
gsc_sitemaps (submit/delete/refresh)NoneImmediate action

GSC data has a 2-3 day delay from Google. The newest date in sync status shows the most recent available data.

Using with Audit Prompts

These tools power the SEO Audit prompts:

  • seo_audit_site - Runs gsc_query with timeseries, analysis presets, countries, and devices for a comprehensive site audit
  • seo_audit_page - Runs gsc_query with page-detail and keyword-detail for deep page analysis

The prompts orchestrate these tools and generate prioritized action plans from the data.

Did this page help you?