Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Local-first AI memory layer with hybrid search. Postgres + pgvector. Self-hosted, MIT.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
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": "ใส่ค่าของคุณ",
"DB_PORT": "ใส่ค่าของคุณ",
"DB_NAME": "ใส่ค่าของคุณ",
"DB_USER": "ใส่ค่าของคุณ",
"DB_PASSWORD": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add memory-vault --env DB_HOST='ใส่ค่าของคุณ' --env DB_PORT='ใส่ค่าของคุณ' --env DB_NAME='ใส่ค่าของคุณ' --env DB_USER='ใส่ค่าของคุณ' --env DB_PASSWORD='ใส่ค่าของคุณ' -- 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": "ใส่ค่าของคุณ",
"DB_PORT": "ใส่ค่าของคุณ",
"DB_NAME": "ใส่ค่าของคุณ",
"DB_USER": "ใส่ค่าของคุณ",
"DB_PASSWORD": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .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": "ใส่ค่าของคุณ",
"DB_PORT": "ใส่ค่าของคุณ",
"DB_NAME": "ใส่ค่าของคุณ",
"DB_USER": "ใส่ค่าของคุณ",
"DB_PASSWORD": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub MihaiBuilds ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.6.1) เข้า registry 28 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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._
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.
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
docker compose exec app memory-vault ingest /path/to/file.md --space default
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.
If you prefer running without Docker:
# Clone
git clone https://github.com/MihaiBuilds/memory-vault.git cd memory-vault
uv sync
uv run python -m spacy download en_core_web_sm
cp .env.example .env
uv run memory-vault migrate
uv run memory-vault status
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
python -m venv .venv source .venv/bin/activate
pip install -e .
python -m spacy download en_core_web_sm
cp .env.example .env
memory-vault migrate
memory-vault status
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
memory-vault search "hybrid search architecture" --limit 5
memory-vault status
recall, remember, forget, memory_status) that Claude can use natively during any sessiondocker compose up and it's running_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:
all-MiniLM-L6-v2 embeddings (384-d, runs on CPU)en_core_web_sm for entity extraction (CPU-only, no LLM calls)docker compose upMemory Vault exposes six tools via the Model Context Protocol so Claude can read and write memories during any conversation.
| 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 |
| Resource | Description |
|---|---|
memory://spaces | List all memory spaces with chunk counts |
memory://stats | Current system statistics |
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.
Add the same server block to Claude Desktop's config (Settings → Developer → Edit Config), then restart Claude Desktop.
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.
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."
uv sync (or pip install -e .) in the repo directory.python -m spacy download en_core_web_sm.claude --debug mcp to see the server's error output.memory-vault is listed in enabledMcpjsonServers in ~/.claude/settings.json.DB_HOST: "127.0.0.1" instead of "localhost".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" } } } }
Memory Vault answers only to hostnames you have declared, and
ตัดมาแค่ช่วงต้น อ่านต่อใน repo