Privacy-first team memory MCP server — local LLM distillation before team sync
Project description
🧪 Distill
An MCP server that gives Claude Code a shared team knowledge base — a local LLM transforms your raw input into anonymous, factual knowledge before anything leaves your device.
No author. No frustration. No names. Just a clean, reusable fact.
Quick Start
pip install distill-mcp
ollama pull gemma3:4b && ollama pull nomic-embed-text
claude mcp add distill -- python -m distill_mcp
Then in Claude Code:
You: "No, we don't use REST here. We switched to gRPC last month."
Claude: [saves to distill]
Got it. I've noted that the team uses gRPC, not REST.
... next session, different repo ...
You: "Set up the API for this new service."
Claude: [searches distill → finds gRPC decision]
Based on your team's knowledge, I'll set up a gRPC
service since the team switched from REST last month.
Distill saves when you correct a mistake or make a decision, and searches before proposing architecture — no prompting needed.
What makes this different
Every "memory MCP" stores your raw text in a database. Distill doesn't. The local LLM is a mandatory privacy gateway that transforms personal thoughts into impersonal team knowledge.
| Raw stays local | LLM distills | Team sync | Platform agnostic | |
|---|---|---|---|---|
| Claude-Mem | Partial (<private> opt-out) |
Cloud API compresses | Single-user | Claude Code only |
| Cipher | No | No | Yes | No |
| Supermemory | No | No | Yes | No |
| Mem0 | Yes | No | No | Yes |
| Memctl | Yes | No | Yes | Yes |
| Distill | Yes | Yes | Yes | Yes |
Based on public documentation as of March 2026.
Documentation
- Getting Started — full tutorial
- Installation — all setup options
- GCP Backend — team-shared database
- MCP Tools — all 8 tools
- Configuration — environment variables
- Architecture — Clean Architecture design
- Privacy Model — how your data stays private
Development
git clone https://github.com/5queezer/distill.git
cd distill
uv sync
uv run pytest tests/ -x -v
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file distill_mcp-0.4.0.tar.gz.
File metadata
- Download URL: distill_mcp-0.4.0.tar.gz
- Upload date:
- Size: 364.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca350109b6548a79473c680108562612c688d50143cf22f2342305a5d5d998bf
|
|
| MD5 |
7f99a962cb8eab0ab2e231f0453c36cc
|
|
| BLAKE2b-256 |
3692d42353eeb45de84f4ab0ba50b0f1cf53aa62c634104d857a32d638d09198
|
Provenance
The following attestation bundles were made for distill_mcp-0.4.0.tar.gz:
Publisher:
publish.yml on 5queezer/distill
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
distill_mcp-0.4.0.tar.gz -
Subject digest:
ca350109b6548a79473c680108562612c688d50143cf22f2342305a5d5d998bf - Sigstore transparency entry: 1155074959
- Sigstore integration time:
-
Permalink:
5queezer/distill@6f33aed194f19b272c4c1908769c973d666e5371 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/5queezer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6f33aed194f19b272c4c1908769c973d666e5371 -
Trigger Event:
release
-
Statement type:
File details
Details for the file distill_mcp-0.4.0-py3-none-any.whl.
File metadata
- Download URL: distill_mcp-0.4.0-py3-none-any.whl
- Upload date:
- Size: 51.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b0688f3b2cf9f9eee9c90538b6bab44e6f9fc4dfbeb09cb3c04d1e526b6e2e2
|
|
| MD5 |
0f3dac5e6d1a67349291a6d3a7d67c02
|
|
| BLAKE2b-256 |
a1ccf96b329e0668c214e12c08b90106c6d386fe5862b472e124ae0ab46600b8
|
Provenance
The following attestation bundles were made for distill_mcp-0.4.0-py3-none-any.whl:
Publisher:
publish.yml on 5queezer/distill
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
distill_mcp-0.4.0-py3-none-any.whl -
Subject digest:
5b0688f3b2cf9f9eee9c90538b6bab44e6f9fc4dfbeb09cb3c04d1e526b6e2e2 - Sigstore transparency entry: 1155074960
- Sigstore integration time:
-
Permalink:
5queezer/distill@6f33aed194f19b272c4c1908769c973d666e5371 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/5queezer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6f33aed194f19b272c4c1908769c973d666e5371 -
Trigger Event:
release
-
Statement type: