Why Session Memory Matters for Coding Assistants
Without persistent memory, every new chat window is a blank slate. You re-explain your stack, re-state constraints (“use Prisma, never raw SQL”), and re-describe folder layouts. With sovseal as a background MCP server:- Design decisions persist — migration plans, chosen libraries, and tradeoffs survive restarts.
- Stack constraints are recalled automatically — the agent queries memory at the start of each task.
- Config paths are always known — schema files, env files, and service URLs are stored as structural facts.
- Your IP stays local — proprietary code layouts and internal service names are stored in LanceDB on your machine, not in a SaaS database.
sovseal stores plaintext locally in
~/.sovseal/db/memories.lance. If you enable cloud sync, only AES-256-GCM ciphertext is transmitted — the server never sees your raw code context.Setup
1
Install the MCP server
The sovseal MCP server ships as an npm package and runs on-demand via
npx. You don’t need a separate install step — the configuration blocks below pull the latest version automatically. If you want to pin a version for reproducibility, replace @sovseal/mcp-server with @sovseal/mcp-server@0.3.8.2
Configure Claude Desktop
Open the Claude Desktop configuration file in your text editor:There’s no encryption-key environment variable to set — the master key is generated on first run and held in your OS keychain automatically. See Key Management & Custody.Restart Claude Desktop. The
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
sovseal block inside mcpServers:claude_desktop_config.json
store_memory and recall_memory tools will appear automatically in the active model’s tool shelf.3
Configure Cursor IDE
- Open Settings → Features → MCP.
- Click + Add New MCP Server.
- Fill in the form:
- Save and confirm the status indicator turns green. Cursor will now pass
store_memoryandrecall_memoryas available tools to your active model.
4
Add proactive recall rules
To make the assistant query memory automatically — without you typing “remember” or “recall” — add the following instruction block to your Claude system prompt or your Cursor
.cursorrules file:.cursorrules (or Claude system prompt)
5
Test the setup
Start a new chat in Claude Desktop or Cursor and state a constraint:
“We are migrating from Express to NestJS. The database uses PostgreSQL. Do not write any raw SQL — always use Prisma.”The assistant calls
store_memory and commits the fact locally in ~3.8 ms. Close the chat window completely, open a new one, and ask:“What are the rules for writing database queries in this project?”The assistant calls
recall_memory, and the local vector search returns the constraint in ~6.1 ms:“Since you are migrating to NestJS and PostgreSQL, all database access must go through Prisma. Raw SQL queries are prohibited.”You’ve confirmed end-to-end cross-session persistence.
What Gets Remembered
The system prompt rules above instruct the assistant to store only structural facts — information that remains true across multiple sessions and affects how code should be written. Good examples:Managing and Pruning Context
sovseal stores your memory index as an on-disk LanceDB database. You can inspect and clean it directly:
To wipe all stored memories and start fresh: