Memory Vault
概要
作者による説明(英語の原文)
Local-first AI memory layer with hybrid search. Postgres + pgvector. Self-hosted, MIT.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: 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
「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
- DockerDockerのインストール
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
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/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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .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がつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
- 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…
- Postgres port
- Postgres database name
- Postgres user with read/write access to the memory vault database
- Postgres password for DB_USER
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント MihaiBuilds で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5684件のうち0%よりスターが多い
- このカテゴリのほかの5684件のうち57%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5684件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Memory Vaultは安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
入力が必要なもの:DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(1.6.1)がレジストリに届いたのは29 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Exa
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者の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
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 upand 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-v2embeddings (384-d, runs on CPU) - spaCy —
en_core_web_smfor 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
| Tool | Description |
|---|---|
recall | Search memories with hybrid search (vector + full-text + RRF) |
remember | Store a new memory — auto-classified and embedded |
forget | Soft-delete a memory by chunk ID |
purge_forgotten | Permanently delete memories forgotten more than N days ago |
move_memory | Move a memory to another space, rebuilding its graph entries |
memory_status | Database health, chunk counts, embedding model info |
Resources
| Resource | Description |
|---|---|
memory://spaces | List all memory spaces with chunk counts |
memory://stats | Current 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(orpip 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 mcpto see the server's error output. - Tools not available in Claude Code despite server connecting — confirm
memory-vaultis listed inenabledMcpjsonServersin~/.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
冒頭だけを表示しています。続きはリポジトリで読めます