ImprintMCP
About
Autoupdating MCP Vector Memory
Details
- Author
- alexandruleca
- Categories
- Productivity, AI, Other, Knowledge Base
Jump to
Setup
Install ImprintMCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/alexandruleca/imprint-memory-layer
Follow the installation instructions in the repository README, then restart your MCP client.
Give Claude Code, Cursor, Codex CLI, Copilot, and Cline a long-term memory.
Stop re-explaining your codebase every session.
- Remembers what your AI forgets.Decisions, patterns, bug fixes, and architectural choices persist across sessions — searched semantically, not grepped.
- −70.4% tokens, −31.7% cost.Measured across 150 runs on Claude Code (Sonnet). Your AI searches memory instead of re-reading files. SeeBENCHMARK.mdfor raw numbers.
- Runs 100% locally by default.EmbeddingGemma-300M via ONNX, Qdrant vector DB, Chonkie chunking — all on your machine. No API credits consumed unless you opt in.
- One command, any host.Wires into Claude Code, Cursor, Codex CLI, Copilot, or Cline via MCP. Same memory, shared across tools.
Runs 100% locally. Zero API credits consumed by default.Everything from embeddings, chunking, tagging, vector search, and the knowledge graph — runs on your machine:
- Embeddings: EmbeddingGemma-300M via ONNX Runtime (GPU or CPU), no network calls, no per-token cost.
- Vector store: Qdrant auto-spawned as a local daemon on127.0.0.1:6333. Your data never leaves the box unless you sync it to another device.
- Chunking: Chonkie hybrid (tree-sitter CodeChunker + SemanticChunker), pure Python, local.
- Tagging: deterministic rules + zero-shot cosine similarity against pre-embedded labels. Local LLM call per chunk if you want it.
- Imprint graph: SQLite on disk for temporal facts.
The ingestion flow: scan dir → detect project → chunk files → embed chunks → tag (lang/layer/kind/domain/topics) → upsert into Qdrant. A Stop hook auto-extracts decisions from Claude transcripts; a PreCompact hook saves context before window compression. Search goes straight to the local vector DB — no round-trip to any provider.
Optional cloud LLM taggingis opt-in only (imprint config set tagger.llm true) if you want more granular topics and are fine spending credits. Providers: Anthropic, OpenAI, Gemini, or fully-local Ollama / vLLM. Leave it off and nothing ever talks to a paid API.
graph TB subgraph "Your Machine" CC[Claude Code] -->|MCP tools| MCP[Imprint MCP Server] MCP -->|HTTP localhost:6333| QDB[(Qdrant Server<br/>auto-spawned daemon)] MCP -->|facts| KG[(SQLite<br/>Imprint Graph)] CLI[imprint CLI] -->|HTTP| QDB CC -->|Stop hook| EXT[Auto-Extract<br/>Decisions] CC -->|PreCompact hook| SAVE[Save Before<br/>Compression] EXT -->|HTTP| QDB EMB[EmbeddingGemma ONNX<br/>GPU/CPU] -->|768-dim vectors| QDB TAG[Tagger<br/>lang/layer/kind/domain/topics] -->|payload| QDB CHK[Chonkie Hybrid<br/>CodeChunker + SemanticChunker] -->|chunks| EMB end subgraph "Sync Relay" RELAY[imprint relay<br/>WebSocket forwarder] end subgraph "Other Machine" CC2[Claude Code] -->|MCP| MCP2[Imprint MCP] MCP2 --> QDB2[(Qdrant Server)] end CLI -->|sync serve| RELAY RELAY -->|sync pull/push| QDB2 style QDB fill:#1a1a3a,stroke:#60a5fa,color:#fff style KG fill:#1a1a3a,stroke:#4ecdc4,color:#fff style MCP fill:#0d1117,stroke:#a78bfa,color:#fff style RELAY fill:#0d1117,stroke:#ff6b6b,color:#fff style EMB fill:#0d1117,stroke:#fbbf24,color:#fff style TAG fill:#0d1117,stroke:#34d399,color:#fff style CHK fill:#0d1117,stroke:#f472b6,color:#fff
curl -fsSL https://raw.githubusercontent.com/alexandruleca/imprint-memory-layer/main/install.sh | bash
irm https://raw.githubusercontent.com/alexandruleca/imprint-memory-layer/main/install.ps1 | iex
Pin a specific version, pick the dev channel, or use prebuilt Docker images — seedocs/installation.md.
Once installed, use the built-in updater — no curl, no sudo.data/(workspaces, Qdrant storage, SQLite graphs, config,gpu_state.json) and.venv/are always preserved; only the code tree is replaced.
imprint update # latest stable, asks for confirmation imprint update --dev # latest prerelease imprint update --version v0.3.1 imprint update --check # show current + latest release and exit imprint update -y # skip confirmation (CI / scripts)
Re-runninginstall.shalso works and now prompts before overwriting an existing install. For non-interactive upgrades pass--yesor setIMPRINT_ASSUME_YES=1.
If GPU setup fails once(e.g. Blackwell + old nvcc, or CUDA runtime mismatch) the failure is remembered indata/gpu_state.jsonso futureimprint setupruns skip the broken path silently. After you upgrade the toolchain, force a retry with:
imprint setup <target>auto-wires the MCP server into each supported AI coding tool. Runimprint setup allto configure every host that's installed on your machine; missing tools are skipped with a warning, not an error.
imprint disableis symmetric — it tears down the MCP entry from every config file above that still exists (the venv and data are always preserved so re-enabling is fast).
imprint setup [target] # install deps, register MCP, configure the chosen host tool # target: claude-code (default) | cursor | codex | copilot | cline | all # add --retry-gpu to forget a sticky GPU failure and retry ORT / llama-cpp CUDA imprint update [--version v0.3.1] [--dev] [-y] [--check] # upgrade imprint in place; preserves data/ and .venv/ imprint uninstall [-y] [--keep-data] # full removal: disable + strip CLAUDE.md + delete venv/data/install dir imprint status # is everything wired? show enabled/disabled, server pid, memory stats imprint enable [target] # re-wire MCP + hooks + start server # target: claude-code | cursor | codex | copilot | cline | all imprint disable # stop server, unregister MCP from every host, strip Claude hooks (data preserved) imprint ingest <path> # index project source files (directory or single file) imprint learn # index Claude Code conversations + memory files imprint learn --desktop # also ingest Claude Desktop / ChatGPT Desktop export zips from Downloads imprint ingest-url <url> # fetch URL(s), extract content, and index (html/pdf/etc) imprint refresh <dir> # re-index only changed files (mtime-based) imprint refresh-urls # re-check stored URLs via ETag/Last-Modified and re-index changed imprint retag [--project] [--all] # re-run the tagger on existing memories (--all re-tags already-tagged chunks) # Heavy jobs (ingest/refresh/retag/ingest-url/refresh-urls) serialize via a # shared queue lock. If another job is already running the CLI exits with an # error — cancel it from /queue in the UI or kill the PID it reports. imprint migrate --from WS1 --to WS2 --project NAME | --topic TAG [--dry-run] # move memories between workspaces (preserves vectors) imprint config # show all settings with current values imprint config set <k> <v> # persist a setting (e.g. model.name, qdrant.port) imprint config get <key> # show one setting with source + default imprint config reset <key> # remove override, revert to default imprint server <cmd> # manage the local Qdrant daemon: start | stop | status | log imprint workspace # list workspaces and show active imprint workspace switch <name> # switch to workspace (creates if new) imprint workspace delete <name> # delete a workspace and its data imprint wipe [--force] # wipe active workspace imprint wipe --all # wipe everything (all workspaces) imprint sync serve [--relay <host>] # expose KB for peer syncing (default: imprint.alexandruleca.com) imprint sync <id> --pin <pin> # sync via default relay (or <host>/<id> / wss://<host>/<id>) imprint sync export | import <dir> # snapshot bundle, no re-embed on import imprint relay # run the sync relay server imprint ui [start|stop|status|open|restart|log] [--port N] # dashboard (FastAPI + Next.js); bare imprint ui runs foreground imprint version # print version
Imprint reduces Claude Code's token consumption by serving focused semantic search results instead of requiring full file reads. Measured across 15 prompts in 6 categories, 5 runs per prompt per mode, Sonnet primary model.
Numbers are median per prompt, summed across categories. SeeBENCHMARK.mdfor per-prompt tables, per-model breakdown, response-quality analysis, and the exact flags used.
Reproduce:bash benchmark/run.sh(full suite, ~$15–25) orbash benchmark/run.sh --subset(one prompt per category, ~$6–10).
- Local Auto Back-up
- External Qdrant Instance instead of local db
- BackUp/Sync to another Qdrant Remote Instance Server
- Document (pdf, doc, odt, ...etc) ingestion capability
- Video / Audio ingestion capability
- URL ingestion capability
Imprint is licensed under theApache License 2.0.
Third-party dependencies retain their own licenses — seeTHIRD_PARTY_LICENSES.mdfor the full table.
Default embedding model(EmbeddingGemma-300M) is governed by theGemma Terms of UseandProhibited Use Policy—notApache 2.0. Imprint does not bundle weights; they're downloaded at runtime from HuggingFace, where you accept Gemma's terms. Switch to a differently-licensed model (e.g.BGE-M3, MIT) viaimprint config set model.name <repo>.
Questions, feedback, or bug reports? Reach out:
A production-ready Model Context Protocol (MCP) server that provides a powerful, vector-native memory bank for AI agents. Built with the Protocol-Lattice Go Agent Framework, this server offers persistent, searchable, and shareable memory with multiple database backends.
Implement semantic memory layer on top of the Qdrant vector search engine
Local Work Model for AI agents that learns from real outcomes.
Auditable, self-improving knowledge & memory for AI agents over MCP — citation-enforced answers and a replayable why-trace, self-hosted on Postgres.
Two-layer memory for AI agents with an immune system — episodes compress into identity through citation-validated graduation. Zero dependencies, 5 MCP tools.
Provides AI assistants with persistent memory using ChromaDB vector storage.
An MCP server for the Chroma embedding database, providing persistent, searchable working memory for AI-assisted development with features like automated context recall and codebase indexing.
A persistent memory server for Large Language Models, designed to integrate with the Claude desktop application. It supports tiered memory, semantic search, and automatic memory management.
Persistent cognitive memory for Claude Code. Cloud-based semantic search, Ai-powered extraction, project scoping, and compaction recovery.
Persistent memory layer for AI agents with semantic search, consolidation, and cross-session intelligence via MCP.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





