Labsco
apexradius logo

MCP Search Console

from apexradius

Multi-account Google Search Console MCP β€” analytics, URL inspection, sitemaps across named accounts.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup

mcp-search-console

Multi-account Google Search Console MCP server for operators who need one MCP surface across multiple sites or clients without restarting the server.

Release posture: beta package, version 0.1.3 from pyproject.toml.

Choose your path

You are...Start hereThen
Connecting the server to Claude/Codex/Cursordocs/start-here.mdQuick start below
Auditing account routing or destructive guardsdocs/architecture.mdgsc/server.py
Reviewing packaging or registry metadatapyproject.tomlserver.json

Architecture

flowchart TD
  U[AI operator] --> C[MCP client]
  C --> S[FastMCP server]
  S --> M[Account manager]
  M --> F[Accounts config]
  M --> A[OAuth or service-account auth]
  S --> R[Retry wrapper]
  R --> G[Google Search Console API]
  G --> R --> S

Request flow

flowchart TD
  P[Operator asks for analytics or indexing data] --> T[Selected MCP tool]
  T --> A[Resolve named or default account]
  A --> B[Build authenticated GSC client]
  B --> C[Call Search Console endpoint]
  C --> D{API call succeeds?}
  D -- yes --> E[Return normalized JSON]
  D -- retryable --> F[Backoff and retry]
  F --> D
  D -- no --> G[Return error payload]

Available tools

Tool groupToolsPurpose
Account routinglist_accounts, set_default_account, reauthenticateInspect accounts, switch defaults, refresh auth
Property inventorylist_properties, get_site_detailsDiscover accessible properties and permissions
Search analyticsget_search_analytics, get_performance_overview, compare_periods, get_advanced_search_analytics, get_search_by_pageQuery search-performance data
Inspection and sitemapsinspect_url, batch_inspect_urls, check_indexing_issues, list_sitemaps, get_sitemap, submit_sitemap, delete_sitemapInspect indexing and manage sitemap submissions

submit_sitemap and delete_sitemap stay behind the destructive flag documented in docs/start-here.md.

Runtime proof

ClaimProof
Package entry point is stablemcp-search-console-multi = "gsc.server:main" in pyproject.toml
Multi-account routing is first-classAccountManager() and _get_manager() in gsc/server.py
Search Console calls are retriedwith_retry() in gsc/server.py and gsc/retry.py
Auth is file-driven per accountaccounts.example.json and gsc/accounts.py

Repo map

PathPurpose
gsc/server.pyFastMCP tool surface and response normalization
gsc/accounts.pyAccount config, auth loading, client construction
gsc/auth/OAuth and service-account auth implementations
gsc/retry.pyRetry behavior for transient API failures
docs/start-here.mdSetup, env, validation, common failures
docs/architecture.mdComponent map and runtime lifecycle

Validation

CheckCommand
Import compilespython -m compileall gsc
Package buildspython -m build
README/docs links stay localrg '\\]\\(([^)]+\\.md)\\)' README.md docs/

License

MIT

<!-- mcp-name: io.github.Ayo-Fam/mcp-search-console -->