← Back to overview

FAQ

Short answers to what developers usually ask before installing Imprint. Longer explanations live in the architecture and MCP tools docs.

What is an MCP memory layer? +
MCP (Model Context Protocol) is the open standard Anthropic, OpenAI, and others use to expose tools to coding agents. An MCP memory layer is a server that speaks MCP and stores prior context — code chunks, decisions, bug fixes, architectural notes — so the agent can recall it instead of re-reading the whole repo every session. Imprint is a local-first implementation: vectors in Qdrant, facts in SQLite, embeddings via on-device llama.cpp.
How is this different from Cursor or ChatGPT built-in memory? +
Built-in memories are provider-bound, shallow, and cross-session at best. Imprint is agent-agnostic, indexed per-project, semantically searchable, and structured (tags for language, layer, domain, topic). One memory store is shared across Claude Code, Cursor, Copilot, Codex CLI, and Cline — whatever you use today and whatever you switch to next.
Does my code ever leave my machine? +
Not by default. The Qdrant daemon runs on 127.0.0.1:6333. Embeddings come from Qwen3-Embedding-0.6B via llama.cpp — no network call. The knowledge graph is local SQLite, and tagging, summaries, the dashboard’s chat and Echo’s speech run on local models. Model weights are downloaded on first use; nothing of yours is sent to fetch them. Two things send your data out, and only when you ask: sync (imprint sync, and devices you pair) streams the workspace you choose through a relay, end-to-end encrypted so the relay sees only ciphertext, and LLM tagging (imprint config set tagger.llm true), summaries and chat can each be set to a provider you pick (Anthropic, OpenAI, Gemini, or your own Ollama / vLLM) instead of the local model.
Why not just wait for bigger context windows? +
Bigger contexts still pay for every token at inference, still forget between sessions, and still degrade on long conversations. Imprint keeps what was learned across sessions and hands the agent bounded excerpts with their sources (five results and about 4,000 characters per search by default), so it can check them before relying on them. Whether that saves tokens depends on the task: in the published benchmark (90 paired Claude Code trials), total processed tokens changed +25.0% and list-price cost −9.0% with Imprint on. The benchmarks page has the intervals and every task.
Which agents does it work with? +
Any MCP-capable host. imprint setup all auto-wires Claude Code (with a once-per-session reminder to search Imprint first, which never blocks a tool), Claude Desktop, ChatGPT Desktop (through the Codex profile it shares), Cursor, GitHub Copilot (VS Code, the Copilot CLI and JetBrains), Codex CLI, Cline, OpenCode and OpenClaw; imprint clients shows which are connected. Adding a new host is a config file and a CLI subcommand away.
Can I share memory across my machines or with my team? +
Yes. imprint sync serve prints a one-time share code; the other machine joins with imprint sync <code>, the serving side approves its device, and memories and facts arrive deduplicated. Joining only receives: add --two-way to send back as well, and you are shown the serving device and asked before anything leaves. The serving side can be --send-only or --receive-only. Sessions are end-to-end encrypted: the code becomes the key (SPAKE2) without crossing the relay, so even the default public relay cannot read your memories. Project identity comes from the manifest (package.json, go.mod, pyproject.toml…), so the same repo lines up on every machine. Each machine keeps its own copy: a session merges once, and devices you pair (--remember on both sides, or the dashboard’s automatic sync) merge what changed about once a minute while the dashboard or imprint sync watch runs on both. It is not a live shared database.
Can I share only part of my memory? +
Yes, through workspaces. Each workspace is a separate memory with its own vector collection and fact graph. Copy a project, topic or single source into a dedicated workspace with imprint migrate --from default --to team --project <name> --copy, then sync just that one with imprint sync serve --workspace team --send-only. Your own workspace keeps everything, and nothing else is sent. The dashboard has the same controls.
Will it slow my agent down? +
A search takes about 151 ms warm in the benchmark (median, hybrid ranking); the first one in a process also loads the embedding model. Searching first adds a tool call or two: the median benchmark trial took 13.9 s end to end with Imprint on and 12.5 s with it off, MCP startup included.
Can it index JS-heavy docs sites or complex documents? +
Yes, via two opt-in extractors. For JS-rendered pages, set imprint config set ingest.use_obscura true: Imprint downloads the obscura headless browser (Apache 2.0) and imprint ingest-url pipes every URL through it before extraction. For richer document support (archives, Apple iWork, ODF, email/mbox), set ingest.use_kreuzberg true and Imprint installs kreuzberg. kreuzberg is under the Elastic License 2.0, which turning it on accepts — internal and self-hosted use is fine; SaaS re-hosting of its extraction is not.
Which platforms does it run on? +
macOS on Apple silicon (M1 or later, macOS 13+), Windows x64, and Linux x64 and ARM64. Intel Macs are no longer supported: releases ship no Intel macOS build, and the installer and imprint update stop with a message on one.
What does uninstalling look like? +
imprint disable tears down every MCP entry from every host config it previously wrote, stops the Qdrant daemon, and preserves data/ and .venv/ so imprint enable brings everything back instantly. Full removal is imprint uninstall, which also deletes the venv and data; add --keep-data to keep your memories.