把 vector-memory MCP server 一鍵裝到本機,並自動註冊到你的 MCP client(ZCode / Claude Desktop / Cursor / 通用)。
vector-memory 是什麼 —— 一個基於 Qdrant + BGE-m3 的長期記憶 MCP server,給 AI agent 用 mem_save / mem_search / mem_health 等工具記住和召回跨對話的記憶。
curl -fsSL https://raw.githubusercontent.com/Bryan-cmf/vector-memory-mcp/main/install.sh -o install.sh
bash install.sh安裝包會:
- preflight — 檢查 bash 4+ / Python 3.10–3.13 / curl / OS
- Qdrant — auto-detect:已有本地 Qdrant?沒有的話,問你要本地 Docker 還是 Qdrant Cloud
- server — git sparse-checkout 上游
vector-memory/→ 建 venv → pip install(torch + transformers + mcp + qdrant-client) - model — 預先下載 BGE-m3(~2GB),避免首次啟動超時
- client 偵測 — 掃 ZCode / Claude Desktop / Cursor 的 config 路徑,看哪些裝了
- 註冊 — 把 server 寫進偵測到的 client config(也可用
--client指定) - self-test — 送一個 MCP
initializehandshake,確認 server 真能回應
bash install.sh # 全自動 (互動式問 Qdrant + 偵測所有 client)
bash install.sh --dry-run # 預演,不改任何檔案
bash install.sh --qdrant local # 強制本地 Docker Qdrant
bash install.sh --qdrant cloud # 強制 Qdrant Cloud (互動式問 URL+key)
bash install.sh --client zcode # 只註冊某 client (逗號分隔: zcode,claude,cursor)
bash install.sh --uninstall # 移除 venv + client 註冊 (保留 Qdrant 資料)
bash install.sh --help # 完整說明
bash install.sh --version # 版本| 變數 | 預設 | 用途 |
|---|---|---|
QDRANT_URL |
(偵測) | 覆寫 Qdrant endpoint,設了就跳過起服務 |
QDRANT_API_KEY |
(空) | Qdrant Cloud key 或帶認證的自架實例 |
EMBEDDING_MODEL |
BAAI/bge-m3 |
embedding 模型 HuggingFace 名 |
VECTOR_MEMORY_COLLECTION |
vector_memory |
Qdrant collection 名 |
VECTOR_MEMORY_DIR |
~/.vector-memory-mcp |
安裝根目錄 |
NO_COLOR |
(未設) | 設了就停用彩色輸出(CI 友善) |
QDRANT_URL="https://xyz.aws.cloud.qdrant.io:6333" \
QDRANT_API_KEY="xxxxx" \
bash install.sh --client zcode,claudebash install.sh --qdrant local --client zcode| 項目 | 版本 | 備註 |
|---|---|---|
| bash | 4.0+ | macOS 內建是 3.2 → brew install bash |
| Python | 3.10–3.13 | |
| curl | 任意 | Qdrant 健康檢查用 |
| Docker | 任意 | 本地 Qdrant 模式才需要;Cloud 模式免 |
磁碟:~3GB(venv + torch + bge-m3 模型) RAM:首次載入模型 ~1.5GB;穩態 ~800MB
安裝包會自動處理這 4 種格式的差異:
| Client | config 路徑 | 格式 |
|---|---|---|
| ZCode | ~/.zcode/cli/config.json |
mcp.servers.<name> |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
mcpServers.<name> |
| Cursor | <project>/.cursor/mcp.json |
mcpServers.<name> |
| OpenCode(原版) | config.json |
mcp.<name> 平鋪 |
| 工具 | 用途 |
|---|---|
mem_save |
存一段記憶(自動 embedding + 寫 Qdrant) |
mem_search |
語意搜尋記憶(回最相關的 N 筆) |
mem_delete |
依 ID 刪除 |
mem_health |
記憶庫健康狀態 + 統計 |
mem_stats |
collection 統計(point 數、磁碟用量) |
mem_list_collections |
列所有 collection |
mem_decay |
依時間衰減記憶權重 |
mem_dedup |
去重相似記憶 |
mem_contradict |
偵測矛盾記憶 |
mem_time_travel |
依時間戳回溯 |
mem_federated |
跨 collection 聯邦搜尋 |
mem_graph |
記憶圖譜關聯 |
dashboard/dashboard.py 是一個輕量 Web UI,直接打 Qdrant REST API,讓你用瀏覽器查看記憶庫健康度、最近記憶、做語意搜尋。獨立於 MCP server,不耦合、不影響 server 運作。
# 複用 install.sh 建好的 venv (推薦,已含所有依賴)
~/.vector-memory-mcp/.venv/bin/python ~/.vector-memory-mcp/dashboard/dashboard.py
# 或獨立 venv
cd dashboard
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python dashboard.py- 單檔(
dashboard.py,~500 行)—— FastAPI + 內嵌 HTML/CSS/JS,零 build 步驟 - 直接打 Qdrant REST —— 不 import
mcp_server.py,不重複邏輯 - 懶載入模型 —— 瀏覽統計即時輕量(~50MB RAM);語意搜尋時才載 BGE-m3(~2GB,首次 ~5s)
- 本機 only —— bind
127.0.0.1,不對外曝露 - 三個 API 端點:
GET /api/collections—— 所有 collection 健康度摘要GET /api/collection/{name}/recent—— 最近 N 筆記憶GET /api/search?q=...&collection=...—— 語意搜尋
python dashboard.py --port 9000 # 自訂 port
python dashboard.py --qdrant http://host:6333 # 自訂 Qdrant
python dashboard.py --host 0.0.0.0 # 對外 (⚠️ 無認證)
QDRANT_API_KEY=xxx python dashboard.py # 帶認證的 Qdrant
python dashboard.py --model BAAI/bge-small-zh-v1.5 # 換小模型加速搜尋用 launchd 讓 dashboard 開機自動啟動(macOS):
cat > ~/Library/LaunchAgents/com.vector-memory.dashboard.plist <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
<key>Label</key><string>com.vector-memory.dashboard</string>
<key>ProgramArguments</key><array>
<string>~/.vector-memory-mcp/.venv/bin/python</string>
<string>~/.vector-memory-mcp/dashboard/dashboard.py</string>
</array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
</dict></plist>
EOF
launchctl load ~/Library/LaunchAgents/com.vector-memory.dashboard.plistbash install.sh --uninstall會:
- 從各 client config 拿掉
vector-memory註冊(逐個確認) - 可選停止 + 移除 Qdrant 容器(資料保留在
~/.vector-memory-mcp/qdrant_storage/) - 可選刪除整個
~/.vector-memory-mcp/(含 venv + server,~3GB)
Qdrant Cloud 資料不會被動到,要清除請去 Qdrant Cloud dashboard。
查 client log。ZCode 在 ~/.zcode/v2/logs/ 找 mcpServerCount 和 mcpServerNames:
- 數字沒增加 → config 沒讀到,檢查 JSON 合法性
python3 -c "import json; json.load(open('你的config路徑'))" - 數字有增加但 server name 不對 → 改
mcp.servers.<name>那層的 key
torch 和 transformers 在 3.14 還沒發布正式 wheel。改用 3.13:
brew install python@3.13
# 或用 pyenv:
pyenv install 3.13 && pyenv shell 3.13正常 —— BGE-m3 模型要載入記憶體。安裝包已經 pre-download,所以是「磁碟載入到 RAM」的時間,不是網路下載。生產環境可用 EMBEDDING_MODEL=BAAI/bge-small-zh-v1.5 換小模型(512 維,載入快但精度差)。
Docker Desktop 的 CLI 工具沒掛進 PATH。開 Docker Desktop → Settings → Advanced → "Install docker-cli" 勾起來;或 brew install docker.
ZCode 是 OpenCode 的 fork,但 MCP 區塊改成了 mcp.servers.<name> 嵌套(多一層 servers),OpenCode 原版是 mcp.<name> 平鋪。安裝包會根據偵測到的 client 寫對應格式。
MIT — 見 LICENSE。上游 vector-memory 程式碼亦為 MIT(Bryan-cmf)。