Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Free, read-only Google Search Console: performance, opportunities, URL inspection. No GCP setup.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
TAGPILOT_API_KEY, SEARCH_CONSOLE_MCP_NO_BROWSER, SEARCH_CONSOLE_MCP_AUTH_WAIT_SECONDSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"search-console": {
"command": "npx",
"args": [
"-y",
"@tagpilot/search-console-mcp"
],
"env": {
"TAGPILOT_API_KEY": "your-value",
"SEARCH_CONSOLE_MCP_NO_BROWSER": "your-value",
"SEARCH_CONSOLE_MCP_AUTH_WAIT_SECONDS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add search-console --env TAGPILOT_API_KEY=your-value --env SEARCH_CONSOLE_MCP_NO_BROWSER=your-value --env SEARCH_CONSOLE_MCP_AUTH_WAIT_SECONDS=your-value -- npx -y @tagpilot/search-console-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"search-console": {
"command": "npx",
"args": [
"-y",
"@tagpilot/search-console-mcp"
],
"env": {
"TAGPILOT_API_KEY": "your-value",
"SEARCH_CONSOLE_MCP_NO_BROWSER": "your-value",
"SEARCH_CONSOLE_MCP_AUTH_WAIT_SECONDS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"search-console": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tagpilot/search-console-mcp"
],
"env": {
"TAGPILOT_API_KEY": "your-value",
"SEARCH_CONSOLE_MCP_NO_BROWSER": "your-value",
"SEARCH_CONSOLE_MCP_AUTH_WAIT_SECONDS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
SEARCH_CONSOLE_MCP_NO_BROWSER envSEARCH_CONSOLE_MCP_AUTH_WAIT_SECONDS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account tagpilot, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: TAGPILOT_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 10 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A free, read-only Model Context Protocol server for Google Search Console. Ask Claude, Cursor or any MCP client about your organic search: clicks, impressions, CTR and positions by query or page, what changed between two periods, SEO opportunities, Google's index status for a URL, and your sitemaps.
No Google Cloud setup, no API key to copy. You don't need a GCP project, OAuth client, service account or gcloud. Add the server, ask a question, and approve once in your browser.
claude mcp add search-console -- npx -y @tagpilot/search-console-mcp
ABCD-1234):Already use the Tag Pilot GA4 MCP? This is a separate server with its own connection (and its own Google consent), so you can install either or both.
| Client | How |
|---|---|
| Claude Desktop | Download the extension and open it (no Node.js needed) |
| Claude Code | claude mcp add search-console -- npx -y @tagpilot/search-console-mcp |
| Cursor | Add to Cursor, or the mcp.json below |
| VS Code | Install in VS Code |
| Windsurf, Zed, … | command npx, args ["-y", "@tagpilot/search-console-mcp"] (stdio) |
| Gemini CLI | clone the repo, then gemini extensions install ./ga4-mcp/packages/search-console-mcp |
Everything except the Claude Desktop extension runs the npm package with npx, so it needs Node.js 18 or newer. In the MCP Registry it's io.github.tagpilot/search-console-mcp.
Claude Desktop config file (claude_desktop_config.json), Cursor (~/.cursor/mcp.json) and similar clients:
{
"mcpServers": { "search-console": { "command": "npx", "args": ["-y", "@tagpilot/search-console-mcp"] } } }
Headless and CI: where nobody can approve in a browser, create a gsc:mcp key on the Search Console MCP page and set TAGPILOT_API_KEY=tpk_… in the server's environment. The device connect is then skipped and only the Google sign-in link is shown.
The same flow as the GA4 MCP (RFC 8628-style device connect, like gh auth login): it works from any browser on any device, also over SSH, in containers or WSL, because nothing listens on your machine.
www.googleapis.com/webmasters/v3, searchconsole.googleapis.com). It never passes through Tag Pilot.webmasters.readonly. None of the tools can change anything in Search Console (no sitemap submits, no deletes).~/.config/tagpilot/search-console-mcp/device.json (readable only by you).npx -y @tagpilot/search-console-mcp logout, and remove the app's access at myaccount.google.com/permissions.All tools are read-only. site_url is the property exactly as list_sites shows it: sc-domain:example.com for a domain property, or a URL prefix with its trailing slash (https://www.example.com/).
| Tool | What it does |
|---|---|
list_sites | Properties you can read (domain and URL-prefix) with your permission level. Start here. |
search_analytics | Clicks, impressions, CTR and position by date, hour, query, page, country, device, searchAppearance; filters; search type (web, image, video, news, Discover, Google News); data state; aggregation; paging (up to 25,000 rows per call). |
compare_periods | Period-over-period by query or page: both periods, deltas, new/lost rows, and property totals. Default: last 28 days vs the 28 days before. |
find_opportunities | Tag Pilot analysis. low_ctr: page-one rows with many impressions but under half a typical CTR for their position. striking_distance: rows at average positions ~5–20 with enough impressions. |
inspect_url | URL Inspection: Google's indexed version of one URL (verdict, coverage, last crawl, robots.txt, canonical chosen by Google vs declared, sitemaps, rich results). |
list_sitemaps / get_sitemap | Submitted sitemaps: type, last submitted/downloaded, errors, warnings, submitted URL counts. |
connect | Connects this computer: returns a link and a code for you to approve in the browser (your AI shows them; clients that support MCP URL elicitation offer to open the link). Say *"connect my Search Console"* to start it explicitly. |
connection_status | Connected (with the device name), waiting for approval (link and code again), not connected, or what went wrong. Waits up to 25 s for an open sign-in to finish. |
data_state: "all" adds fresher, still-changing data; the result says from which date data is incomplete."yesterday", "7daysAgo") are computed in Pacific Time too.compare_periods reports property totals separately for that reason.start_row to page), and Google exposes at most 50,000 rows per day per search type, sorted by clicks.byPage), so totals differ from property-level totals.aggregation_type: "byProperty".inspect_url is for a handful of important URLs, not whole sitemaps.find_opportunities uses a rough benchmark CTR curve (position 1 ≈ 28%, 3 ≈ 10%, 10 ≈ 2%) to rank rows. It's a rule of thumb for prioritising, not Google data or a forecast.
"Not connected yet" (a link and a code like `ABCD-1234`): your AI shows them. Open the link in any browser (it doesn't have to be on this machine), sign in to Tag Pilot, check that the code matches, approve, and allow Search Console access, then tell your AI you're done: it retries your question (or calls connection_status). The server keeps checking in the background, so nothing needs restarting. The code is valid for 10 minutes; after that, ask again (or say "connect Search Console") for a new one. To connect from a terminal instead (e.g. over SSH), run npx -y @tagpilot/search-console-mcp login: it shows the link, the code in a box and a countdown, and waits until you approve.
"The signed-in Google account has no access to the Search Console property …": use list_sites and pass site_url exactly as listed (sc-domain: for domain properties, trailing slash for URL prefixes). To use another Google account, run npx -y @tagpilot/search-console-mcp logout and connect again.
"This computer was disconnected from Tag Pilot": the device was revoked; ask again to reconnect. "Your Google sign-in expired or was revoked": ask again and approve again.
Quota errors: wait a few minutes (Search Analytics) or until tomorrow (URL Inspection).
Check the setup: npx -y @tagpilot/search-console-mcp status. Logs go to stderr.
Nothing is required. All variables are optional:
| Variable | |
|---|---|
TAGPILOT_API_KEY | A gsc:mcp key for headless/CI setups. Skips the device connect. |
TAGPILOT_API_URL | Tag Pilot API base URL. Default https://api.tagpilot.io. |
SEARCH_CONSOLE_MCP_NO_BROWSER | 1 to only print/return the link instead of opening a browser. |
SEARCH_CONSOLE_MCP_BROWSER | Browser to open (macOS app name, or a command on Linux/Windows). |
SEARCH_CONSOLE_MCP_AUTH_WAIT_SECONDS | How long a tool call waits for the connect before returning the link. Default 45. |
SEARCH_CONSOLE_MCP_CONFIG_DIR | Credential directory. Default ~/.config/tagpilot/search-console-mcp. |
Commands: npx -y @tagpilot/search-console-mcp [serve|login|logout|status|--help|--version].
See the repo README. SEARCH_CONSOLE_MCP_WEBMASTERS_API_URL and SEARCH_CONSOLE_MCP_INSPECTION_API_URL point the Google calls at a mock (used by npm run e2e).
Apache License 2.0. Copyright 2026 Tag Concierge sp. z o.o. The license does not cover the Tag Pilot name or logo (see NOTICE).