MCP server/search

mcp-seo-audit MCP Server

SEO audit and Google Search Console MCP server with 23 tools.

★ 1GiorgiKemo/mcp-seo-audit ↗by GiorgiKemoupdated
Manual setup required. The maintainer's config contains paths only you know - edit the placeholders below before adding it to Claude Code.
1

Prepare the server locally

Run this once before adding it to Claude Code.

git clone https://github.com/GiorgiKemo/mcp-gsc.git
cd mcp-gsc
python -m venv .venv
pip install -r requirements.txt
2

Register it in Claude Code

claude mcp add mcp-seo-audit -- /path/to/mcp-gsc/.venv/bin/python /path/to/mcp-gsc/gsc_server.py

Replace any placeholder paths in the command with the real path on your machine.

3

Make your agent remember this setup

mcp-seo-audit's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.

npx conare@latest

Free · one command · indexes the sessions already on disk. Set up in the browser instead →

What it does

  • Comprehensive Google Search Console integration for analytics and property management.
  • Advanced SEO analysis tools including keyword cannibalization detection and striking distance identification.
  • Direct interaction with Google's Indexing API for URL submission and removal.
  • Core Web Vitals reporting via the Chrome UX Report (CrUX) API.
  • Automated site audit reporting covering sitemap health and canonical status.

Tools 23

list_propertiesList GSC properties
add_siteAdd a GSC property
delete_siteRemove a GSC property
get_search_analyticsQuery search analytics data
get_advanced_search_analyticsQuery advanced search analytics with filtering
get_performance_overviewGet search performance overview
get_search_by_page_queryGet search analytics by page and query
compare_search_periodsCompare search performance between two periods
inspect_urlCheck indexing status for a URL
batch_inspect_urlsCheck indexing status for multiple URLs
request_indexingSubmit a URL for indexing
request_removalRequest removal of a URL from index
check_indexing_notificationCheck status of an indexing request
batch_request_indexingSubmit multiple URLs for indexing
get_sitemapsList sitemaps
submit_sitemapSubmit a sitemap
delete_sitemapDelete a sitemap
get_core_web_vitalsGet Core Web Vitals data via CrUX API
find_striking_distance_keywordsFind keywords at positions 5-20
detect_cannibalizationDetect pages competing for the same query
split_branded_queriesSplit branded vs non-branded traffic
site_auditRun an all-in-one site audit report
reauthenticateSwitch Google accounts

Environment Variables

GSC_OAUTH_CLIENT_SECRETS_FILEPath to OAuth client secrets
GSC_CREDENTIALS_PATHPath to service account key
GSC_SKIP_OAUTHSet to true to skip OAuth and use service account only
GSC_DATA_STATEData freshness setting (all or final)
CRUX_API_KEYGoogle API key for Core Web Vitals

Try it

Show search analytics for my site over the last 28 days.
Find striking distance keywords for my website.
Run a full site audit for my domain.
Check the indexing status of my new blog post URL.
Compare search performance for this month versus last month.
Original README from GiorgiKemo/mcp-seo-audit

mcp-seo-audit

A Model Context Protocol (MCP) server for SEO auditing, Google Search Console analytics, URL indexing, Core Web Vitals, and site analysis. Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.

Forked from AminForou/mcp-gsc and rewritten with 23 tools, bug fixes, and a full test suite.

<a href="https://glama.ai/mcp/servers/GiorgiKemo/mcp-seo-audit"> </a>

What It Does

Category Tools Description
Property Management list_properties, add_site, delete_site List, add, and remove GSC properties
Search Analytics get_search_analytics, get_advanced_search_analytics, get_performance_overview, get_search_by_page_query, compare_search_periods Query clicks, impressions, CTR, position with filtering, dimensions, and period comparison
URL Inspection inspect_url, batch_inspect_urls Check indexing status, crawl info, canonical, robots for one or many URLs
Indexing API request_indexing, request_removal, check_indexing_notification, batch_request_indexing Submit/remove URLs from Google's index via the Indexing API
Sitemaps get_sitemaps, submit_sitemap, delete_sitemap List, submit, and delete sitemaps
Core Web Vitals get_core_web_vitals LCP, FID, CLS, INP, TTFB via the Chrome UX Report (CrUX) API
SEO Analysis find_striking_distance_keywords, detect_cannibalization, split_branded_queries Find keywords at positions 5-20, detect pages competing for the same query, split branded vs non-branded traffic
Site Audit site_audit All-in-one report: sitemap health, indexing status, canonical mismatches, performance summary
Auth reauthenticate Switch Google accounts by clearing cached OAuth tokens

