You are shipping a feature in Windsurf. Cascade is halfway through scaffolding a new marketing page, you are writing the hero copy to go with it, and a question surfaces. Is anyone actually searching for the phrase you just dropped into the headline, or are you about to optimize for a keyword nobody types? The reflex used to be to break flow, open a browser, log into a $129 dashboard, run one lookup, and lose your place on the way back.
There is a cleaner move now. Windsurf’s Cascade agent speaks the Model Context Protocol, the same open plug that lets your editor reach GitHub, a database, or your file system. Point it at a live SEO data source and you can ask that keyword question right in the Cascade panel, get a real volume and difficulty number back in seconds, and stay in the file you were already editing.
This guide covers how to wire SEO data into Windsurf, the one config quirk that trips everyone up, what you can actually ask once it is connected, and the honest limits of working this way. I build solo, I write my own copy, and I run this workflow every day, so this is how it actually goes, not a spec sheet.
- Yes, you can do SEO inside Windsurf. Cascade speaks MCP, so a connected SEO server returns live data right in the chat.
- Setup is one config entry. Add it under
mcpServersin~/.codeium/windsurf/mcp_config.json, hit Refresh, done. - Use
serverUrl, noturl. That is Windsurf’s field for a remote HTTP server, and the wrong key is the top reason the tools never show up. - You can ask in plain language. Keyword volume, difficulty, SERP results, domain and competitor data, all without a dashboard. ContextBolt SEO runs this at $35/month.
- The data is Ahrefs-grade, decision-useful and directional, not Ahrefs’ exact numbers. Plenty for “should I write this”.
Why do SEO inside Windsurf
The pitch is not that Windsurf is secretly an SEO tool. It is that the cost of asking an SEO question should be close to zero, and for most builders it still is not.
Most people who do their own SEO use a sliver of what a dashboard offers, and only now and then. You want to know if a keyword is winnable before you write the page. You want a quick read on a rival’s traffic. You want to check that the headline you just wrote matches how people actually search. None of that needs a forty-tab research session. It needs one number, fast, without leaving what you are doing.
The Model Context Protocol, or MCP, is what makes the shortcut possible. It is an open standard, introduced by Anthropic in late 2024, that lets AI agents call outside tools and data through one common interface. Cascade, the agent built into Windsurf by Codeium, is an MCP client, so once you connect an SEO server it can call those tools mid-conversation, the same way it already reaches your file system or a database. SEO data becomes just another source Cascade can pull from.
The payoff is flow. When the answer to “is this keyword soft enough to rank” lives in the same window as your code and copy, you ask it. When it lives behind a login two tabs away, you guess instead, and guessing is how pages end up optimized for phrases nobody types. If you want the longer argument for why asking the agent beats opening the dashboard, the SEO MCP server explainer lays out the full case.
How do you connect SEO data to Windsurf?
There are two ways in, and both take a couple of minutes.
The click path lives in settings. Open Windsurf’s Settings, go to Cascade, find the MCP Servers section, and choose Add server. That is the point-and-click route, and it is the one to use if you would rather not touch a config file at all.
The file path gives you a plain-text record you can version and copy between machines. Windsurf reads its MCP servers from a single file at ~/.codeium/windsurf/mcp_config.json, and everything hangs off an mcpServers key. Here is the whole entry for a hosted server like ContextBolt SEO, which hands you one URL on signup.
{
"mcpServers": {
"contextbolt-seo": {
"serverUrl": "https://seo.contextbolt.app/mcp/YOUR_TOKEN"
}
}
}
Here is the one detail worth tattooing on the back of your hand. Windsurf uses serverUrl for a remote HTTP server, not url. This trips people up because almost every other client names the field differently. Cursor and VS Code use url. Gemini CLI uses httpUrl. Codex uses url inside a TOML file. Google Antigravity is the one client that agrees with Windsurf and uses serverUrl, because it inherited Windsurf’s config style. So if you copy a working block out of a Cursor guide and paste it here, Windsurf will quietly ignore it and you will swear the server is broken. It is not. The key is just wrong.
Once the entry is in, save the file and hit Refresh in the MCP Servers panel so Cascade reloads its tools. Then ask Cascade “what SEO tools do you have?” and you should see them listed. One caution before you commit anything: your MCP URL carries a personal token, so treat mcp_config.json like a password file. Keep it out of public repos, and if you share the machine, remove the server when you are done. If the Model Context Protocol itself is new to you, What Is MCP? is the short primer.
What can you actually ask once it’s connected?
This is where it stops being a config exercise and starts earning its keep. You type a question, Cascade picks the tool, the data comes back inline. A few of the prompts I lean on most.
- Keyword reality checks: “What keywords should my new product page target?” Cascade calls keyword research and returns related terms with volume, difficulty, and intent, so you plan the page while you build it.
- Difficulty and SERP in one shot: “How hard is ‘ai code review’ to rank for, and who’s in the top 10?” It chains a difficulty score and the live page-one results, so you see both the bar and the field before you commit.
- Domain teardowns: “What does supabase.com rank for, and who else competes?” Cascade runs the ranked-keywords lookup, then competitor keywords, and hands back a content map plus the rivals chasing the same terms.
- Backlink gap mining: “Who links to my main competitor but not to me?” You get a spam-scored prospect list, a ready-made outreach shortlist. Backlink lookups cost more, so you run them on purpose.
- Winnability triage: “Of these five keywords, which can a new domain realistically rank for?” One prompt, a ranked answer, no spreadsheet.
- On-page audits: “Audit my site and list the worst pages first.” You get a graded fix-list, and because Cascade edits files, you can say fix the top three and re-audit without leaving the workspace.
The thread through all of these is plain language. You are not learning a menu or remembering which report lives where. You ask the way you would ask a colleague, and Cascade translates it into the right lookup, then chains the next one when the question needs two. “Find five low-difficulty keywords for my features page, check who ranks for each, and note the gaps” is one sentence that fires several tools and writes the whole session to disk.
Where ContextBolt SEO fits
ContextBolt SEO is the one I make, and it exists for exactly this workflow. It is a hosted MCP server that wraps Ahrefs-grade data behind a single URL. You paste that URL into mcp_config.json, hit Refresh, and Cascade has nine tools to reach for. Six are research tools and cost one lookup each: keyword research, keyword difficulty, SERP overview, domain overview, ranked keywords, and competitor keywords. Three are backlink tools and cost three lookups each: backlink overview, referring domains, and competitor gap. It runs $35 a month for 1,000 lookups, a quarter of the entry price of the big suites, with no account to provision and no deposit to fund. You subscribe, you get a URL, you work. The free Google Search Console tools and the automatic memory never touch your lookup budget.
Two things make it fit Windsurf specifically rather than just any MCP client. First, every tool returns a digested answer with a verdict line, not a wall of raw JSON, so the Cascade panel stays readable while you code. Second, because Windsurf has file access, every lookup also mirrors to a ./seo-findings/ folder in your workspace as markdown, one clean file per keyword or domain, plus an index. Your SEO research lives in the repo next to the feature it informed. You can grep it, commit it, diff it next month, or open it in Obsidian. Ask about the same keyword a week later and the answer leads with what changed since you last looked, no extra prompt needed. The Windsurf integration page has the exact setup steps, and the full tool guide walks through every lookup.
There is one more move that only works because this runs inside Windsurf. Say “audit my site” and ContextBolt SEO grades the mechanical health of your pages against a strict ruleset, title and meta lengths, a single H1, thin content, broken links, canonical tags, then hands back its own 0-100 score with the fix-list worst first. Because Cascade edits the files it just checked, you say “fix the top three” and it rewrites the pages in the same session, then re-audits and leads with the delta, health 80 to 91. Ahrefs reports the problems. ContextBolt hands them to the thing that can fix them. Find it, then fix it.
The honest framing the product holds to applies here too. This is Ahrefs-grade data, not the same numbers as Ahrefs. It sits on DataForSEO estimates, which are decision-useful and directionally accurate, the same class of data inside many dashboards you already trust. For deciding what to build and what to write, that is more than enough. It is not the tool for a client report that has to match Ahrefs to the decimal, and I would rather say that plainly than let you find out later.
The honest limits
Doing SEO inside Windsurf does not replace everything a suite does, and pretending it did would be the kind of overclaim this blog tries to avoid.
You do not get a visual dashboard. If you think in charts and like clicking around a keyword explorer, the chat panel will feel bare at first. You do not get scheduled rank tracking. An MCP server answers when you ask; it does not watch your positions every day and email you when one moves. If daily rank monitoring is central to your job, keep a tool that does it. And Cascade can be confidently wrong about strategy even when the underlying numbers are right, so treat its SEO advice the way you treat its code: fast, useful, and in need of a human read before it ships.
There is a usage shape to respect too. A metered server has a monthly lookup budget, so you spend it on real questions, not idle curiosity. In practice that is a feature, because it nudges you toward the lookups that actually move a decision. But it is worth knowing going in.
What you get back is the thing that matters most when you build solo and time is the scarce resource. The answer arrives where you already are, in the seconds you would otherwise burn on a context switch, at a price that does not make you wince. For most builders doing their own SEO, that trade is an easy yes. The keyword you were nervous about might be wide open, and now you can find out without ever leaving Cascade.