Distill CLI

A Go utility with an MCP mode keeps agent memory across sessions, drops duplicates on write and compresses aging context.

  • 198 ★ on the repository
  • Last commit
  • MIT
CLI

Extended access

Why this level

  • The utility stores agent notes on disk and may reach a vector database and an HTTP server.
All reasons and checks

siddhant-k-code/distill

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/distill

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The utility stores agent notes on disk and may reach a vector database and an HTTP server.

This is third-party code. Review the repository files before installing.

What it does

Distill keeps persistent memory for LLM agents and cleans context before it reaches the model. Entries are deduplicated on write, get an expiry and sensitivity tags, and conflicting facts are flagged ahead of time. Similar chunks go through four steps: over-fetch, cluster, pick a representative per cluster and re-rank for diversity. Processing is deterministic and makes no LLM calls, with about 12 ms of overhead. It ships as a CLI, an HTTP server and a `distill mcp` server for Claude Desktop, Cursor and Amp.

Who it is for. Developers of RAG pipelines and agents whose context bloats with repeats and contradicts itself.

Good fit when

  • The agent re-learns the same project constraints every time and they must persist across sessions.
  • A vector database returns many near-identical chunks and tokens go on repeats.
  • Notes hold two versions of one fact and the agent must see the conflict upfront.
  • Context is frozen as a build artifact: `distill lock`, `build` and `verify` produce a reproducible bundle.

Not a fit when

  • You need semantic compression of meaning through an LLM call.
  • A short session with no repeats and no stored memory is enough.
  • You want a ready vector store, not a layer on top of one.

Example request

Connect Distill as MCP and remove duplicates from these 40 chunks, keeping one representative per cluster.

Limitations

Deduplication needs chunk embeddings: the tool does not compute them itself. A vector database is attached with the `--backend` flag. The Handoff v0 part is marked an experimental alpha. Releases still carry alpha tags, and binaries are downloaded from the releases page and checked against `checksums.txt`. Memory is stored locally, so private notes belong in a protected directory. The interface may change before a stable version, so pin a release tag.

How to disable. Remove the `distill mcp` entry from the MCP client configuration, stop the HTTP server and delete the binary. Remove memory files and lock outputs separately.

FAQ

Which tools does the MCP server have?

`deduplicate_chunks` removes repeats with no external dependencies, `retrieve_deduplicated` queries a vector database and needs `--backend`, and `analyze_redundancy` measures the share of repeats.

How do I start the MCP server?

Locally with `./distill mcp`, or `./distill mcp --memory --session` for memory and sessions. Add `--transport http --port 8081` for remote access.

Does Distill call an LLM?

No. The pipeline is deterministic and makes no model calls, so one input gives one result.

What does `distill lock` do?

It freezes the source list and settings into `context.lock.json`, `build` assembles a bundle and `verify` checks its hashes offline.

How does Distill differ from plain RAG ranking?

It removes repeats: chunks are grouped into clusters, one representative is taken from each and results are re-ranked for diversity. There are no LLM calls.

Discussion

No questions or reviews yet.

CLI tools
Official

An MCP server for long-term agent memory: compresses dialogues into atomic facts, resolves pronouns and anchors relative time to absolute dates

MCP serverExtended access3.9KRepository stars
Official

Local context compression for agents: tool outputs, logs, files and RAG chunks shrink before reaching the LLM. Proxy, CLI, library and MCP

MCP serverBroad access79.5KRepository stars

memory.cpp compiles repository history into compact agent context and filters out stale items, secrets and contradictions

CLIExtended access726Repository stars
Official

Long-term memory for agents: a remote MCP server, plugins for Claude Code, Cursor and Codex, and an API for your own apps

MCP serverExtended access31.6KRepository stars

A long-term memory MCP server for agents: one Rust binary that runs offline and never calls a language model

MCP serverBroad access323Repository stars

Encrypted offline memory for AI agents: one vault on your own computer shared by Claude Code, Cursor, Codex and other clients

MCP serverBroad access569Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Distill (this card)no198
agent-memoryno4,315an agent notes store; Distill deduplicates chunks on write and freezes context into a verifiable bundle
MCP Memory Servicenonot required2,117a long-term memory MCP service; Distill centres on deduplication without LLM calls and deterministic results

README in short

The project describes itself as a context engineering layer between data sources and the model: remember, deduplicate, compress, summarize and cache. All stages chain through `distill pipeline` or `POST /v1/pipeline`.

README badge

Report a problem