Windsurf
Connect Rekall to Windsurf (Codeium's agentic IDE) via MCP. The Cascade agent gains persistent memory across sessions — it remembers your codebase patterns, decisions, and preferences instead of starting from scratch each time.
Overview
Windsurf supports MCP servers natively through Cascade's settings. Once Rekall is registered, its 40+ memory tools become available to Cascade — creating memories, semantic search, entities, workflows, execution state, and more.
Rekall must be running locally
The MCP server connects to your running Rekall backend. Make sure the databases and API are up (docker-compose ps and curl http://localhost:9876/health returns healthy) before launching Windsurf.
Prerequisites
- check_circleWindsurf installed (the Cascade agent supports MCP)
- check_circleA local Rekall checkout with the
start-mcp.shlaunch script - check_circleNode.js 18+ (the script runs the MCP server with
npx tsx)
Step 1: Locate the Config File
Windsurf reads MCP servers from mcp_config.json. Open it from the Cascade panel (the hammer / MCP icon → Configure → View raw config), or edit it directly:
~/.codeium/windsurf/mcp_config.json
File may not exist yet
If you have never added an MCP server, create the file with { "mcpServers": {} } and add the Rekall entry in the next step.
Step 2: Add the Rekall Server
Add a rekall entry under mcpServers. The launch command runs Rekall's start-mcp.sh script via bash — use the absolute path to the script in your checkout:
{"mcpServers": {"rekall": {"command": "/bin/bash","args": ["/absolute/path/to/rekall/start-mcp.sh"],"env": {"REKALL_USER_ID": "your_user_id","WORKSPACE": "work"}}}}
Use an absolute path
Windsurf launches the server from its own working directory, so a relative path like ~/rekall/start-mcp.sh will fail. Point args at the fully-qualified path to start-mcp.sh in your Rekall checkout. After saving, click Refresh in Cascade's MCP panel so it reloads the config.
Step 3: Verify the Connection
Open the Cascade MCP panel and confirm rekall shows a connected indicator with its tools listed. You can also ask Cascade directly:
You: "Do you have access to Rekall memory tools?"Cascade: "Yes — the rekall MCP server is connected. I can create and searchmemories, manage entities and workflows, and read agent context."
Using Memory in Windsurf
Ask Cascade to remember decisions as it works, and it will recall them on future sessions in the same workspace:
You: "Remember that this repo uses pnpm, not npm, and all tests run with vitest."Cascade: [stores a semantic memory] "Noted — I'll use pnpm and vitest going forward."--- later, new session ---You: "Add a test for the new parser."Cascade: [recalls memory] "I'll add a vitest test and run it with pnpm, matchingthis repo's conventions."
Troubleshooting
Server fails to start
Run /bin/bash /absolute/path/to/rekall/start-mcp.sh in a terminal. It should print "Rekall MCP server running on stdio". Fix any errors there before retrying, then click Refresh in Cascade's MCP panel.
Connection refused
Ensure the Rekall backend is running and reachable at http://localhost:9876/health. Start the databases with docker-compose up -d.
Tools not appearing
Confirm the JSON is valid and the config lives at ~/.codeium/windsurf/mcp_config.json. Click Refresh in the MCP panel; Windsurf reloads servers without a full restart.
