Skip to main content

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

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.

Metadata

Release files for searchconsole-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for searchconsole-mcp 0.1.0
File Size Uploaded Provenance
searchconsole_mcp-0.1.0.tar.gz 18.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for searchconsole-mcp 0.1.0
File Interpreter ABI Platform
searchconsole_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.8 kB

Release files / searchconsole_mcp-0.1.0.tar.gz

Download URL searchconsole_mcp-0.1.0.tar.gz
Size 18.4 kB
Tags Source
SHA-256 checksum
How to use checksums
57ec64c1eb5b47a4370ea015d506d2fc2f6c34d3a4b950c96a16722e53dc83ab
BLAKE2b-256 checksum
How to use checksums
b9e0071de8c7bd5e0dc587d4e5025753b5bd5cda7de1de188dd85d2a901f6dc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 1, 2026.

Transparency log

Release files / searchconsole_mcp-0.1.0-py3-none-any.whl

Download URL searchconsole_mcp-0.1.0-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67cc31dd4bfbd76aa44727f3fb5a0bc383af55d4236976ddbfd06ed8ca4e2b6a
BLAKE2b-256 checksum
How to use checksums
c1c1b28c9797646a75e317a0cc731ac5b249c194c9c8c0eb9abb99f95ce1a5c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 1, 2026.

Transparency log

Security for searchconsole-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for searchconsole_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page