Scrubby + Windsurf
Windsurf (formerly Codeium) ships its agentic IDE around the Cascade agent, with full Model Context Protocol support. Wire Scrubby into Cascade and the agent picks up your repo's architectural domains, conventions, and co-change patterns automatically — the same way it would discover any other MCP tool.
What you get
- Cascade gets architectural awareness. Before generating or editing code, Cascade can ask Scrubby what domain a file belongs to, what conventions apply, and what historically changes alongside it.
- Pre-commit changeset checks. Run
scrubby_review_changeseton staged files to catch missing co-changes before pushing. - Lower token spend. Cascade stops aimlessly grepping for context. One Scrubby tool call replaces ten file reads.
- No platform lock-in. The same Scrubby that powers Cascade also powers Claude Code, Cursor, VS Code, and Zed.
Setup
1. Add the MCP server
Open Windsurf's MCP config file at:
- macOS / Linux:
~/.codeium/windsurf/mcp_config.json - Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.json
Create the file if it doesn't exist (Windsurf doesn't create one on first launch). Add the Scrubby entry:
{
"mcpServers": {
"scrubby": {
"serverUrl": "https://mcp.scrubby.ai/mcp"
}
}
} You can also add Scrubby through Windsurf Settings › Cascade › MCP Servers, which writes to the same file.
2. Reload Cascade
Cascade picks up new MCP servers on the next chat session. Either start a new conversation or restart Windsurf.
3. Authenticate
The first time Cascade calls a Scrubby tool, you'll be prompted to authenticate via GitHub OAuth. Sign in with the GitHub account you used for Scrubby.
4. Index your repository
Ask Cascade to index:
"Index this repo with Scrubby — it's owner/repo-name." Indexing takes 1–3 minutes. After that it stays current incrementally.
Tools available to Cascade
| Tool | Purpose |
|---|---|
scrubby_index | Index a repository for the first time, or re-index after major changes |
scrubby_review | Get domain, conventions, connected files, and git history for a specific file |
scrubby_review_changeset | Check changed files for missing co-changes and convention violations |
scrubby_get_domains | List all architectural domains discovered in the repository |
scrubby_get_segments | List code segments with their conventions and file summaries |
scrubby_get_network | Get the domain connection graph showing how areas of the codebase relate |
scrubby_get_findings | Retrieve findings from previous reviews |
scrubby_report_findings | Report findings so Scrubby can refine its connection weights |
Notes for Windsurf specifically
Cascade picks tools opportunistically
Cascade reads the MCP tool descriptions Scrubby publishes and decides when to call them. You don't need to prompt for specific tools, but you can nudge it: "Run scrubby_review on this file before editing it."
Streamable HTTP transport
Windsurf supports stdio and Streamable HTTP transports for MCP servers. Scrubby uses HTTP, which means no local process to install — Cascade just connects to scrubby.ai.
One config file, every project
The Windsurf MCP config is global, not per-project. Add Scrubby once and Cascade has access to it across every repo you open. Indexing happens per-repo, so each project still needs its own initial scrubby_index call.
Troubleshooting
- Tools not appearing in Cascade — check that
~/.codeium/windsurf/mcp_config.jsonexists, is valid JSON, and that you've started a new chat session since editing it. - Authentication never completes — check your default browser is reachable. If OAuth is stuck, open your Scrubby dashboard, log out, and reconnect from Cascade.
- Repository not indexed — ask Cascade to call
scrubby_indexwith your repo name inowner/repoformat.