vestige/docs/integrations/windsurf.md
Sam Valladares 04781a95e2 feat: v2.0.4 "Deep Reference" — cognitive reasoning engine + 10 bug fixes
New features:
- deep_reference tool (#22): 8-stage cognitive reasoning pipeline with FSRS-6
  trust scoring, intent classification (FactCheck/Timeline/RootCause/Comparison/
  Synthesis), spreading activation expansion, temporal supersession, trust-weighted
  contradiction analysis, relation assessment, dream insight integration, and
  algorithmic reasoning chain generation — all without calling an LLM
- cross_reference (#23): backward-compatible alias for deep_reference
- retrieval_mode parameter on search (precise/balanced/exhaustive)
- get_batch action on memory tool (up to 20 IDs per call)
- Token budget raised from 10K to 100K on search + session_context
- Dates (createdAt/updatedAt) on all search results and session_context lines

Bug fixes (GitHub Issue #25 — all 10 resolved):
- state_transitions empty: wired record_memory_access into strengthen_batch
- chain/bridges no storage fallback: added with edge deduplication
- knowledge_edges dead schema: documented as deprecated
- insights not persisted from dream: wired save_insight after generation
- find_duplicates threshold dropped: serde alias fix
- search min_retention ignored: serde aliases for snake_case params
- intention time triggers null: removed dead trigger_at embedding
- changelog missing dreams: added get_dream_history + event integration
- phantom Related IDs: clarified message text
- fsrs_cards empty: documented as harmless dead schema

Security hardening:
- HTTP transport CORS: permissive() → localhost-only
- Auth token panic guard: &token[..8] → safe min(8) slice
- UTF-8 boundary fix: floor_char_boundary on content truncation
- All unwrap() removed from HTTP transport (unwrap_or_else fallback)
- Dream memory_count capped at 500 (prevents O(N²) hang)
- Dormant state threshold aligned (0.3 → 0.4)

Stats: 23 tools, 758 tests, 0 failures, 0 warnings, 0 unwraps in production

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:15:26 -05: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 23 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
Codex Setup
JetBrains Setup
Claude Code Setup
Claude Desktop Setup

Your AI remembers everything, everywhere.