23 tools total.


Setup

1. Google API Credentials

OAuth (recommended)
  1. Go to Google Cloud Console
  2. Enable the Search Console API and Web Search Indexing API
  3. Create an OAuth 2.0 Client ID (Desktop app)
  4. Download client_secrets.json
Service Account
  1. Create a service account in Google Cloud Console
  2. Download the JSON key file
  3. Add the service account email to your GSC properties

2. Install

git clone https://github.com/GiorgiKemo/mcp-gsc.git
cd mcp-gsc
python -m venv .venv

# Activate:
# macOS/Linux: source .venv/bin/activate
# Windows:     .venv\Scripts\activate

pip install -r requirements.txt

3. Configure Your MCP Client

Claude Code (`~/.claude/settings.json`)
{
  "mcpServers": {
    "seo-audit": {
      "command": "/path/to/mcp-gsc/.venv/bin/python",
      "args": ["/path/to/mcp-gsc/gsc_server.py"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/path/to/client_secrets.json"
      }
    }
  }
}
Claude Desktop (`claude_desktop_config.json`)

Same JSON structure — see Claude Desktop MCP docs for config file location.

4. Optional: CrUX API Key

For Core Web Vitals data, set CRUX_API_KEY in the env block:

"env": {
  "GSC_OAUTH_CLIENT_SECRETS_FILE": "/path/to/client_secrets.json",
  "CRUX_API_KEY": "your-google-api-key"
}

Get one from Google AI Studio or the Cloud Console with CrUX API enabled.


Environment Variables

Variable Required Default Description
GSC_OAUTH_CLIENT_SECRETS_FILE OAuth client_secrets.json Path to OAuth client secrets
GSC_CREDENTIALS_PATH Service account service_account_credentials.json Path to service account key
GSC_SKIP_OAUTH No false Set to true to skip OAuth and use service account only
GSC_DATA_STATE No all all = fresh data matching GSC dashboard, final = confirmed data (2-3 day lag)
CRUX_API_KEY No Google API key for Core Web Vitals (CrUX)

Example Prompts

"List my GSC properties"
"Show search analytics for cdljobscenter.com last 28 days"
"Find striking distance keywords for my site"
"Detect keyword cannibalization"
"Run a full site audit"
"Check Core Web Vitals for cdljobscenter.com"
"Inspect indexing status of these URLs: /jobs, /companies, /pricing"
"Request indexing for https://mysite.com/new-page"
"Compare search performance this month vs last month"

Tests

71 tests covering all 23 tools with mocked Google API calls:

# Activate venv first
python -m pytest test_gsc_server.py -v

What Changed From the Original

  • 23 tools (up from ~10) — added Indexing API, CrUX, SEO analysis, site audit
  • 7 bug fixes — sort direction mapping, origin/URL detectio

Frequently Asked Questions

What are the key features of mcp-seo-audit?

Comprehensive Google Search Console integration for analytics and property management.. Advanced SEO analysis tools including keyword cannibalization detection and striking distance identification.. Direct interaction with Google's Indexing API for URL submission and removal.. Core Web Vitals reporting via the Chrome UX Report (CrUX) API.. Automated site audit reporting covering sitemap health and canonical status..

What can I use mcp-seo-audit for?

Identifying 'low-hanging fruit' keywords that are ranking on page 2 to optimize for page 1.. Detecting and fixing keyword cannibalization where multiple pages compete for the same search term.. Automating the indexing request process for new content updates.. Monitoring site performance and Core Web Vitals metrics directly within the AI chat interface.. Comparing search traffic trends across different time periods to evaluate SEO strategy impact..

How do I install mcp-seo-audit?

Install mcp-seo-audit by running: git clone https://github.com/GiorgiKemo/mcp-gsc.git && cd mcp-gsc && python -m venv .venv && pip install -r requirements.txt

What MCP clients work with mcp-seo-audit?

mcp-seo-audit works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep mcp-seo-audit docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest