Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Memory Vault

by MihaiBuildsversion 1.6.1i★ –iRuns on your computer
Registry nameio.github.MihaiBuilds/memory-vault

Install

Overview

Description from the maker (original English)

Local-first AI memory layer with hybrid search. Postgres + pgvector. Self-hosted, MIT.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Search & AI memory
  • You need to fill in: DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "memory-vault": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DB_HOST",
        "-e",
        "DB_PORT",
        "-e",
        "DB_NAME",
        "-e",
        "DB_USER",
        "-e",
        "DB_PASSWORD",
        "ghcr.io/mihaibuilds/memory-vault-mcp:1.6.1"
      ],
      "env": {
        "DB_HOST": "your-value",
        "DB_PORT": "your-value",
        "DB_NAME": "your-value",
        "DB_USER": "your-value",
        "DB_PASSWORD": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add memory-vault --env DB_HOST=your-value --env DB_PORT=your-value --env DB_NAME=your-value --env DB_USER=your-value --env DB_PASSWORD=your-value -- docker run -i --rm -e DB_HOST -e DB_PORT -e DB_NAME -e DB_USER -e DB_PASSWORD ghcr.io/mihaibuilds/memory-vault-mcp:1.6.1

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "memory-vault": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DB_HOST",
        "-e",
        "DB_PORT",
        "-e",
        "DB_NAME",
        "-e",
        "DB_USER",
        "-e",
        "DB_PASSWORD",
        "ghcr.io/mihaibuilds/memory-vault-mcp:1.6.1"
      ],
      "env": {
        "DB_HOST": "your-value",
        "DB_PORT": "your-value",
        "DB_NAME": "your-value",
        "DB_USER": "your-value",
        "DB_PASSWORD": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "memory-vault": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DB_HOST",
        "-e",
        "DB_PORT",
        "-e",
        "DB_NAME",
        "-e",
        "DB_USER",
        "-e",
        "DB_PASSWORD",
        "ghcr.io/mihaibuilds/memory-vault-mcp:1.6.1"
      ],
      "env": {
        "DB_HOST": "your-value",
        "DB_PORT": "your-value",
        "DB_NAME": "your-value",
        "DB_USER": "your-value",
        "DB_PASSWORD": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • DB_HOST required env
    Hostname of the Postgres+pgvector instance Memory Vault connects to (e.g. 'host.docker.internal' when Postgres runs on the host, 'localhost' when running natively, or the service name when both run i…
  • DB_PORT required env
    Postgres port
  • DB_NAME required env
    Postgres database name
  • DB_USER required env
    Postgres user with read/write access to the memory vault database
  • DB_PASSWORD secret required env
    Postgres password for DB_USER

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account MihaiBuilds, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7248 servers in this category
  • Published to the registry more recently than 57% of the other 7248 servers in this category
  • Basic checks equal to or better than 100% of the other 7248 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Memory Vault safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.6.1) reached the registry 28 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated today
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 20 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated last month
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Memory Vault

The memory database for AI applications. Self-hosted Postgres + pgvector with hybrid search, MCP-native, and a knowledge graph baked in.

Every conversation with Claude or ChatGPT starts from zero. No memory of what you built last week, what decisions you made last month, what problems you've already solved. You either re-explain everything from scratch, or paste in a wall of context and hope it fits in the window.

Memory Vault is the persistent layer underneath. It stores what you want your AI to remember — decisions, conversations, notes, project context — in a single Postgres database with hybrid semantic + keyword search. Claude can recall and store memories during any session via MCP, you can chat with your own memories through a local LLM, or you can build your own AI tool on top of the REST API.


_Chat with your vault using a local LLM. Every answer shows the exact memories it was grounded in — click any source to verify._


Status

v1.0 — released 2026-05-07. First stable release of Memory Vault. M1-M7 (hybrid search, Docker, MCP, REST API, dashboard, knowledge graph, local LLM chat) all shipped and stable.

See CHANGELOG.md for the full per-release history, or GitHub Releases for the platform-native view.

Semver from here forward — the public surface (REST API endpoints, MCP tool signatures, DB schema) is stable. Breaking changes only on a major version bump.


Quick Start (Docker)

git clone https://github.com/MihaiBuilds/memory-vault.git

cd memory-vault docker compose up -d

That's it. PostgreSQL + pgvector + Memory Vault, running and ready. Migrations run automatically on first start.

# Check it's working

docker compose exec app memory-vault status

Ingest a file

docker compose exec app memory-vault ingest /path/to/file.md --space default

Search

docker compose exec app memory-vault search "your query here"

Data persists in a Docker volume — docker compose down and up again, your memories are still there.

Open http://localhost:8000 in your browser to use the dashboard (Chat, Search, Browse, Graph, Ingest, Stats).

Windows users: clone into WSL2, not a Windows path, and read docs/windows.md if you hit a line-ending error.


No-Docker quick start

If you prefer running without Docker:

Prerequisites
  • Python 3.11+
  • PostgreSQL 16 with pgvector extension
  • uv (recommended) or pip + venv
Setup with uv (recommended)
# Clone

git clone https://github.com/MihaiBuilds/memory-vault.git cd memory-vault

Create virtual environment and install dependencies

uv sync

Install the spaCy language model

uv run python -m spacy download en_core_web_sm

Configure

cp .env.example .env

Edit .env with your PostgreSQL credentials

Run migrations

uv run memory-vault migrate

Verify

uv run memory-vault status

Setup with pip + venv (fallback)

If you don't want to install uv, plain pip + venv works too:

# Clone

git clone https://github.com/MihaiBuilds/memory-vault.git cd memory-vault

Create virtual environment

python -m venv .venv source .venv/bin/activate

Install dependencies

pip install -e .

Install the spaCy language model

python -m spacy download en_core_web_sm

Configure

cp .env.example .env

Edit .env with your PostgreSQL credentials

Run migrations

memory-vault migrate

Verify

memory-vault status

Usage

If you set up with uv, prefix commands with uv run (e.g. uv run memory-vault search ...). If you used pip + venv, activate the venv first (source .venv/bin/activate) and run commands directly:

# Ingest a file

memory-vault ingest notes.md --space default

Search memories

memory-vault search "hybrid search architecture" --limit 5

Check status

memory-vault status


Features

  • Hybrid search — semantic similarity + keyword matching combined, so you find the right memory even when you don't remember the exact words
  • MCP integration — four tools (recall, remember, forget, memory_status) that Claude can use natively during any session
  • Local LLM chat — query your own memories through LM Studio without sending anything to the cloud, with sources shown for every answer
  • Knowledge graph — entities and relationships extracted automatically, connections between things emerge over time
  • Memory spaces — separate namespaces for different projects or domains
  • REST API — integrate AI memory into any application
  • One-command setup — docker compose up and it's running
  • Self-hosted — your data stays on your machine, always

Architecture

_Postgres + pgvector at the core. The same memory layer is reachable from MCP (Claude), the dashboard chat page, the REST API, and any app you build on top._

Three things are deliberate about this stack:

  • One database, not two. Vector embeddings, full-text indexes, and relational data all live in Postgres. No separate vector DB to keep in sync.
  • Frontend-agnostic. The dashboard is one consumer of the API, not the API itself. MCP, REST, CLI, and your own apps are equal first-class clients.
  • CPU-only by default. No GPU required. Embeddings (sentence-transformers) and entity extraction (spaCy) both run on a normal laptop.

Tech Stack

  • PostgreSQL 16 + pgvector — vector storage and hybrid search in one database
  • Python 3.11+ — async backend with psycopg 3
  • sentence-transformers — all-MiniLM-L6-v2 embeddings (384-d, runs on CPU)
  • spaCy — en_core_web_sm for entity extraction (CPU-only, no LLM calls)
  • FastAPI — REST API with bearer auth, rate limiting, and OpenAPI docs
  • React 19 + Vite + TanStack Query — web dashboard, baked into the main Docker image
  • Cytoscape.js + cose-bilkent — force-directed knowledge graph rendering on the dashboard
  • Docker — one-command deployment with docker compose up
  • MCP — Claude integration via FastMCP (stdio transport)

MCP Integration (Claude Desktop & Claude Code)

Memory Vault exposes six tools via the Model Context Protocol so Claude can read and write memories during any conversation.

Tools
ToolDescription
recallSearch memories with hybrid search (vector + full-text + RRF)
rememberStore a new memory — auto-classified and embedded
forgetSoft-delete a memory by chunk ID
purge_forgottenPermanently delete memories forgotten more than N days ago
move_memoryMove a memory to another space, rebuilding its graph entries
memory_statusDatabase health, chunk counts, embedding model info
Resources
ResourceDescription
memory://spacesList all memory spaces with chunk counts
memory://statsCurrent system statistics
Setup — Claude Code

Make sure you've completed the No-Docker quick start above (uv sync or pip install, plus the spaCy model download) so the memory_vault package is installed.

Project scope — add to your project's .mcp.json:

{

"mcpServers": { "memory-vault": { "command": "/path/to/memory-vault/.venv/bin/python", "args": ["-m", "memory_vault.mcp"], "env": { "DB_HOST": "localhost", "DB_PORT": "5432", "DB_NAME": "memory_vault", "DB_USER": "memory_vault", "DB_PASSWORD": "memory_vault" } } } }

Global scope — to make memory-vault available in every Claude Code session, add the same server block to ~/.claude/.mcp.json, then add memory-vault to enabledMcpjsonServers in ~/.claude/settings.json:

{

"enabledMcpjsonServers": ["memory-vault"] }

Verify with claude mcp list — memory-vault should show connected.

Setup — Claude Desktop

Add the same server block to Claude Desktop's config (Settings → Developer → Edit Config), then restart Claude Desktop.

Docker Users

If you're running Memory Vault via Docker, use DB_HOST: "127.0.0.1" and make sure port 5432 is exposed in your docker-compose.yml:

{

"mcpServers": { "memory-vault": { "command": "/path/to/memory-vault/.venv/bin/python", "args": ["-m", "memory_vault.mcp"], "env": { "DB_HOST": "127.0.0.1", "DB_PORT": "5432", "DB_NAME": "memory_vault", "DB_USER": "memory_vault", "DB_PASSWORD": "memory_vault" } } } }

The MCP server runs on the host (not inside Docker) and connects to the PostgreSQL container over the exposed port.

Verify It Works

Once configured, Claude will have access to the memory tools. Try:

"Use memory_status to check the memory system."

"Remember that we chose Redis for the session cache."

"Recall everything about hybrid search."

Troubleshooting
  • `ModuleNotFoundError` on startup — the virtual environment isn't installed; re-run uv sync (or pip install -e .) in the repo directory.
  • `OSError: [E050]` on startup — the spaCy language model isn't installed; re-run python -m spacy download en_core_web_sm.
  • Server shows `failed` in Claude Code — run claude --debug mcp to see the server's error output.
  • Tools not available in Claude Code despite server connecting — confirm memory-vault is listed in enabledMcpjsonServers in ~/.claude/settings.json.
  • Connection refused with Docker running — use DB_HOST: "127.0.0.1" instead of "localhost".
Remote access over HTTP

Everything above runs MCP over stdio, which assumes the client and the server are on the same machine. If your client is somewhere else — Claude Desktop on another machine, an agent harness in a different container — Memory Vault can also serve MCP over HTTP using SSE.

It is off by default. A memory store is not something to start listening on a port without being asked:

MCP_HTTP_ENABLED=true

The transport then mounts at /api/mcp on the same port as the REST API, so a client connects to http:// :8000/api/mcp/sse.

Every request needs a token, created the same way as for the REST API:

memory-vault token create my-remote-client

Clients differ in how they express a remote MCP server, but they all need the same three things — the SSE transport, the URL, and the token. In the shape most of them use:

{

"mcpServers": { "memory-vault": { "type": "sse", "url": "http://192.168.1.50:8000/api/mcp/sse", "headers": { "Authorization": "Bearer mv_your-token-here" } } } }

Say which hostnames are yours

Memory Vault answers only to hostnames you have declared, and

Only the beginning is shown; read the rest in the repo

Ask PopNx