vestige/docs/integrations/windsurf.md
Sam Valladares c29023dd80 feat: Vestige v1.7.0 — 18 tools, automation triggers, SQLite perf
Tool consolidation: 23 → 18 tools
- ingest merged into smart_ingest (single + batch mode)
- session_checkpoint merged into smart_ingest batch (items param)
- promote_memory/demote_memory merged into memory(action=promote/demote)
- health_check/stats merged into system_status

Automation triggers in system_status:
- lastDreamTimestamp, savesSinceLastDream, lastBackupTimestamp,
  lastConsolidationTimestamp — enables Claude to conditionally
  trigger dream/backup/gc/find_duplicates at session start
- Migration v6: dream_history table (dreams were in-memory only)
- DreamHistoryRecord struct + save/query methods
- Dream persistence in dream.rs (non-fatal on failure)

SQLite performance:
- PRAGMA mmap_size = 256MB (2-5x read speedup)
- PRAGMA journal_size_limit = 64MB (prevents WAL bloat)
- PRAGMA optimize = 0x10002 (fresh query planner stats on connect)
- FTS5 segment merge during consolidation (20-40% keyword boost)
- PRAGMA optimize during consolidation cycle

1,152 tests passing, 0 failures, release build clean.
2026-02-20 21:59:52 -06:00

3 KiB

Windsurf

Give Cascade a brain that remembers between sessions.

Windsurf has native MCP support through its Cascade AI. Add Vestige and Cascade remembers your architecture, preferences, and past decisions across every session.


Setup

1. Open the config file

Option A — Via UI:

  1. Open Windsurf > Settings > Advanced Settings
  2. Scroll to the "Cascade" section
  3. Click "view the raw JSON config file"

Option B — Direct path:

Platform Path
macOS / Linux ~/.codeium/windsurf/mcp_config.json
Windows %USERPROFILE%\.codeium\windsurf\mcp_config.json
# macOS / Linux
open -e ~/.codeium/windsurf/mcp_config.json

2. Add Vestige

{
  "mcpServers": {
    "vestige": {
      "command": "/usr/local/bin/vestige-mcp",
      "args": [],
      "env": {}
    }
  }
}

With environment variable expansion (Windsurf-specific feature):

{
  "mcpServers": {
    "vestige": {
      "command": "${env:HOME}/.cargo/bin/vestige-mcp",
      "args": [],
      "env": {}
    }
  }
}

Windows:

{
  "mcpServers": {
    "vestige": {
      "command": "C:\\Users\\you\\.cargo\\bin\\vestige-mcp.exe",
      "args": [],
      "env": {}
    }
  }
}

3. Restart Windsurf

Restart the IDE or refresh the Cascade panel.

4. Verify

Open Cascade and ask:

"What MCP tools do you have?"

You should see Vestige's tools listed.


First Use

In Cascade:

"Remember that this project uses Next.js 15 with the App Router and Drizzle ORM"

Start a new Cascade session, then:

"What framework does this project use?"

It remembers.


Project-Specific Memory

{
  "mcpServers": {
    "vestige": {
      "command": "/usr/local/bin/vestige-mcp",
      "args": ["--data-dir", "${env:HOME}/projects/my-app/.vestige"],
      "env": {}
    }
  }
}

Important: Tool Limit

Windsurf has a hard cap of 100 tools across all MCP servers. Vestige uses ~18 tools, leaving plenty of room for other servers.


Troubleshooting

Vestige not appearing in Cascade
  1. Verify the config file is valid JSON:
    cat ~/.codeium/windsurf/mcp_config.json | python3 -m json.tool
    
  2. Ensure you're using absolute paths (or ${env:HOME} expansion).
  3. Check the Cascade panel for error messages.
  4. Fully restart Windsurf.
Tool limit exceeded

If you have many MCP servers and exceed 100 total tools, Cascade will ignore excess servers. Remove unused servers or use Vestige's unified tools (each handles multiple operations).


Also Works With

IDE Guide
Xcode 26.3 Setup
Cursor Setup
VS Code (Copilot) Setup
JetBrains Setup
Claude Code Setup
Claude Desktop Setup

Your AI remembers everything, everywhere.