Windsurf Integration
Give Windsurf's Cascade AI persistent memory across every coding session. Dakera's MCP server connects directly to Windsurf — Cascade remembers project architecture, coding decisions, debugging context, and team patterns so you never have to re-explain your codebase.
~/.codeium/windsurf/mcp_config.json. Add one config block and Dakera's 14 core memory tools (86+ available via profiles) are immediately available to Cascade.Quick Start
Get persistent memory working in Windsurf in under 2 minutes:
Start Dakera
docker run -d --name dakera \
-p 3300:3300 \
-e DAKERA_API_KEY=dk-your-key-here \
-v dakera-data:/data \
ghcr.io/dakera-ai/dakera:latest
Configure Windsurf MCP
Create or edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"dakera": {
"command": "docker",
"args": ["run", "--rm", "-i",
"--network", "host",
"ghcr.io/dakera-ai/dakera-mcp:latest"],
"env": {
"DAKERA_URL": "http://localhost:3300",
"DAKERA_API_KEY": "dk-your-key-here",
"DAKERA_AGENT_ID": "windsurf-dev",
"DAKERA_MCP_PROFILE": "core"
}
}
}
}
Start Coding with Memory
Restart Windsurf. Cascade now has access to persistent memory tools. Try asking:
- "Remember that we use the repository pattern for database access in this project"
- "What architecture decisions have we made so far?"
- "Store this debugging approach for the payment module"
What Windsurf Cascade Gets
With Dakera connected, Cascade has access to 14 core MCP tools (86+ available via profiles) organized into categories:
| Category | Tools | Example Use |
|---|---|---|
| Memory | store, recall, search, forget | Remember project patterns and decisions |
| Sessions | start, end, list, memories | Group context by coding session |
| Knowledge Graph | entities, traverse, link | Map relationships between code concepts |
| Namespaces | create, list, configure | Isolate memory per project or team |
| Search | hybrid, fulltext, vector | Find relevant past context by meaning |
| Decay | config, stats | Auto-forget outdated information |
Windsurf MCP Config File Location
Unlike Cursor (which uses a per-project .cursor/mcp.json), Windsurf uses a single global MCP config file. This means memory is available across all your Windsurf projects without per-project setup:
| Platform | Config File Path |
|---|---|
| macOS / Linux | ~/.codeium/windsurf/mcp_config.json |
| Windows | %USERPROFILE%\.codeium\windsurf\mcp_config.json |
DAKERA_NAMESPACE to isolate memory per project — e.g., "DAKERA_NAMESPACE": "my-project" — while still sharing a single Dakera instance.Use Cases for Windsurf + Cascade
Project Architecture Memory
Store architectural decisions, patterns, and conventions once. When Cascade starts a new session, it recalls the project's design philosophy without you re-explaining the entire codebase. Cascade's deep code understanding combined with Dakera's persistent memory means your AI never starts fresh.
// Cascade will automatically use these tools:
// dakera_store: "This project uses hexagonal architecture with ports and adapters"
// dakera_store: "Database migrations use sqlx with versioned SQL files"
// dakera_recall: "What's our authentication approach?"
Cross-Session Debugging Context
When debugging a complex issue over multiple sessions, Dakera preserves the entire investigation trail — what you tried, what failed, what clues you found, and which hypotheses are still open. Cascade can pick up exactly where it left off, even days later.
Multi-Project Knowledge Base
Since Windsurf's MCP config is global, you can use namespaces to maintain separate memory spaces for each project while sharing a single Dakera instance. Switch projects in Windsurf and Cascade automatically draws from the correct namespace.
{
"mcpServers": {
"dakera-project-a": {
"command": "docker",
"args": ["run", "--rm", "-i", "--network", "host",
"ghcr.io/dakera-ai/dakera-mcp:latest"],
"env": {
"DAKERA_URL": "http://localhost:3300",
"DAKERA_API_KEY": "dk-your-key-here",
"DAKERA_AGENT_ID": "windsurf-dev",
"DAKERA_NAMESPACE": "project-a",
"DAKERA_MCP_PROFILE": "core"
}
}
}
}
Team Knowledge Sharing
Multiple developers can connect to the same Dakera instance with different agent IDs. Cross-agent recall lets Cascade access shared team knowledge — architecture decisions made by a colleague are available in your session — while maintaining individual context separation.
Code Pattern Library
Store reusable patterns with importance scoring. Frequently accessed patterns score higher and surface more readily in future recalls. Cascade can suggest your team's preferred patterns automatically rather than generating generic boilerplate.
Configuration Options
| Variable | Description | Default |
|---|---|---|
| DAKERA_URL | Dakera server address | http://localhost:3300 |
| DAKERA_API_KEY | Authentication key | Required |
| DAKERA_AGENT_ID | Unique identifier for this agent | "windsurf-dev" |
| DAKERA_NAMESPACE | Memory namespace isolation | "default" |
| DAKERA_MCP_PROFILE | Tool profile: core, power, admin, or all | "core" |
Profile Selection (DAKERA_MCP_PROFILE)
The DAKERA_MCP_PROFILE environment variable controls which tools Cascade sees. Profiles balance capability vs. context window cost:
| Profile | Tools | Tokens | Best For |
|---|---|---|---|
| core | 14 | ~2,964 | Most users — store, recall, search, sessions, knowledge graphs |
| admin | 32 | ~5,975 | Operators — adds namespaces, API keys, policies, decay config |
| power | 68 | ~13,014 | Advanced agents — adds entity extraction, graph traversal, agent stats, feedback |
| all | 86 | ~16,026 | Full API surface — vectors, bulk ops, export/import, encryption |
# Set in your ~/.codeium/windsurf/mcp_config.json env block:
"DAKERA_MCP_PROFILE": "power" # Options: core, power, admin, all
core (default). Use dakera_discover_tools and dakera_load_tools to pull in additional tools on demand without switching profiles.Verifying the Connection
After restarting Windsurf, open Cascade and ask it to list available memory tools. You should see the Dakera MCP tools in the response:
// Ask Cascade:
"What memory tools do you have available?"
// Cascade should list:
// - dakera_store
// - dakera_recall
// - dakera_search
// - dakera_session_start
// - ...and 10 more core tools
If Cascade doesn't show the tools, check that the Dakera server is running (docker ps) and that the config file path is correct for your platform.
Next Steps
- Full MCP Server documentation — all 14 core tools (86+ available via profiles) explained
- Quick Start guide — detailed setup walkthrough
- Memory Patterns — common patterns for coding workflows
- Cursor integration — same memory, per-project config
Frequently Asked Questions
How do I add persistent memory to Windsurf?
Run the Dakera server via Docker, then add the dakera-mcp server block to ~/.codeium/windsurf/mcp_config.json with your Dakera URL and API key. Restart Windsurf and Cascade will have access to 14 core memory tools (86+ available via profiles) automatically.
Does Dakera work with Windsurf Cascade?
Yes, via the official dakera-mcp MCP server. Windsurf supports MCP natively, so no extensions or code changes are needed — just one config block in ~/.codeium/windsurf/mcp_config.json and Cascade gains full persistent memory capabilities.
What does Dakera add to Windsurf?
Dakera gives Cascade persistent memory across coding sessions, hybrid BM25 + vector semantic search over past interactions, knowledge graph construction for project architecture and decisions, session tracking, and memory decay. All data stays self-hosted on your infrastructure. Cascade's deep codebase understanding combined with Dakera's persistent memory means your AI coding assistant accumulates knowledge over time rather than starting every session from scratch.
Further reading: MCP Protocol Explained · Dakera MCP: Real-World Use Cases · Cursor Integration
Ready to ship?
Deploy Dakera in minutes — self-hosted and free. Cloud managed hosting coming soon.
Give your AI agents persistent memory
Self-host free today — or join the Dakera Cloud waitlist for managed hosting, SLA & founder pricing.