Google Search Console MCP in Windsurf — live SEO data in Cascade
Add one HTTPS URL to Windsurf's MCP config and Cascade instantly gets 28 live Search Console + GA4 tools — verify indexing, debug CWV, and submit sitemaps without leaving your IDE.
Google Search Console is an essential signal for any developer shipping SEO-sensitive code. But switching tabs to the GSC dashboard mid-PR breaks flow. GenieSeo bridges that gap: one HTTPS MCP URL adds 28 live Search Console and GA4 tools directly to Windsurf's Cascade agent.
Why Windsurf developers need live GSC data
Every time you change URL structure, alter templates, or add new routes, you affect:
- Indexation — are the new pages discovered and indexed?
- Core Web Vitals — did the change degrade LCP or CLS?
- Structured data — did the schema changes break rich results eligibility?
Without MCP, the answer is "check the dashboard later." With GenieSeo in Cascade, you verify in the same conversation where you write the code.
Setup in 60 seconds
Step 1 — Get your personal MCP URL
Sign in at seo.geniedial.in/signup with Google. Approve read-only scopes for Search Console and GA4. Copy your personal MCP URL from the dashboard.
Step 2 — Add to Windsurf config
Open or create ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"genieseo": {
"serverUrl": "https://seo.geniedial.in/mcp/u/YOUR_TOKEN"
}
}
}
Replace YOUR_TOKEN with the token segment from your dashboard.
Step 3 — Restart Windsurf
Cascade picks up the tools on the next session. You'll see 28 GenieSeo tools available in the agent sidebar.
Windsurf Cascade workflows with live GSC data
Verify indexing after a deployment
"Check if /blog/new-post is indexed. If not, what does the coverage
status say and what's the last crawl date?"
Cascade calls inspect_url and returns the verdict, coverage state, and last Google crawl timestamp — without you leaving the IDE.
Debug structured data errors after a schema change
"List all structured data errors in Search Console for sc-domain:mysite.com.
Show error type, affected URL count, and first detected date."
Useful after refactoring JSON-LD — confirm the fix landed before the next deploy.
Triage Core Web Vitals regression by template
"Which pages have a CrUX LCP above 4 seconds? Group by URL path prefix
so I can see which template is the problem."
Pinpoints whether a CWV regression is in product pages, blog posts, or landing pages — actionable without a separate Lighthouse run.
Submit sitemaps and confirm status after a migration
"Submit /sitemap.xml for sc-domain:mysite.com, then list all sitemaps
and show their submitted/indexed page counts."
One-turn sitemap management: submit, verify, and confirm Google received it.
Cross-reference GA4 conversions against Search Console clicks
"For the top 20 landing pages by GSC clicks last 28 days, pull GA4
sessions and conversions. Sort by conversion rate ascending so I
can see which high-traffic pages have the worst conversion."
The kind of joined query that normally requires a spreadsheet — done in one Cascade message.
Why Streamable HTTP matters for Windsurf
Windsurf Cascade uses Streamable HTTP MCP (MCP spec 2025-03-26) rather than local stdio. This means:
- No subprocess management — the MCP server is not a child process of Windsurf
- Works on remote dev machines — the HTTPS URL resolves the same regardless of where Windsurf is running
- Shared across team members — each developer has their own personal URL (own Google OAuth), no shared credentials
GenieSeo is purpose-built for this transport. The same URL works in Cursor, Claude web, ChatGPT, and Codex CLI — whichever AI client you open next.
GenieSeo vs a self-hosted GSC MCP in Windsurf
| GenieSeo (hosted) | Self-hosted mcp-gsc | |
|---|---|---|
| Setup | 60 seconds, no CLI | Python + uvx + OAuth setup |
| Windsurf config | serverUrl (HTTPS) | stdio child process |
| GA4 tools | 7 tools included | Separate server needed |
| Works on remote dev box | Yes | Requires local Python |
| Token rotation | Automatic | Manual |
| Cost | Free during beta | Free (self-host) |
For teams who want zero infra overhead and GA4 paired with GSC, GenieSeo is the faster path. For developers who need local control or want to fork the server, mcp-gsc on GitHub is the open-source base.
FAQ
Does Windsurf support MCP servers?
Yes. Windsurf's Cascade agent supports Streamable HTTP MCP. Add a serverUrl to ~/.codeium/windsurf/mcp_config.json and restart.
Do I need Python installed?
No. GenieSeo is hosted — the MCP server runs in the cloud. You only paste the HTTPS URL into your config file.
Can the same URL work in Cursor and Windsurf simultaneously?
Yes. The URL is stateless per-request. Open it in as many clients as you like.
What scopes does GenieSeo request?
Read-only: webmasters.readonly for Search Console and analytics.readonly for GA4. No write access to your data.
Next steps
- Get your GenieSeo MCP URL — free during beta
- Windsurf integration guide — full setup walkthrough
- Developer use cases — five workflows for developers using GSC + GA4 in their IDE
- GSC MCP server comparison — all options compared
- GA4 MCP in Cursor and Claude — cross-reference conversions
Frequently asked questions
Does Windsurf support MCP servers?+
Yes. Windsurf's Cascade agent supports MCP via Streamable HTTP. Add a serverUrl entry to ~/.codeium/windsurf/mcp_config.json and restart — Cascade picks up the tools automatically.
Do I need Python or a local server for the Windsurf MCP?+
No. GenieSeo runs in the cloud. You only add an HTTPS URL to your Windsurf config — no Python, Docker, or client_secrets.json required.
Can the same MCP URL work in Cursor, Claude, and Windsurf?+
Yes. Your GenieSeo personal MCP URL is a single HTTPS endpoint that works across all Streamable HTTP clients: Windsurf, Cursor, Claude web, ChatGPT, and Codex CLI.
What Search Console data can Cascade access?+
All 21 GSC tools: clicks, impressions, CTR, position by query/page/date, URL inspection, coverage status, sitemap management, Core Web Vitals, and structured data errors. Plus 7 GA4 tools for conversion cross-reference.