Skip to main content
All install guides
Install guide~60s total

Install Ricord in Windsurf

Three commands and a Cascade smoke test. Persistent memory wired into Codeium's Windsurf editor in 60 seconds — survives across sessions, across repos, across reboots.

Prerequisites

  • Windsurf installed (Codeium's AI-native editor; the app icon launches it).
  • bun on your PATH (install Bun if you don't have it).
  • A Ricord account — sign up if you don't have one.

Step 1 — Install the Ricord CLI

bun add -g ricord

Verify:

ricord --version
# → ricord vX.Y.Z

Step 2 — Log in

ricord login

Sign in via the browser tab. API key lands in the OS keychain.

Step 3 — Wire into Windsurf

ricord install

For Windsurf, this writes to ~/.codeium/windsurf/mcp_config.json (Mac/Linux) or %USERPROFILE%\.codeium\windsurf\mcp_config.json (Windows). Windsurf uses the standard MCP mcpServers JSON key. The added block:

{
  "mcpServers": {
    "ricord": {
      "command": "ricord",
      "args": ["mcp"]
    }
  }
}

Existing entries under mcpServers are merged, not overwritten. Verify the block landed:

cat ~/.codeium/windsurf/mcp_config.json | grep -A4 '"ricord"'

Step 4 — Refresh MCP inside Cascade

Windsurf's AI panel is called Cascade. Open it (default keybinding Cmd+L / Ctrl+L), then either click the MCP servers icon in the Cascade toolbar and hit Refresh, or restart Windsurf. The Ricord server should appear in the list of loaded MCP servers with a green indicator.

You can also reach the MCP settings explicitly: Windsurf Settings → Advanced → Cascade → Model Context Protocol. The Ricord entry will show 13 tools loaded.

Step 5 — 30-second smoke test

In the Cascade panel, type:

Remember that we deploy this project to Cloud Run via deploy.sh.

Cascade calls ricord_save. You'll see the tool-call card inline in the chat.

Quit Windsurf entirely (Cmd+Q / Alt+F4), reopen it, open Cascade again, type:

How does this project deploy?

Cascade calls ricord_recall and answers Cloud Run via deploy.sh. Install is good.

Cascade Chat vs Write mode

Cascade has two modes: Chat (Q&A with your codebase) and Write (multi-file edits with reasoning). Ricord's 13 tools are available in both. The save+recall workflow shines in Write mode — recall what we decided last sprint before making a code change, save the new decision after.

One nuance: Cascade's Write mode is more aggressive about tool use than Chat. Expect more spontaneous ricord_recall calls when you switch into Write on a fresh task.

What to expect over the next week

  • Day 1: Cascade saves and recalls across Windsurf restarts when you ask explicitly.
  • Day 3: Cascade calls ricord_get_context when you open Windsurf to a new repo — pulls in what it learned in previous sessions without you re-explaining.
  • Day 7: Open the dashboard — wiki pages per repo with the architectural decisions, deploy commands, and patterns Cascade helped you figure out.

Codeium indexing and Ricord are independent

Windsurf maintains its own Codeium-side index of your repo for code completion and Cascade Chat lookups. Ricord lives alongside that — it's the agent's persistent memory across sessions, not a replacement for the repo index. The two don't conflict. Codeium's index is per-repo and ephemeral; Ricord's memory is per-account and durable across all your repos.

Troubleshooting

Ricord doesn't show in the MCP list. Check that ~/.codeium/windsurf/mcp_config.json is valid JSON (a trailing comma after the last entry is the most common breakage). Then either click Refresh in Cascade's MCP toolbar or fully quit + reopen Windsurf — config only re-reads on these events.

Server listed but tools don't fire. Open the MCP Servers settings in Windsurf and confirm the Ricord toggle is on. Some Windsurf updates disable MCP servers on upgrade — re-enable from the toggle.

Tools loaded but recall is empty. Background indexing runs every ~10 minutes. If still empty after an hour, run ricord usage outside Windsurf to verify the account is healthy.

Command-not-found: ricord (in MCP logs). Windsurf inherits PATH from the launching environment. If you installed bunin a shell rc file that GUI launches don't source (e.g. only .bashrc, not .bash_profile), move bun's install dir to a sourced file or use an absolute path in mcp_config.json:

{
  "mcpServers": {
    "ricord": {
      "command": "/Users/you/.bun/bin/ricord",
      "args": ["mcp"]
    }
  }
}

Same install, other clients

ricord installauto-detects Claude Desktop, Claude Code, Cursor, Codex, Zed, and Gemini CLI if they're on the machine. Memory follows you across all seven MCP clients — switch from Windsurf to Cursor mid-debugging, the wiki and recall stay consistent.