Skip to main content
Glama

Memory MCP (local-first)

Yêu cầu

  • Node.js >= 20

  • Docker + Docker Compose

Related MCP server: Engram

Docker (phiên bản image)

  • Postgres: postgres:16-alpine

  • Qdrant: qdrant/qdrant:v1.9.3

Checklist khởi động

  1. docker compose up -d

  2. npm install

  3. Copy .env.example.env (Postgres host mặc định 127.0.0.1:55432)

  4. npm run db:migrate

  5. npm run qdrant:bootstrap

  6. npm run dev hoặc npm run build && npm start

Scripts

Script

Mô tả

npm run dev

MCP server (tsx watch, stdio)

npm run build

tscdist/

npm start

node dist/index.js

npm test

Vitest: unit + integration (xem bên dưới)

npm run db:migrate

Chạy migration Postgres theo thứ tự (0001_init, 0002_phase2_indexes, …)

npm run qdrant:bootstrap

Tạo collection Qdrant nếu chưa có

ENV

Copy .env.example thành .env.

Biến

Ý nghĩa

PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE

Kết nối Postgres (PGPORT=55432 khi dùng compose như mặc định repo)

QDRANT_URL

REST API Qdrant (mặc định http://localhost:6333)

QDRANT_COLLECTION

Tên collection điểm vector

EMBEDDING_PROVIDER

Phase 0–1: hash (embedding offline)

EMBEDDING_DIMENSION

Chiều vector (mặc định 384)

LOG_LEVEL

Mức log pino

MCP_ACTOR

Actor mặc định cho audit (optional)

MCP tools (stdio)

Server giao tiếp JSON-RPC qua stdout. Log (pino) trên stderr — không redirect stderr nếu cần xem log.

Tool

Vai trò ngắn

remember

Lưu memory có scope + metadata; dedupe; index Qdrant best-effort

recall

Truy vấn (vector + metadata), fallback metadata khi lỗi phụ thuộc

get_context_pack

Gói context (semantic / procedural / episodic) + trường mở rộng cố định

forget_memory

Soft transition (archive / delete / expire) + audit

update_memory

Phase 2: cập nhật có optimistic locking (expected_version); re-index vector; audit memory.update

remember_facts

Phase 2: ghi fact (subject / predicate / object) gắn với memory_id đã tồn tại

recall / fallback metadata lọc memory đã hết hạn (expires_at); có thể bổ sung cảnh báo CONFLICTING_FACTS khi hai fact trong workspace mâu thuẫn (cùng subject+predicate, khác object).

Payload chi tiết theo Zod trong src/contracts/tools/*.ts.

Ví dụ cấu hình Cursor

Thêm MCP server trỏ tới entrypoint đã build (hoặc tsx):

{
  "mcpServers": {
    "memory-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/Memory-mcp/dist/index.js"],
      "env": {
        "PGHOST": "127.0.0.1",
        "PGPORT": "55432",
        "PGUSER": "memory",
        "PGPASSWORD": "memory",
        "PGDATABASE": "memory_mcp",
        "QDRANT_URL": "http://127.0.0.1:6333",
        "QDRANT_COLLECTION": "memories",
        "EMBEDDING_PROVIDER": "hash",
        "EMBEDDING_DIMENSION": "384"
      }
    }
  }
}

Đường dẫn và env chỉnh theo máy bạn.

Chế độ suy giảm (recall / context pack)

Khi embedding hoặc Qdrant lỗi, recall vẫn trả ok: true với retrieval chỉ từ Postgres (metadata / keyword nhẹ), kèm warnings:

Khi nào

EMBEDDING_UNAVAILABLE

embedder.embed lỗi

VECTOR_SEARCH_UNAVAILABLE

search Qdrant lỗi (hoặc cảnh báo khi xóa vector lỗi lúc forget_memory)

DEGRADED_RETRIEVAL_MODE

Đang dùng fallback metadata

Lỗi business (input sai, scope, không tìm thấy, v.v.) trả ok: false + error.code từ INVALID_INPUT, SCOPE_VIOLATION, NOT_FOUND, DEPENDENCY_UNAVAILABLE, …

Tests

npm test
  • Unit: không cần Docker.

  • Integration (src/testing/integration/memoryMcp.int.test.ts): cần Postgres (và Qdrant cho luồng vector thật trong vài case). Nếu không kết nối được DB trong ~8s, các case đó bỏ qua (log cảnh báo), suite vẫn PASS.

  • Tắt hẳn integration: SKIP_INTEGRATION=1 npm test.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A local, fully-offline MCP memory server that enables persistent storage and retrieval of information using SQLite with both keyword and semantic vector search capabilities.
    10
    19 npm
    13
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A local-first memory MCP server that enables storing, searching, and managing personal memories with hybrid keyword and semantic recall, all on-device.
    22 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local-first compiled knowledge graph MCP server that provides structured memory for AI agents with full-text search, vector embeddings, and timeline tracking.
    385 npm
    8
    MIT