Integration: Windsurf
Coverage status
Section titled “Coverage status”| Path | Status | Notes |
|---|---|---|
| MCP server | ✅ Supported | Windsurf’s built-in MCP client (Settings → Extensions → MCP) |
| Browser extension | ✅ Supported | Captures Windsurf’s web-based AI panels |
| Harness | — | Not needed when MCP is active |
Confidence: High. Windsurf added MCP support in v1.9. Both paths are validated on each MemStrata release.
On using both paths simultaneously: Running MCP + extension together does not double-count. The MCP path captures IDE chat turns; the extension captures browser-based sessions if you use Windsurf’s web interface. The harness deduplicates based on session ID to prevent inflated savings numbers.
Setup: MCP path (recommended)
Section titled “Setup: MCP path (recommended)”1. Start the MemStrata MCP server
memstrata serve --port 80802. Register in Windsurf
Open Windsurf → Settings → Extensions → MCP Servers → Add:
{ "name": "MemStrata", "serverUrl": "http://localhost:8080/mcp", "enabled": true}Or edit ~/.windsurf/mcp-config.json:
{ "servers": [ { "name": "memstrata", "url": "http://localhost:8080/mcp" } ]}3. Use MemStrata in Cascade
In Windsurf’s Cascade panel, reference MemStrata context:
@memstrata-context Review the UserRepository class and find callers that don't handle the null return case.MemStrata injects a compressed, dependency-aware context slice. The token count is visible in the Cascade header.
4. Verify
@memstrata statusExpected:
MemStrata v5.2.x | Project: ~/my-project | Indexed: 2,841 files | MCP: activeSetup: browser extension path
Section titled “Setup: browser extension path”The browser extension captures Windsurf’s web-based panels and the hosted windsurf.ai interface.
1. Install the MemStrata browser extension
Available for Chrome, Edge, and Firefox. Search “MemStrata” in your browser’s extension store.
2. Enable Windsurf capture
Click the extension icon → Settings → Providers → Enable “Windsurf.”
3. Verify
Open a Windsurf session in your browser. Within a few seconds, the MemStrata dashboard (run memstrata dashboard) should show the session appearing in the Sessions tab.
What’s captured
Section titled “What’s captured”| Signal | Captured? | Notes |
|---|---|---|
| Cascade chat turns | ✅ Yes | Via MCP — full context compression |
| Cascade “Flow” actions | ✅ Yes | Each agent action is a captured turn |
| Inline completions | ⚠️ Partial | Completion requests visible in harness; context compression applied, but Windsurf’s native model routing partially limits this |
| Browser AI panels | ✅ Yes | Via extension |
| File writes (edits) | ✅ Yes | Tracked for 24h survival metric |
| Windsurf’s internal codebase index | — | MemStrata supplements; does not replace Windsurf’s native indexer |
On inline completions: Windsurf’s inline completion engine routes through their own infrastructure for some models. MCP captures the context MemStrata is asked to provide; it does not intercept Windsurf’s internal routing for their hosted models (similar to Cursor Composer’s limitation).
Troubleshooting
Section titled “Troubleshooting”MCP server registered but Cascade shows no @memstrata tool
Restart Windsurf after registering the MCP server. Windsurf loads MCP tools on startup.
@memstrata status in Cascade returns empty response
Verify the harness is running: curl http://localhost:8080/health should return {"status":"ok"}.
Browser extension not capturing Windsurf desktop sessions
The Windsurf desktop app is Electron-based. The browser extension only captures web-based sessions. Use the MCP path for desktop usage.
Savings show double-counted sessions
If you’re running both MCP and extension, sessions should be deduplicated automatically by session ID. If you see duplicates, run memstrata dedup --dry-run to inspect, then memstrata dedup to resolve.
Port conflict with Windsurf’s own local server
Windsurf runs a local service on port 8888 by default. Change the MemStrata port: memstrata serve --port 8181 and update your MCP config accordingly.