Densely
Überblick
Beschreibung vom Entwickler (englisches Original)
Lossless context compression: 2-8x fewer tokens, byte-exact recovery, search inside payloads
Die drei Säulen von PopNx MCP
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
- Stimmen der NutzeriNoch keine BewertungenBewertungen starten in einem späteren Schritt zusammen mit Benutzerkonten
- Unsere Basischecksi1 von 1 bestandenAnhand öffentlicher Informationen geprüft; Code noch nicht gescannt
- NutzungiGanz neu↓ 64/Wo. · ★ –
Was du damit machen kannst
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
- Verbindung: Läuft auf deinem Computer
- Transport: stdio
- Kategorie: Suche & KI-Gedächtnis
Installation
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Bevor du installierst
- Basischecks: 1 von 1 bestanden
- Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
- Die Registry nennt keinen Schlüssel zum Eintragen.
Du brauchst
- PyPIuv für Python installiert (für den Befehl uvx)
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"densely": {
"command": "uvx",
"args": [
"densely"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add densely -- uvx denselyOder kopier die Einstellungen selbst
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"densely": {
"command": "uvx",
"args": [
"densely"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Oder kopier die Einstellungen selbst
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"densely": {
"type": "stdio",
"command": "uvx",
"args": [
"densely"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Was er kann
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Basischecksi
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 10. Nov. 2026
- ✓ Bestanden
Entwickler passt zum Repo
Der Registry-Name wurde mit dem GitHub-Konto alibaizhanov bestätigt, dem das Repo gehört
- … Noch nicht geprüft
Wird noch gepflegt
Dieses Repo haben wir noch nicht von GitHub gelesen
- … Noch nicht geprüft
Hat eine Lizenz
Dieses Repo haben wir noch nicht von GitHub gelesen
- – Nicht zutreffend
Endpunkt antwortet
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
- – Nicht zutreffend
Anmeldung mit OAuth
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
- … Noch nicht geprüft
Keine versteckten Anweisungen in Tool-Beschreibungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Im Vergleich mit anderen in Suche & KI-Gedächtnisi
- Mehr Sterne als 0 % der anderen 5789 Server in dieser Kategorie
- Neuer in der Registry veröffentlicht als 29 % der anderen 5789 Server in dieser Kategorie
- Basischecks gleich gut wie oder besser als bei 100 % der anderen 5789 Server in dieser Kategorie
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Häufige Fragen
Ist Densely sicher?
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Welche Schlüssel oder Codes braucht er?
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Läuft er auf meinem Computer oder in der Cloud?
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Wird er noch gepflegt?
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.2.1) kam vor 3 Monaten in die Registry.
Welche Apps können ihn nutzen?
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
Was kann ich stattdessen nutzen?
In derselben Kategorie: Context7, Codebase Memory, Exa
Alternativen
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
README vom Entwickler
README öffnen
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
densely
Lossless context compression for LLMs. Pack any text into 2x–8x fewer tokens with guaranteed byte-exact reconstruction — verified by sha256 on every decompress.
MIT, free forever. (A hosted tier is coming for teams — waitlist.)
An o200k token can carry up to ~17.6 bits of information, but typical code occupies tokens at only ~5–6 bits each. densely reclaims the difference:
text -> lzma -> 16-bit chunks -> 65,536 single-token English words
Each carrier word (" the", " of", …) costs exactly 1 token — the o200k pre-tokenizer never merges across word boundaries — so every token in the payload carries 2 bytes of compressed data (16 of the ~17.6 theoretically available bits, 91% of channel capacity).
Benchmarks
Reproduce with python3 bench.py (fixed seeds, stdlib code sample):
| Scenario | Backend | Tokens (o200k) | Ratio | Saved |
|---|---|---|---|---|
| Code (argparse.py + densely) | lzma | 21,659 → 10,726 | 2.02x | 50.5% |
| Code (same sample) | neural | 21,659 → 2,538 | 8.53x | 88.3% |
| Code never seen by the model | neural | 3,433 → 472 | 7.27x | 86.3% |
| JSON (code search, 100 hits) | lzma | 15,465 → 1,995 | 7.75x | 87.1% |
| Logs (SRE incident, ~1600 ln) | lzma | 117,766 → 16,962 | 6.94x | 85.6% |
The neural backend (--backend neural, python3 bench.py --neural) drives an integer arithmetic coder with next-token probabilities from Qwen2.5-Coder-0.5B, NNCP-style batched across segments. The 88.3% figure benefits from the model having seen Python's stdlib during training; the 86.3% row is this repo's own sources — code that did not exist before 2026-08-08 — and is the honest number for novel code (~0.56 bit/byte).
Measured on real-world data
Same pipeline pointed at data we didn't curate: this repo's own sources, an installed pip module, a slice of a real macOS /var/log/install.log, a real package-lock.json, and the live npm registry response for express. o200k counted locally with tiktoken; Claude counted via Anthropic's own count_tokens endpoint (Sonnet 5, request overhead calibrated out), using the claude1 alphabet. Every row round-tripped byte-exact.
| Data | Size | o200k raw → payload | Saved | Claude raw → payload | Saved |
|---|---|---|---|---|---|
| This repo's own code | 25 KB | 7,008 → 4,254 | 39.3% | 10,724 → 6,811 | 36.5% |
| Installed pip module (factory.py) | 32 KB | 6,332 → 3,956 | 37.5% | 10,625 → 6,334 | 40.4% |
| Real system log (install.log) | 195 KB | 65,684 → 4,204 | 93.6% | 104,328 → 6,732 | 93.5% |
| Real package-lock.json | 27 KB | 11,421 → 3,690 | 67.7% | 15,743 → 5,910 | 62.5% |
| Live npm registry JSON (express) | 195 KB | 76,167 → 12,293 | 83.9% | 113,444 → 19,672 | 82.7% |
For comparison, Headroom reports 15–20% savings for coding agents and 60–95% on JSON — achieved by *dropping* content from context, with originals kept in a local cache with a TTL. densely keeps the full data in the context itself, restorable byte-for-byte with no external storage and no expiry.
Lossless compression below the entropy of the data is mathematically impossible (Shannon; see also Fundamental Limits of Prompt Compression) — within that bound, densely sits near the practical ceiling for a deterministic, CPU-only method.
Usage
pip install "densely[mcp]"
extras: [neural] for the neural backend (torch + transformers)
densely compress big_context.txt -o payload.dense densely compress src.py -o payload.dense --backend neural densely decompress payload.dense -o restored.txt # byte-identical densely stats file1.py file2.json # token savings
Library:
from densely import compress, decompress
payload = compress(text) # ~2x-8x fewer tokens assert decompress(payload) == text # always true, sha256-checked
compress via the CLI self-verifies the round trip before writing output; decompress raises ValueError on any corruption or hash mismatch.
Use it in Claude Code / Cursor (MCP)
# Claude Code
claude mcp add --scope user densely -- "$(which densely-mcp)"
Cursor (~/.cursor/mcp.json) and other MCP clients
{"mcpServers": {"densely": {"command": "/absolute/path/to/densely-mcp"}}}
Three tools:
- compress_file(path) — agent calls this *instead of reading* a large log/JSON/dump: gets a preview + dense payload at 2x-8x fewer tokens.
- compress_text(text) — same for a big tool output already in hand.
- expand(payload | payload_file, start_line, end_line) — exact original back, sha256-verified; line ranges let the agent pay only for the slice it needs.
Every compression also writes a .dense sidecar file next to the original — a plain text file you can commit, ship, or archive; no cache, no TTL, nothing to expire. Small payloads are additionally returned inline. This matters for context compaction: a compaction summary replaces old conversation content, so an inline payload alone could be summarized away — but the sidecar on disk (and its path, which carries into summaries) cannot. If you use the Anthropic compaction API beta directly, add this to your instructions so payload references survive verbatim:
Preserve any densely payload references (paths ending in .dense, or
lines starting with DENSE1/DENSE2) verbatim in the summary. Do not
call any tools while writing this summary.
Automatic mode (hook)
Zero-effort savings: a PostToolUse hook compresses every large tool output (Bash output, Read of non-code files, >= 5,000 tokens) on the fly — the agent sees a preview + stats, exact content stays available via search/expand, and every replacement is recorded in a savings ledger (stats tool, or the running total shown in each replacement).
Add to ~/.claude/settings.json (absolute paths — hooks run outside your shell PATH):
{
"hooks": { "PostToolUse": [{ "matcher": "Read|Bash", "hooks": [{ "type": "command", "command": "/absolute/path/to/densely-hook", "timeout": 30 }] }] } }
(which densely-hook after install gives the absolute path — hooks run outside your shell PATH, so absolute paths only.)
Tune with DENSELY_HOOK_MIN_TOKENS (default 5000). Code files the agent is editing are never touched.
When it saves tokens (and when it doesn't)
Agent sessions resend the whole history to the API on every turn, so anything sitting in context is paid for again and again. What densely does to each kind of content:
| Content in context | Savings | Why |
|---|---|---|
| Code the agent is *actively editing* | none — don't compress it | the agent must read it; payloads are unreadable |
| Reference code (read once, kept "just in case") | 20–40% | exact copy stays cheap; expand a line range when needed |
| Tool outputs: logs, JSON, dumps | 78–87% | the agent never needed all 1,500 lines — preview + targeted expand covers it |
| Anything that must survive compaction | indirect | payloads pass through compaction verbatim; summaries don't |
Note on prompt caching: cached history is cheaper, but the context *window* stays the same size — densely primarily buys you room, then money.
vs. the field
The main players make different trade-offs (numbers from each project's own published benchmarks):
| densely | Headroom | claw-compactor | |
|---|---|---|---|
| Approach | entropy coding -> single-token carrier | lossy selection, model-readable output | 14 readable transform stages (2 lossy) |
| Exact recovery | always: sha256-verified, in-conversation | TTL cache, retrieval on demand | LRU "RewindStore", no verification documented |
| Logs | 85.6% | ~92% (lossy) | 24.1% |
| JSON | 87.1% (lossless) | 60–95% (lossy) | 81.9% (via lossy sampling) |
| Code (active use) | none — by design | 15–20% (AST skeletons) | 25% |
| Model reads output | no (search/expand tools) | yes | yes |
| Agent integrations | MCP + hook + skill (Claude Code, Cursor) | proxy + wrap + MCP | CLI only |
Different philosophies: *maximum savings with silent degradation* vs. *exactness or nothing*. Readable-lossy tools win on content the model must keep reading; densely wins when the data must never be wrong and must survive compaction, export, and machine moves. Use both.
The honest caveats
- The payload is not readable — by humans or by the model. It looks like a stream of random English words. Use it as a dense carrier for exact data (chat history, tool outputs, source files) alongside a readable summary; expand it with a tool call when exact content is needed.
- Savings depend on redundancy: highly repetitive data (JSON, logs) compresses 7x+, dense prose ~1.5–2x, already-compressed or random data ~0% (payload is never larger than a few header tokens worse than raw input — check
statsbefore shipping). - Density is per-tokenizer; reconstruction is always byte-exact. Two alphabets ship today:
o200k(65,536 words, exactly 16 bits/token on OpenAI o200k) andclaude1(1,024 words, exactly 10 bits/token on Claude Sonnet 5 / Opus 5 / Fable 5 — harvested empirically through the count_tokens API, since Anthropic's vocabulary isn't public). The MCP server and hook default toclaude1; the CLI defaults too200k(--alphabet/DENSELY_ALPHABETto override). Measured on a 172KB log with count_tokens on Sonnet 5: raw 93,117 tokens -> claude1 payload 25,904 (72.2% saved; the o200k alphabet managed only 47.8% there). Verify any alphabet against any target withpython3 tools/calibrate.py; harvest new ones withtools/build_alphabet.py. - When you don't need this (fair point from a redditor): if you control your agent harness end-to-end, you can build the same pattern yourself — zstd/lzma the big outputs into files, give the agent a search tool, keep payloads out of the model's input. densely is that architecture packaged (plus sha256 verification, line-level retrieval, and per-tokenizer carrier alphabets for the subset that must live *inside* the prompt — content that has to survive compaction verbatim or travel with an exported session). It earns its keep inside closed harnesses (Claude Code, Cursor), ephemeral sandboxes, and anywhere "reliable disk + grep" doesn't reach.
- Neural backend caveats: slow (~85 KB of code takes minutes on Apple Silicon vs milliseconds for lzma) and requires torch + a ~1 GB model download on first use. Reconstruction is bit-exact only when decompression runs the same model/software stack as compression — which is why
compress(backend="neural")verifies the full round trip before returning and silently falls back to lzma on any mismatch. The 100% guarantee never rests on the neural path.
Densely Pro (coming)
The library is MIT and stays free. We're building a managed tier for teams running agents in production:
- Cloud neural compression — 86% on code without a local GPU
- Managed proxy — savings with zero code changes
- Team dashboard — token savings per agent, per day, in dollars
- Cross-machine payloads — compress in CI, expand anywhere
[Join the waitlist →](https://densely.dev/#pro) (early access order + founding-user pricing, no rug pull — the library stays MIT)
Roadmap
- Cross-machine determinism for the neural backend (integer/fixed-point inference or a mismatch-tolerant coder), so payloads compressed on one machine decompress on another.
- La
Nur der Anfang wird gezeigt; den Rest findest du im Repo