프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Memory Vault

제작자: MihaiBuilds버전 1.6.1i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.MihaiBuilds/memory-vault

설치

개요

제작자가 쓴 설명(영어 원문)

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

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 검색 및 AI 기억
  • 입력해야 할 값: DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 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"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

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

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.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"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "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"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • DB_HOST 필수 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 필수 env
    Postgres port
  • DB_NAME 필수 env
    Postgres database name
  • DB_USER 필수 env
    Postgres user with read/write access to the memory vault database
  • DB_PASSWORD 비밀 필수 env
    Postgres password for DB_USER

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 MihaiBuilds 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

검색 및 AI 기억 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 7234개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 7234개 중 57%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 7234개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Memory Vault, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.6.1)은 28일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Docker도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Context7, Codebase Memory, Exa

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Context7

제작자: upstash

Up-to-date docs for AI agents

컴퓨터 또는 클라우드★ 64,224MIT3일 전 업데이트
설치

Codebase Memory

제작자: DeusData

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

내 컴퓨터에서 실행★ 48,148MIT20일 전 업데이트
설치

Exa

제작자: exa-labs

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

클라우드에서 실행★ 5,213MIT44일 전 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

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

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기