mcp-memory-vault
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-memory-vaultSave that I prefer dark mode in the editor."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
# mcp-memory-vault
MCP server that gives any agent persistent memory — namespaced facts with tags, SQLite FTS5 full-text search, TTL expiry and zero external dependencies.
Why
Agents forget everything the moment a session ends. User preferences, project decisions, environment quirks, customer details — all gone, re-learned (or re-asked) every single time. mcp-memory-vault fixes that with a tiny local SQLite vault: any MCP client (Claude Desktop, Claude Code, or your own agent) can store facts as it works and recall them in any later session with ranked full-text search. Facts can be scoped by namespace, labeled with tags, and given a TTL so short-lived context expires on its own. Everything runs locally on the Python standard library — no external services, no API keys, no vector database.
Related MCP server: persistent-kb-mcp
Tools
Tool | Arguments | Returns |
|
| The stored memory (id, timestamps, tags) — or the existing one with |
|
| Ranked hits (bm25 relevance, recency tiebreak) with highlighted snippet, tags, and readable age ("3 days ago"). All query terms must match (AND). |
|
| Deletion confirmation with a preview of what was removed. |
|
| Most recent memories first, including |
|
| The updated memory plus |
| — | Totals, counts per namespace, active-TTL count, database file size and path, and |
|
| All memories as plain JSON-serializable dicts, ready for backup or migration. |
|
| Counts of imported and skipped (duplicate) items, with validation of every entry. |
How it works
flowchart LR
A[Agent / MCP client] -- stdio --> S[server.py<br/>FastMCP wiring]
S --> C[core.py<br/>MemoryVault]
C -- "purge expired (every op)" --> DB[(SQLite WAL<br/>~/.mcp-memory-vault/memories.db)]
DB -- triggers keep in sync --> FTS[FTS5 index<br/>memories_fts]
C -- "recall: MATCH + bm25" --> FTS
C -. "no FTS5 in this build?<br/>LIKE fallback (AND terms)" .-> DBEvery read or write first purges expired rows, so TTLs need no background process. If the local SQLite build lacks FTS5, the vault detects it at startup and falls back to a term-wise LIKE search — memory_stats tells you which mode is active. Set the MEMORY_VAULT_DB environment variable to relocate the database file.
Quickstart
pip install -e .Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"memory-vault": {
"command": "python",
"args": ["/absolute/path/to/server.py"]
}
}
}Claude Code:
claude mcp add memory-vault -- python /absolute/path/to/server.pyExample session
A support agent learns something today and uses it next week — in a completely new session.
Session 1 (Monday):
User: Heads up — ACME told us they only want production deploys on Fridays. Keep that in mind.
Agent: Noted — I'll store that so I remember it in future sessions.
Calls
remember(content="Customer ACME prefers deploys on Fridays", namespace="support", tags=["customer", "deploy"], source="user note 2026-07-20")→
{"id": 14, "deduplicated": false, "message": "Stored memory 14 in namespace 'support'."}Agent: Saved. I'll recall ACME's Friday-only deploy preference whenever deployment scheduling comes up.
Session 2 (a week later, fresh context):
User: ACME's fix is ready. When should we ship it?
Agent: Let me check what I know about ACME's deploy preferences.
Calls
recall(query="ACME deploy", namespace="support")→
{"count": 1, "search_mode": "fts5", "hits": [{"id": 14, "snippet": "Customer [ACME] prefers [deploys] on Fridays", "tags": ["customer", "deploy"], "age": "1 week ago"}]}Agent: ACME prefers deploys on Fridays (noted a week ago from your message). Today is Wednesday — I'd schedule the release for this Friday.
Development
pip install -e ".[dev]"
python -m pytestTests exercise core.py directly and run without the mcp package installed.
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AleBrito124356/mcp-memory-vault'
If you have feedback or need assistance with the MCP directory API, please join our Discord server