Windsurf β
Windsurf (from Codeium) ships a built-in MCP client. Its Cascade agent will auto-suggest Ctxo tools whenever a prompt looks like dependency analysis, refactoring, or code exploration.
See MCP Client Setup for the cross-client overview.
Config file β
Windsurf reads from one user-global location:
| Scope | Path |
|---|---|
| Per-user | ~/.codeium/windsurf/mcp_config.json |
On Windows, substitute %USERPROFILE%\.codeium\windsurf\mcp_config.json.
There is no per-project override today - pick the repos where you want Ctxo active and let the user-global config apply to all of them.
Configuration β
Copy the canonical Windsurf block from MCP Client Setup. Save it at ~/.codeium/windsurf/mcp_config.json (on Windows, %USERPROFILE%\.codeium\windsurf\mcp_config.json).
Verify β
- Open Windsurf's Cascade panel.
- Click the hammer / tools icon.
ctxoshould appear with 14 tools listed underneath. - Prompt Cascade:
What Ctxo tools do you have access to?
Cascade will enumerate the tool names and describe each one.
Reload, don't restart
Use Cascade -> Refresh MCP Servers instead of a full Windsurf restart after editing mcp_config.json.
Using Ctxo tools β
Windsurf's Cascade is aggressive about suggesting tool use. A prompt like:
Is
SqliteStorageAdaptersafe to delete?
triggers Cascade to call find_importers and then get_blast_radius without being told, then presents a go/no-go recommendation with the evidence inline.
Tips β
- Auto-suggest is a feature. Cascade picks MCP tools proactively. You rarely need to name them; describe the task instead.
- Cache the index. Cascade's loops are fast - a stale index is noticeable. Keep
ctxo watchrunning, or add a pre-prompt shell step. - Cascade memories. Tell Cascade once: "Always call
get_blast_radiusbefore proposing edits." Saved memories persist across sessions. - HTTP transport. Set
CTXO_HTTP_PORT=7337in theenvblock if you want to share one Ctxo process with other tools on the same machine.