# Google Search Console MCP
**English** | [Русский](./README.ru.md)
[](https://www.npmjs.com/package/mcp-google-search-console)
[](https://glama.ai/mcp/servers/A1-x-Tech/mcp-google-search-console)
[](https://github.com/A1-x-Tech/mcp-google-search-console/actions/workflows/ci.yml)
[](./LICENSE)
**A1 Google Search Console MCP** connects an AI app to Google Search Console. Investigate search performance, check whether a URL is indexed, inspect sitemaps and deliberately submit or remove a sitemap when needed.
It works with the properties your Google account can access. The important detail is that it uses the exact Search Console property value — a domain property and a URL-prefix property are different objects.
- **18 tools.** Seven tools read properties, search data, sitemaps and index status; two add a property or submit a sitemap; three can remove data or call an arbitrary API method.
- **Connects from the conversation.** Say "connect Google Search Console": the server walks you through the OAuth client, catches Google's redirect on `127.0.0.1` with PKCE and keeps the tokens itself — no config files, no restart.
- **Exact property IDs.** `https://example.com/`, `https://www.example.com/` and `sc-domain:example.com` are distinct. `list_sites` shows the value to use.
- **Search data with context.** Query clicks, impressions, CTR and position by date, page, query, country, device or search appearance.
- **Indexing, not publishing.** URL inspection explains Google’s current status; it does not force a page into the index.
Start with a read-only question:
> Show the top 20 search queries for my property over the last 28 days, with clicks and CTR.
[Connect the server](#quick-start) · [Explore use cases](#what-you-can-ask-it-to-do) · [Open technical documentation](#technical-documentation)
---
## See it work in a minute
> **You:** Is `https://example.com/pricing` indexed? If not, why?
>
> **Assistant:** Inspects the URL and shows the index verdict, coverage, crawl information and canonical URLs. Nothing changes.
>
> **You:** Check my submitted sitemaps and prepare a resubmission for the one with errors.
>
> **Assistant:** Shows the sitemap, its warnings and errors, then asks for confirmation before submitting it again.
>
> **You:** Confirm.
>
> **Assistant:** Resubmits the selected sitemap. It does not change page content or guarantee indexing.
## Contents
- [Quick start](#quick-start)
- [What you can ask it to do](#what-you-can-ask-it-to-do)
- [How Search Console properties work](#how-search-console-properties-work)
- [What can change](#what-can-change)
- [Getting access](#getting-access)
- [Configuration](#configuration)
- [Data, limits and background work](#data-limits-and-background-work)
- [Technical documentation](#technical-documentation)
- [Support](#support)
## Quick start
You need Node.js 20+ and a Google account. Credentials are not required at install time — the server connects from the conversation.
1. Add the server to your AI app.
2. Say "connect Google Search Console": the assistant walks you through [creating the OAuth client and approving access](#getting-access) without editing config files.
3. Start with the read-only question above.
Codex
<<<<<<< Updated upstream
**In the app:** open **Settings → MCP servers**, select **Add server**, choose **STDIO**, enter the command `npx -y mcp-google-search-console@latest` and environment variables `GOOGLE_SEARCH_CONSOLE_CLIENT_ID`, `GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET`, `GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN`, then select **Save** and **Restart**.
||||||| Stash base
**In the app:** open **Settings → Plugins → MCP servers**, choose **Add server**, then add `npx -y mcp-google-search-console@latest` with `GOOGLE_SEARCH_CONSOLE_CLIENT_ID`, `GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET` and `GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN`.
=======
**In the app:** open **Settings → Plugins → MCP servers**, choose **Add server**, then add `npx -y mcp-google-search-console@latest`.
>>>>>>> Stashed changes
```bash
codex mcp add google-search-console \
-- npx -y mcp-google-search-console@latest
codex mcp list
```
[Codex MCP documentation](https://learn.chatgpt.com/docs/extend/mcp?surface=cli)
Claude Code
```bash
claude mcp add \
--transport stdio --scope user google-search-console \
-- npx -y mcp-google-search-console@latest
claude mcp list
```
[Claude Code MCP documentation](https://code.claude.com/docs/en/mcp)
Claude Desktop
The current official path is **Settings → Extensions**. For a custom desktop extension, open **Advanced settings → Extension Developer → Install Extension…**, select a `.mcpb` file and follow the prompts.
This repository currently publishes an npm stdio package and does not contain a `.mcpb` bundle. For Claude Desktop builds that still support local configuration, use the following JSON stdio configuration as a fallback:
```json
{"mcpServers":{"google-search-console":{"command":"npx","args":["-y","mcp-google-search-console@latest"]}}}
```
In those builds, save it to `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS or `%APPDATA%\Claude\claude_desktop_config.json` on Windows.
[Claude Desktop MCP documentation](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop)
Cursor
Add to `~/.cursor/mcp.json` on macOS/Linux or `%USERPROFILE%\.cursor\mcp.json` on Windows:
```json
{"mcpServers":{"google-search-console":{"type":"stdio","command":"npx","args":["-y","mcp-google-search-console@latest"]}}}
```
[Cursor MCP documentation](https://cursor.com/docs/mcp)
VS Code
Run **MCP: Open User Configuration** and add:
```json
{"servers":{"google-search-console":{"type":"stdio","command":"npx","args":["-y","mcp-google-search-console@latest"]}}}
```
Check it with **MCP: List Servers**. [VS Code MCP documentation](https://code.visualstudio.com/docs/agent-customization/mcp-servers)
You made it to the end!