GSCPAP - Google Search Console, GA4, PageSpeed Insights & live SERPs MCP
com.gscpapPublished by gscpap.comOfficial publisherv0.3.5Updated Nov 6, 2026
Google Search Console, GA4 and PageSpeed MCP server for Claude, ChatGPT and Cursor. Free, hosted.
Overview
Hosted, read-only MCP server that lets an assistant query Google Search Console, GA4, PageSpeed Insights and live SERPs for SEO analysis.
- What you can do
- Pull Search Console performance: clicks, impressions, CTR and position, any dimension or filter, period comparisons, per-page query mixes
- Diagnose SEO problems: quick wins, cannibalization, content decay, dead pages, position trends, indexing coverage and URL inspection
- Query an archive of Search Console history that extends past Google's 16-month retention
- Inspect live SERPs: top organic results, competitor positions and SERP features for one or many queries
- Run PageSpeed/Lighthouse audits and real-user Core Web Vitals, and report GA4 traffic, conversions, events and AI-assistant referrals
- List verified sites and sitemaps, and correlate Search Console clicks with GA4 sessions, conversions…
- When to use it
- Useful when you work on SEO or site performance and want an assistant to read your own Google Search Console and GA4 data, explain ranking or CTR changes, and connect search traffic to conversions without building a Google Cloud project.
- Requirements
- Remote streamable-HTTP endpoint; no local runtime needed except Node.js for the Claude Desktop mcp-remote route. Requires Google sign-in via OAuth 2.0 with Dynamic Client Registration, or a bearer token from the provider's account page for config-file clients. Google scopes webmasters.readonly and, for GA4, analytics.readonly. A per-site allowlist and per-token site scope are configured in the provider's account.
Installation
In SourceWeft
- Open GSCPAP - Google Search Console, GA4, PageSpeed Insights & live SERPs MCP in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.gscpap%2Fgsc-pap/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"gscpap-google-search-console-ga4-pagespe": {
"type": "http",
"url": "https://mcp.gscpap.com/mcp"
}
}
}README
GSCPAP - Google Search Console & GA4 MCP Server for Claude, ChatGPT and Cursor
Ask Claude about your Google Search Console data: top queries, decaying pages, ranking trends, quick wins, cannibalization, Core Web Vitals, and GA4 conversions per landing page.
Free. 38 read-only tools. Hosted, so there is no Google Cloud project, no Python and no JSON credentials to manage. You sign in with Google at gscpap.com and connect; the OAuth client is already registered, for everyone.
What's new
- 2026-11-02
ga4_ai_traffic: the visits ChatGPT, Perplexity, Gemini, Claude and Copilot send you, per engine, against Google organic, and which pages they land on. It also counts the assistant visits GA4 files under Referral instead of its AI Assistant channel - 2026-11-02
find_ai_overview_suspects: queries whose CTR fell while their position held, the mark an AI Overview leaves in Search Console - 2026-11-02 SERP tools report a feature as unavailable instead of absent when the data is missing, so a missing AI Overview is never read as proof there is none
- 2026-10-31 Days Search Console returned empty are fetched again two days later, so the archive no longer keeps a day Google had not finalised
- 2026-10-31 When the Google connection stops working, the assistant is told so, gets the reconnect link, and knows which tools still answer from the archive
Every change, with dates: gscpap.com/changelog
What it adds
A single MCP server (gsc-pap) exposing 38 tools over the Search Console, Google Analytics 4, PageSpeed Insights and SERP APIs:
Spot quick SEO wins
find_quick_wins: queries at positions 5 to 20 with at least 100 impressions but under 5% CTR, which is where a title or snippet rewrite paysfind_cannibalization: several of your URLs competing for one query, splitting the clicks
Find what is losing traffic
find_content_decay: pages losing organic traffic over timehistorical_position_trend: one query's position over the last N days, trending up, down or just volatilecompare_periods: diff any two windows, for example the last 28 days against the prior 28find_dead_pages: pages appearing for months that have never earned a click, split by whether Google shows them and nobody clicks or barely shows them at all
Beat the 16-month limit
search_analytics_archive: query your full history, past Google's 16-month retentionarchive_status: per-site coverage, earliest and latest day, row count, last run
See the SERP your rankings live in
serp_top_results: the live top organic results for a query and country, plus which SERP features are present (featured snippet, map pack, People Also Ask; AI Overviews are reported as unknown)serp_competitor_analysis: where your domain sits for a query and the full top 10 around itserp_features_audit: up to 25 queries at once, to explain a low CTR at a good position
Diagnose performance and Core Web Vitals
pagespeed_insights: Lighthouse audit, the four scores, Core Web Vitals and the top opportunitiespagespeed_field_data: real-user CrUX metrics (LCP, INP, CLS at p75) for a URL and for the origin, in about a second, with an optional weekly trend of the last 25 weeks
Diagnose indexing issues
get_index_coverage_summary: account-wide breakdown of indexing statesinspect_url: one URL in depth, straight from the URL Inspection APIbatch_inspect_urls: bulk URL inspection, up to 2,000 URLsfind_new_pages: pages Search Console started showing this week, and whether each has earned a click yet
Pull performance data
get_performance_overview: clicks, impressions, CTR and position in one line, for any date range or the last N dayssearch_analytics_query: the whole Search Analytics surface, any dimension and filterget_search_by_page_query: the query mix behind one page
See how AI assistants send you traffic (GEO)
ga4_ai_traffic: visits from ChatGPT, Perplexity, Gemini, Claude and Copilot, per engine, against organic, and the pages they send people to;property_id="all"compares every sitefind_ai_overview_suspects: queries whose CTR fell while their position held, the footprint an AI Overview leaves
Connect search to engagement and revenue (GA4)
Every GA4 report tool takes days, or an exact start_date and end_date.
list_ga4_properties: find the property_id the other GA4 tools needga4_overview: users, sessions, views, bounce and engagement, with a daily breakdownga4_top_pages: top landing pages by sessionsga4_traffic_sources: channel, source, medium, campaignga4_realtime: active users in the last 30 minutesga4_conversions_by_source: source and medium with conversions and revenuega4_user_demographics: country, device and browser slicesga4_engagement: engagement rate, duration and bounce per pagega4_events_by_name: scroll depth, outbound clicks, downloads and custom events, optionally per pagega4_compare_periods: diff any window for any GA4 metric, including an exact start and end datecorrelate_gsc_to_ga4: the cross-tool one. Search Console clicks per page joined to GA4 sessions, conversions and revenue for that same page
Manage sites and sitemaps
list_sites,get_site_details: your verified propertieslist_sitemaps,get_sitemap_details: sitemap healthdetect_duplicate_properties: domain and URL-prefix properties that split your reporting in two
Use it in chat:
Show me my 5 worst-decaying pages last 30 days, with the queries they used to rank for.
Which pages are stuck at position 11 to 20 with 1k+ impressions? Suggest content tweaks for the top 3.
Run a Lighthouse audit on https://example.com/pricing and list the top 3 opportunities by potential ms savings.
Pull my Search Console data from January 2024, which is past Google's 16-month retention.
Correlate my Search Console pages with GA4 conversions for the last 28 days. Which top-clicked pages bring zero conversions?
Why is my CTR 1% at position 4 for this query? Check what else is on that SERP.
Install
Claude.ai: add it as a connector (no token, no file)
- Open the connector settings in Claude.ai: your avatar, then Settings, then Connectors, then "Add custom connector"
- Paste the URL
https://mcp.gscpap.com/mcp - Approve the Google sign-in when the client opens it
The server implements OAuth 2.0 with Dynamic Client Registration (RFC 7591), so the client registers itself. Step by step, with screenshots: Add a Search Console connector to Claude.ai.
ChatGPT supports the same flow, but custom MCP connections there are a Business and Enterprise/Edu feature on ChatGPT web, which is OpenAI's rule rather than ours: Connect ChatGPT to Google Search Console.
Claude Code: let Claude install it (about 30 seconds)
- Open gscpap.com and sign in with Google (read-only Search Console scope)
- Pick which sites to grant access to. This is a per-site allowlist on top of the OAuth scope
- On app.gscpap.com/account/tokens, hit + New token, then click Copy install prompt under the Claude Code tab
- Paste that prompt into any Claude Code session. Claude runs the install command, verifies it, and lists your sites so you can see that it worked
Manual install
If you would rather drive the CLI yourself:
This plugin variant reads a ${GSC_PAP_TOKEN} env var instead. Set it once:
Restart Claude Code, or run claude mcp list to check, and the gsc-pap server shows up as Connected.
Cursor
Create a token at app.gscpap.com/account/tokens, then add this to ~/.cursor/mcp.json (Windows: %USERPROFILE%\.cursor\mcp.json):
Full guide: Connect Cursor to Google Search Console.
VS Code (GitHub Copilot)
Add this to .vscode/mcp.json. VS Code asks for the token once and stores it as a secret:
Full guide: Connect GitHub Copilot in VS Code to Google Search Console.
Claude Desktop
Claude Desktop reaches remote servers through mcp-remote, so it needs Node.js. Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (Windows: %APPDATA%\Claude\claude_desktop_config.json) and restart Claude Desktop:
Full guide: Connect Claude Desktop to Google Search Console. You can also skip the file and add it as a connector, as in the Claude.ai section above.
Other clients
Setup guides for the other clients (Cursor, VS Code with Copilot, Cline, opencode, Codex CLI, Gemini CLI, Windsurf, Zed, JetBrains, Continue, Warp, Goose, LM Studio, ChatGPT, plain HTTP) are at gscpap.com/integrations.
Troubleshooting
- "Missing or invalid bearer token": the token in your config is wrong or was revoked. Create a new one at app.gscpap.com/account/tokens and paste it in, with
Bearerand a space in front where the config asks for the whole header. - The server does not show up after editing the config: check the file for JSON mistakes such as a trailing comma, check that
gsc-papsits insidemcpServers(serversin VS Code), then restart the client. - Claude Desktop: "npx: command not found" or the server never starts: Node.js is missing or not on Claude Desktop's PATH. Install the LTS from nodejs.org and restart.
- Tools appear but a site is missing: the site is not on your allowlist, or the token is scoped to other sites. Check app.gscpap.com/account/sites and the token's Edit access.
- The assistant says the Google connection stopped working: access was removed in your Google account, the password changed, or the sign-in aged out. Reconnect at app.gscpap.com/login?reconnect=1. Nothing archived is lost.
- Still stuck: email [email protected] with the error message.
How it works
- Hosted bridge:
mcp.gscpap.comexposes a streamable-HTTP MCP endpoint. We do the OAuth exchange with Google for you and store an encrypted refresh token. - Per-site allowlist: Google's scope is account-wide (
webmasters.readonly), so the server adds a per-user, per-site authorization layer on top. You decide which properties Claude can see. - Per-token site scope: each token can be narrowed to a subset of your authorized sites, at app.gscpap.com/account/tokens under Edit access. Useful for per-client tokens, a scoped CI token, or limiting the blast radius if a token leaks.
- Rate limits: 30 requests per minute and 500 per hour per token, 60 per minute and 1,000 per hour for the account across all its tokens. Live usage is on app.gscpap.com/account.
- Usage log: every tool call is logged and shown in your own account at app.gscpap.com/account.
- Read-only: nothing in the surface can modify your sites, sitemaps or settings.
Privacy and data
- Your Google refresh token is encrypted at rest with AES-256-GCM; bearer tokens are stored only as SHA-256 hashes
- Aggregate analytics through Google Analytics 4 with IP anonymisation. No marketing pixels, no third-party ad networks. See the Privacy Policy
- Your data is not sold, rented or traded, and it is not used to train AI models. It is shared only with the providers that run the service, which the Privacy Policy names
- Use of data received from Google APIs follows the Google API Services User Data Policy, including the Limited Use requirements
- Revoke at any time from app.gscpap.com/account/tokens, or from your Google account permissions
Pricing
Free. $0, no credit card, no trial expiry and no feature behind an upgrade prompt. The only ceilings are the rate limits above. Paid plans arrive at v1.0, with at least 60 days notice and a free tier for light use. The full answer, limits included, is at gscpap.com/pricing.
Support
- Guides: https://gscpap.com/guides
- What changed and when: https://gscpap.com/changelog
- Hosted and self-hosted Search Console MCP servers compared: https://gscpap.com/google-search-console-mcp-servers
- For AI assistants: https://gscpap.com/llms.txt (every page is also Markdown: append
.mdto its URL) - All tools: https://gscpap.com/tools
- FAQ: https://gscpap.com/faq
- Issues: https://github.com/aliarifsoydas/gsc-pap-claude-plugin/issues
Source: README.md at commit d577397
Tools
0Version history
2- v0.3.5LatestNov 6, 2026
- v0.3.4Nov 4, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts