
Google Search Console MCP Server by pijusz: Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and other assistants read your Google Search Console data and find SEO quick wins, with optional tools that change your account.
This server connects your assistant to Google Search Console. It can pull search performance, inspect whether a URL is indexed, list sitemaps and run SEO reports such as quick wins and keyword cannibalization. It runs on your computer and signs in with a Google OAuth client you create, or with a service account. Tools that add or remove sites and sitemaps are off until you turn them on.
Good for
- SEO specialists who want to ask questions about queries, pages and clicks in plain English
- Site owners who check indexing and sitemaps often
- Content teams who hunt for pages losing traffic
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install mcp-gsc
Claude Code
- 1
Copy this prompt.
Add the mcp-gsc server to Claude Code. Run this command: claude mcp add gsc -e GOOGLE_GSC_CREDENTIALS_PATH=<GOOGLE_GSC_CREDENTIALS_PATH> -- npx -y mcp-gsc Ask me for GOOGLE_GSC_CREDENTIALS_PATH and only put the values in that config, nowhere else. Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js 22+, Google OAuth client JSON.
Read-only mode: Leave GOOGLE_GSC_ENABLE_WRITES unset. The write tools stay off by default.
Before first use, create a Desktop-app OAuth client in Google Cloud Console and run npx mcp-gsc setup once with GOOGLE_GSC_CREDENTIALS_PATH set. It opens your browser for Google consent and saves a token next to the credentials file. Writes stay off unless you add GOOGLE_GSC_ENABLE_WRITES=true.
Built from the package data we hold. Not yet tested by us.
Tools
Lists your Search Console sites and your access level
Shows every site (property) in your Search Console account and whether you are an owner or a user on each.
Try: “Which Search Console properties do I have?”
Network ·
list_propertiesShows verification and ownership details for one site
Returns how one property is verified and who has access to it.
Try: “Show the ownership details for example.com.”
Network ·
get_property_detailsQueries clicks, impressions, CTR and position
Pulls search performance for a date range, split by query, page, country, device, date or search appearance, with filters. It supports web, image, video, news, Discover and Google News results.
Try: “Show my top 10 queries by clicks over the last 28 days.”
Network ·
search_analyticsLists submitted sitemaps with status and errors
Lists the sitemaps submitted for a property with their type, status and any errors.
Try: “List the sitemaps for example.com and flag any with errors.”
Network ·
list_sitemapsShows details and a content breakdown for one sitemap
Gives the detail view of a single sitemap, including what kinds of content it lists.
Try: “Give me the details of https://example.com/sitemap.xml.”
Network ·
get_sitemapChecks whether Google has indexed one page
Runs Google's URL inspection for one page and returns its index status, last crawl, rich results and canonical choice. The README gives limits of 600 a minute and 2,000 a day per site.
Try: “Is https://example.com/pricing indexed?”
Network ·
inspect_urlInspects up to 10 pages at once
Runs the URL inspection on up to ten pages in one call and groups the results by status.
Try: “Check whether these 8 URLs are indexed and group them by problem.”
Network ·
batch_inspect_urlsSaves search analytics to a CSV file on your computer
Pages through your search data (up to 40 calls of 25,000 rows) and writes the full result to a CSV file on your machine, by default in the folder the server runs from. Google itself caps how many rows it exposes.
Try: “Export all queries and pages for the last 28 days to a CSV.”
Write ·
export_csvTotals plus a daily trend for a period
Summarizes clicks, impressions, CTR and position for a period and breaks them down day by day. Extended tool, on by default in the code.
Try: “Give me a performance overview for the last 3 months.”
Network ·
performance_overviewCompares two date ranges and shows the change
Compares search performance across two date ranges and reports the difference for each metric.
Try: “Compare this week with last week.”
Network ·
compare_periodsFinds the biggest gains and drops between periods
Lists the queries or pages whose clicks rose or fell most between two periods.
Try: “Which pages lost the most clicks this month?”
Network ·
top_moversSplits performance by device and country
Shows how clicks and impressions divide across devices, countries or both.
Try: “How does mobile compare to desktop in Germany?”
Network ·
device_country_breakdownFinds queries stuck at positions 4 to 20 with low CTR
Lists queries that get many impressions but few clicks and rank between positions 4 and 20, so a small improvement could move them up.
Try: “Find quick wins for example.com.”
Network ·
quick_winsFinds pages that compete for the same query
Flags queries where more than one of your pages shows up in results.
Try: “Find keyword cannibalization on my site.”
Network ·
cannibalizationFinds rising queries and underperformers
Looks for emerging queries, growing impressions with low CTR, and pages that are declining.
Try: “What growth opportunities do you see in my search data?”
Network ·
opportunity_finderTracks ranking changes over time
Follows the average position of chosen queries or pages across a date range.
Try: “Track the position of 'mcp servers' over the last 90 days.”
Network ·
position_trackingFinds queries with unusual click-through for their rank
Spots queries whose click-through rate is far above or below what their ranking would suggest.
Try: “Which queries have a strangely low CTR for their position?”
Network ·
ctr_anomaliesFinds pages whose impressions dropped over 50% from peak
Lists pages and queries whose impressions have fallen by more than half from their earlier peak.
Try: “Which pages have decayed the most?”
Network ·
content_decayOne report with overview, quick wins and top movers
Builds a combined report from the overview, quick-wins and top-movers tools in a single call.
Try: “Run the weekly SEO report for example.com.”
Network ·
weekly_seo_reportInspects many URLs and groups them by index status
Inspects a batch of URLs and sorts them into indexing categories.
Try: “Check indexing coverage for my top 50 pages.”
Network ·
indexing_coverageChecks sitemaps for errors and stale content
Reviews your sitemaps for recurring errors, how fresh they are and how many submitted URLs got indexed.
Try: “How healthy are my sitemaps?”
Network ·
sitemap_healthAdds a site to your Search Console account (off by default)
Adds a new site to your Search Console account. Only registered when writes are turned on.
Try: “Add https://staging.example.com to Search Console.”
Write ·
add_siteRemoves a site from your Search Console account (off by default)
Removes a site from your Search Console account. The source says it does not affect the website itself. Only registered when writes are turned on.
Try: “Remove the old staging property from Search Console.”
Delete ·
delete_siteSubmits a sitemap URL (off by default)
Submits a sitemap that is reachable at the URL you give. Only registered when writes are turned on.
Try: “Submit https://example.com/sitemap.xml for example.com.”
Write ·
submit_sitemapUnsubmits a sitemap (off by default)
Removes a sitemap from Search Console. The file on your website stays. Only registered when writes are turned on.
Try: “Unsubmit the old sitemap-v1.xml.”
Delete ·
delete_sitemapAsks Google to crawl a URL via the Indexing API (off by default)
Sends a crawl request through the Indexing API. It needs the Indexing API enabled and ownership of the property, and Google supports it officially only for job posting and broadcast event pages.
Try: “Ask Google to recrawl this job posting page.”
Write ·
request_indexingShows when a URL was last submitted for indexing (off by default)
Returns when a URL was last submitted through the Indexing API. Only registered when writes are turned on.
Try: “When was this URL last submitted for indexing?”
Network ·
get_indexing_status
Read from the source code
Permissions
medium risk · 4 things to watch
Medium risk
With default settings the assistant can read your Search Console data and save an export file, and a Google token with full access sits on your machine. Keep writes off unless you need to add or remove sites and sitemaps.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
Delete tools exist if you turn writes on
Setting GOOGLE_GSC_ENABLE_WRITES to true adds tools that remove sites and sitemaps from Search Console. Leave it off unless you need them. github.com
The Google sign-in asks for full access
Setup requests the full webmasters scope and the indexing scope even with writes off, so the saved token could change your account. Keep the token file private. github.com
One tool saves a CSV file to your computer
The export tool writes a CSV to the path you give, or to the current folder by default. Search data may be private, so check where the file lands. github.com
The README understates the default tools
The README says the extended tools are off by default, but the code turns them on unless you set GOOGLE_GSC_ENABLE_EXTENDED_TOOLS to false. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | Write tools are not registered unless GOOGLE_GSC_ENABLE_WRITES is true, and it defaults to false. |
|---|---|
| Talks to | Google Search Console API. Google Indexing API |
| Sign-in and keys | Your Google OAuth client JSON (or service account key) stays on your machine, and setup saves a refresh token next to it. |
| Scopes |
|
Questions
Is the pijusz Search Console MCP server official?
No. It is a community project by pijusz, not made by Google.
What credentials does it need?
A Google OAuth client JSON (Desktop app type) from Google Cloud Console, with the Search Console API enabled. A service account key also works if you add its email as a user on each property.
How do I sign in?
Set the credentials path, then run the setup command once. It opens your browser for Google consent and saves a token. The install box notes this step.
Can it run read-only?
Yes, by default. Write tools only exist when GOOGLE_GSC_ENABLE_WRITES is set to true. The export tool still saves a CSV file locally.
Which tools are on by default?
The 8 core tools plus 13 extended reporting and SEO tools, which are on in the code even though the README says off. The 6 write tools are off until you enable writes.
Can it delete things in Search Console?
Only when writes are enabled. Then it can remove a site or unsubmit a sitemap from your account. It does not touch your website or the sitemap file.
Does it work with Codex?
Yes, the project documents a Codex config. It suggests a longer startup timeout because the first npx download can take over 10 seconds.
Is it free?
Yes. It is open source under the MIT license.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
mcp-gsc- Registry
- npm
- Transport
- stdio
- Auth
- OAuth
- Version
- 0.4.1
- License
- MIT
- Last commit
- Oct 22, 2026
- Open issues
- 0
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com