searchconsole-mcp

searchconsole-mcp

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

Category
Visit Server

README

Google Search Console MCP Server (by Haris Nadeem)

Package name: 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

<p align="center"> <img src="./logo.png" alt="Google Search Console MCP Server logo" width="220"> </p>

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:

  • "List all sites in my Search Console account"
  • "Show me search analytics for example.com for the last 30 days"
  • "Get the top queries with highest impressions but low CTR"
  • "Check if https://example.com/page is indexed"
  • "Submit the sitemap at https://example.com/sitemap.xml"

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured