gsc-mcp-rs

gsc-mcp-rs

MCP server for Google Search Console. 21 tools for search analytics, keyword opportunities, URL inspection, sitemaps, indexing, and property management.

Category
Visit Server

README

gsc-mcp-rs

CI License: MIT Rust: 1.88+

A fast, single-binary MCP server for Google Search Console. 21 tools covering search analytics, URL inspection, sitemaps, indexing, and property management.

Features

  • 21 tools across 9 groups: analytics, discovery, inspection, sitemaps, indexing, properties, meta
  • Both auth methods: OAuth 2.0 (personal) and Service Account (automation)
  • Error-as-UI: operational errors return guidance text, never crash the conversation
  • Zero runtime deps: single Rust binary, no Node/Python/Java required
  • sc-domain: support: domain properties work correctly from day one

Quick Start

Install

cargo install gsc-mcp-rs

Or build from source:

git clone https://github.com/eyupcanakman/gsc-mcp-rs.git
cd gsc-mcp-rs
cargo build --release

Configure Auth

Option 1: OAuth (personal use)

  1. Go to Google Cloud Console > APIs & Services > Credentials
  2. Create an OAuth 2.0 Client ID (Desktop app type)
  3. Enable the Search Console API and Indexing API
  4. Save credentials:
mkdir -p ~/.config/gsc-mcp-rs
cat > ~/.config/gsc-mcp-rs/oauth_credentials.json << 'EOF'
{"client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET"}
EOF
  1. Authenticate (opens browser, completes via localhost callback):
gsc-mcp-rs auth

Option 2: Service Account (automation)

  1. Create a service account in Google Cloud Console
  2. Grant it access to your Search Console properties (Full permission)
  3. Download the JSON key and place it:
cp your-key.json ~/.config/gsc-mcp-rs/service_account.json

Or set the environment variable:

export GSC_SERVICE_ACCOUNT_PATH=/path/to/key.json

Add to Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "gsc": {
      "command": "gsc-mcp-rs",
      "args": ["stdio"]
    }
  }
}

Add to Claude Code

claude mcp add gsc-mcp-rs -- gsc-mcp-rs stdio

Tools (21)

Properties & Auth

Tool Description
list_sites List all accessible GSC properties with permission levels
get_site_details Get verification status and ownership details
manage_site Add or remove a property (action: "add"|"delete", idempotent)
reauthenticate Clear tokens for account switching

Search Analytics

Tool Description
search_analytics All dimensions, filters, 25K rows, sorting. Use breakdown for device/country splits
compare_periods Side-by-side period comparison with deltas
performance_overview Quick aggregate summary + daily trend
page_query_breakdown Which queries drive traffic to a specific page

Discovery & Analysis

Tool Description
top_pages Best-performing pages by clicks/impressions/CTR/position
keyword_opportunities 5 modes: quick_wins (default), cannibalization, ctr_gaps, declining, growing
brand_query_analysis Brand vs non-brand traffic split
keyword_trend Daily tracking of a single keyword
detect_anomalies Automatic drop detection with severity levels

Search Appearance

Tool Description
query_by_search_appearance Filter by rich result type (FAQ, VIDEO, etc.)

Export

Tool Description
export_analytics Force CSV file export for large datasets

URL Inspection

Tool Description
inspect_url Check indexing status of a single URL
batch_inspect_urls Inspect up to 50 URLs with configurable concurrency

Sitemaps

Tool Description
list_sitemaps List submitted sitemaps with status
manage_sitemap Submit or remove a sitemap (action: "submit"|"delete", idempotent)

Indexing API

Tool Description
request_indexing Request Google to crawl a URL

Meta

Tool Description
api_reference All dimensions and metrics with descriptions and value ranges

Environment Variables

Variable Default Description
GSC_MCP_CONFIG_DIR ~/.config/gsc-mcp-rs/ Config and token storage directory
GSC_MCP_OUTPUT_DIR System temp dir CSV export directory
GSC_SERVICE_ACCOUNT_PATH (none) Path to service account JSON key

CLI Usage

gsc-mcp-rs stdio         # stdio transport (default)
gsc-mcp-rs auth          # Interactive OAuth flow
gsc-mcp-rs --version     # Show version
gsc-mcp-rs --help        # Show help

Docker

docker build -t gsc-mcp-rs .
docker run -i --rm -v ~/.config/gsc-mcp-rs:/root/.config/gsc-mcp-rs gsc-mcp-rs

Minimum Supported Rust Version (MSRV)

Rust 1.85 or later.

Contributing

See CONTRIBUTING.md for development setup and guidelines.

Security

See SECURITY.md for the vulnerability reporting process.

License

MIT. See LICENSE.

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
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
Qdrant Server

Qdrant Server

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

Official
Featured