I use Claude Desktop, Claude Code, and Cursor daily. They all have memory now, but none of them share it. Something I explained in Claude Desktop doesn't exist when I open Cursor. Copy & paste is tedious...I looked at lots of options but they need Docker or external dependencies, which felt like overkill for what's essentially a personal database.So I built Covalence — a Mac app that runs an MCP server with a local vector database. Any MCP client connects to it. Store a memory in Claude, search for it from Cursor. It's the same database.The stack: SQLite + sqlite-vec, nomic-embed-text-v1.5 for embeddings (runs on-device via CoreML), hybrid BM25 + vector search. Everything is a single SQLite file on disk. No network calls, no API keys.Concurrency was the problem that started the project — multiple Claude sessions writing to the same MCP server would hang. SQLite in WAL mode with each MCP client as a separate process solved it cleanly. Multiple clients can read and write simultaneously w...
Want to discover more AI signals like this?
Explore Steek