# search-console-mcp [Health: Active]

**Category:** 🎯 Marketing  
**Repository:** https://github.com/sudomichael/search-console-mcp  
**GitHub Stars:** 7  
**npm Downloads (last month):** 1209  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/search-console-mcp

## Description
Google Search Console for any MCP client - 30-second login, no Google Cloud project. Read-only.

## Tools
Capabilities this server exposes over MCP:

- **list_properties** — List the Google Search Console properties this account can access. Call this first to get exact siteUrl values (e.g. 'sc-domain:example.com' or 'https://example.com/').
- **query_search_analytics** — Query real Search Console performance data: clicks, impressions, CTR, and average position, grouped by the dimensions you choose. Dates are YYYY-MM-DD (GSC data lags ~2-3 days). Use dimensions like ['query'], ['page'], ['query','page'], or ['date'] for trends.
- **compare_periods** — The biggest-movers analysis, computed for you: this date range vs the prior equal-length range, joined per page (or query) with clicks/impressions/position deltas, sorted by biggest change. Use this for 'what fell/grew', 'this month vs last', and trend diagnosis — it's one call and the math is already done.
- **inspect_url** — Google's index status for one URL: is it indexed, why not, canonical chosen by Google, last crawl, mobile/rich-result issues.
- **inspect_urls** — Batch index-status check: up to 10 URLs in one call (per-URL errors reported inline). Use for indexing audits instead of ten single calls.
- **list_sitemaps** — List submitted sitemaps for a property, with status and counts.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "search-console-mcp": {
    "command": "npx",
    "args": ["-y","search-console-mcp-server"]
  }
}
```

## Documentation

## What search-console-mcp does

search-console-mcp gives MCP-compatible clients access to Google Search Console data in read-only mode. It can discover the properties available to the signed-in account, retrieve performance metrics, compare equivalent time periods, inspect individual URLs, check batches of URLs, and list submitted sitemaps.

The analytics interface supports clicks, impressions, click-through rate, and average position. Results can be grouped by dimensions such as query, page, date, country, or device, and can include traffic sources such as Google Discover. Search Console data generally trails by roughly two to three days and covers approximately 16 months of history.

Ten built-in MCP prompts provide guided analyses including SEO checkups, traffic-drop diagnosis, traffic decay, striking-distance queries, keyword opportunities, cannibalization, title and meta rewrites, refresh-versus-new decisions, internal-link planning, and indexing audits.

## How it works

Run the login command to open Google’s sign-in flow in a browser. Authentication uses a desktop OAuth flow with PKCE and a localhost callback; Google issues the tokens directly to the local machine. After login, an MCP client starts the server through the npm package using standard input and output.

The signed-in account must have at least Restricted access to a Search Console property for it to appear in `list_properties`. Use the returned `siteUrl` value in later requests, since properties may be represented as either domain properties such as `sc-domain:example.com` or URL-prefix properties such as `https://example.com/`.

`compare_periods` performs the date arithmetic and returns current values, previous-period values, and deltas for pages or queries. This lets an agent investigate changes without calculating the comparison itself.

## Setup and configuration

Sign in once with:

```bash
npx search-console-mcp-server login
```

Then register the server with an MCP client. For Claude Code:

```bash
claude mcp add gsc --scope user -- npx -y search-console-mcp-server
```

Clients using an `mcpServers` configuration can use:

```json
{
  "mcpServers": {
    "gsc": {
      "command": "npx",
      "args": ["-y", "search-console-mcp-server"]
    }
  }
}
```

If the client cannot locate `npx`, configure the absolute path returned by `which npx`. Credentials are stored under `~/.search-console-mcp/credentials.json` with restrictive file permissions. Running `npx search-console-mcp-server logout` removes them. Developers who prefer their own Google OAuth application can set `SEARCH_CONSOLE_MCP_CLIENT_ID` and `SEARCH_CONSOLE_MCP_CLIENT_SECRET`.

## Tools and capabilities

- `list_properties` returns the Search Console properties accessible to the authenticated account.
- `query_search_analytics` retrieves performance metrics with selected dimensions, filters, and pagination.
- `compare_periods` compares a range with the preceding range of equal length and sorts page or query changes by movement.
- `inspect_url` reports Google’s index status, indexing reasons, selected canonical, latest crawl, and mobile or rich-result issues for one URL.
- `inspect_urls` checks up to 10 URLs in one request and reports per-URL errors inline.
- `list_sitemaps` returns submitted sitemaps, their statuses, and counts.

## Limitations and notes

The server requests the `webmasters.readonly` Google scope. It cannot modify Search Console properties, submit sitemaps, or make other changes. Search Console’s reporting delay means the newest days may be absent, particularly yesterday’s data.

Tokens remain on the local machine, and API calls go directly from that machine to Google rather than through an MCP proxy. Re-running the login command allows the user to choose a different Google account. The client process must run under the same user account that performed authentication so it can access the local credentials.

_Full upstream README: https://allmcps.com/mcp/search-console-mcp/readme_

