db-memory
A vector-DB MCP server that gives Claude conversational memory by storing solved problems and solutions as vectors and retrieving relevant ones when a new request resembles a past solution.
README
db-memory
A vector-DB MCP server that gives Claude conversational memory: it stores solved problems + solutions as vectors and resurfaces the most relevant ones when a new request looks similar to something solved before.
- Switchable backend —
VECTOR_BACKEND=local|cloud, no code change.local→ Chroma, embedded on disk. Offline, no account.cloud→ Qdrant Cloud, managed, shared across machines.
- Small/fast local embeddings —
all-MiniLM-L6-v2(384-dim). No API key, runs on CPU in ms.
Tools exposed
| Tool | What it does |
|---|---|
search_memory(query, top_k) |
Find past solved issues similar to the current request |
save_memory(problem, solution) |
Store a solved issue for future retrieval |
memory_stats() |
Show active backend + how many memories are stored |
Setup
cd ~/code/mcp/db-memory
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # edit if you want cloud
Run / test standalone
mcp dev memory_server.py # opens the MCP Inspector UI
Register with Claude Code
Local backend (default):
claude mcp add db-memory -- \
~/code/mcp/db-memory/.venv/bin/python ~/code/mcp/db-memory/memory_server.py
Then /mcp in Claude Code shows the three tools. Claude will call
search_memory when a request resembles a past one, and save_memory after
solving something.
Switching to cloud
-
Create a free cluster at cloud.qdrant.io, copy the URL + API key.
-
In
.env(or the MCP env):VECTOR_BACKEND=cloud QDRANT_URL=https://YOUR-CLUSTER.cloud.qdrant.io:6333 QDRANT_API_KEY=...
Same embeddings, same tools — only the storage moves. (The two backends don't share data; re-save or migrate if you switch with existing memories.)
Notes
- Embedding dimension is fixed by the model (384 for MiniLM). If you change
EMBED_MODEL, delete the old Chromamemory_db/or use a fresh Qdrant collection — vectors of different sizes can't mix. - An MCP tool only runs when Claude invokes it; it can't passively log every
message. For guaranteed full capture, log each turn to the same DB from your
app (or a Claude Code
Stophook) and keep this server for retrieval.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.