Skip to main content

MCP server for Google Search Console — query search analytics, manage sitemaps, inspect URLs

Project description

searchconsole-mcp

A lightweight, fast MCP server for Google Search Console. Query search analytics, manage sitemaps, and inspect URLs directly from your AI assistant.

Python 3.10+ License

Features

  • 7 Powerful Tools: List sites, query search analytics, manage sitemaps, inspect URLs
  • Fast & Lightweight: Built with httpx and google-auth — minimal dependencies
  • Standard MCP: Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client
  • Full Analytics: Query clicks, impressions, CTR, and position with flexible dimensions and filters
  • URL Inspection: Check indexing status and coverage for any URL
  • Sitemap Management: Submit, list, and delete sitemaps

Installation

From PyPI (recommended)

pip install searchconsole-mcp

From source

git clone https://github.com/harisnadeem/searchconsole-mcp.git
cd searchconsole-mcp
pip install -e .

Quick Start

1. Enable the Search Console API

  1. Go to Google Cloud Console
  2. Select or create a project
  3. Click Enable

2. Authenticate

Option A: User Account (OAuth) — recommended for personal use

gcloud auth application-default login

Option B: Service Account — recommended for team/agency use

  1. Create a service account: Google Cloud Console → IAM → Service Accounts
  2. Download the JSON key
  3. Set the environment variable:
    export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"
    

3. Configure your MCP client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "searchconsole": {
      "command": "searchconsole-mcp",
      "env": {}
    }
  }
}

Cursor

In Cursor Settings → Features → MCP, add:

  • Name: searchconsole
  • Type: command
  • Command: searchconsole-mcp

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "searchconsole": {
      "command": "searchconsole-mcp"
    }
  }
}

Usage Examples

Once connected, ask your AI assistant:

Available Tools

Tool Description
get_sites List all verified sites in your Search Console account
query_search_analytics Query clicks, impressions, CTR, position by dimensions
get_sitemap Get metadata for a specific sitemap
list_sitemaps List all sitemaps for a site
submit_sitemap Submit/add a new sitemap URL
delete_sitemap Remove a sitemap from Search Console
inspect_url Inspect indexing status, coverage, and robots.txt state

Configuration

Environment Variables

Variable Description Required
GOOGLE_APPLICATION_CREDENTIALS Path to service account key JSON Only if using service account

Google Cloud Project

The server uses Application Default Credentials (ADC). Ensure the Google Cloud project has the Search Console API enabled.

API Rate Limits

The Search Console API enforces per-user quotas:

  • Default: ~25,000 queries per day
  • URL Inspection: Limited (~10 per minute)

The server does not implement additional rate limiting; respect the API quotas.

Requirements

  • Python 3.10+
  • Google Cloud project with Search Console API enabled
  • Authenticated Google account with Search Console access

Development

# Clone and setup
git clone https://github.com/harisnadeem/searchconsole-mcp.git
cd searchconsole-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

# Run tests
python -m pytest tests/

# Format code
black searchconsole_mcp/
ruff check searchconsole_mcp/

Publishing a Release

This repository is configured for GitHub Actions + PyPI Trusted Publishing.

  1. In PyPI, create the project searchconsole-mcp (or use the existing one).
  2. In PyPI project settings, add a Trusted Publisher:
    • Owner: harisnadeem
    • Repository: searchconsole-mcp
    • Workflow: publish.yml
    • Environment: pypi
  3. Create and push a version tag:
    git tag v0.1.0
    git push origin v0.1.0
    
  4. Create a GitHub Release for that tag.
  5. The Publish to PyPI workflow publishes the package automatically.

Contributing

Contributions welcome! Please read CONTRIBUTING.md for guidelines.

Changelog

See CHANGELOG.md for version history.

License

Apache 2.0 — see LICENSE for details.

Acknowledgments

Built with:


Not officially affiliated with Google. This is an unofficial, community-maintained MCP server for Google Search Console.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

searchconsole_mcp-0.1.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

searchconsole_mcp-0.1.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file searchconsole_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: searchconsole_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for searchconsole_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 57ec64c1eb5b47a4370ea015d506d2fc2f6c34d3a4b950c96a16722e53dc83ab
MD5 eee5899314978afbb8e080c41986b501
BLAKE2b-256 b9e0071de8c7bd5e0dc587d4e5025753b5bd5cda7de1de188dd85d2a901f6dc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for searchconsole_mcp-0.1.0.tar.gz:

Publisher: publish.yml on harisnadeem/searchconsole-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file searchconsole_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for searchconsole_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 67cc31dd4bfbd76aa44727f3fb5a0bc383af55d4236976ddbfd06ed8ca4e2b6a
MD5 626163bf8266a5aaafe4d9496e3d142c
BLAKE2b-256 c1c1b28c9797646a75e317a0cc731ac5b249c194c9c8c0eb9abb99f95ce1a5c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for searchconsole_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on harisnadeem/searchconsole-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page