densely — MCP-сервер для Claude Code: сжатие контекста без потерь
Упаковывает большие логи, JSON и дампы в 2–8 раз меньше токенов. Разворачивает обратно байт в байт, с проверкой sha256.
claude mcp add densely -- uvx denselyЧто делает densely
densely берёт текст, прогоняет его через lzma и режет на 16-битные куски, которые раскладывает по английским словам-носителям. Каждое такое слово стоит ровно один токен, поэтому в полезной нагрузке помещается два байта сжатых данных. Есть и нейронный режим: целочисленный арифметический кодер берёт вероятности следующего токена у Qwen2.5-Coder-0.5B.
Агенту доступны три инструмента. compress_file(path) вызывается вместо чтения крупного лога или JSON и отдаёт превью вместе с плотной нагрузкой. compress_text(text) делает то же самое с уже полученным выводом инструмента. expand(payload | payload_file, start_line, end_line) возвращает исходник, сверяя хеш; диапазон строк нужен, чтобы платить только за нужный кусок. Рядом с оригиналом остаётся sidecar-файл .dense — обычный текст, который можно закоммитить или отправить в архив.
Ставится через pip install "densely[mcp]", нейронный бэкенд требует extras [neural] с torch и transformers. Для автоматического режима есть хук PostToolUse: он сжимает вывод Bash и чтение не-кода от 5000 токенов, порог меняется переменной DENSELY_HOOK_MIN_TOKENS. В ~/.claude/settings.json путь к densely-hook указывайте абсолютный, потому что хуки выполняются вне вашего PATH. Файлы кода, которые агент редактирует, хук не трогает.
Какие задачи решает
- уложить большой лог в контекст без потери строк
- вернуть исходный JSON из сжатой нагрузки байт в байт
- достать из payload только нужный диапазон строк
- сжимать вывод Bash автоматически, не вызывая инструмент вручную
- посчитать, сколько токенов сэкономила сессия
Примеры запросов агенту
- Сожми
install.logи покажи превью, читать его целиком не надо - Разверни из
payload.denseстроки с 200 по 260 - Сколько токенов мы сэкономили за сессию?
Как установить densely
Командой платформы
claude mcp add densely -- uvx denselyuvx запускает команду с именем пакета; если в README она другая — uvx --from densely <команда>
Командой платформы
codex mcp add densely -- uvx denselyuvx запускает команду с именем пакета; если в README она другая — uvx --from densely <команда>
Файл настроек
{
"mcpServers": {
"densely": {
"command": "uvx",
"args": [
"densely"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from densely <команда>
Файл настроек
{
"servers": {
"densely": {
"type": "stdio",
"command": "uvx",
"args": [
"densely"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from densely <команда>
Командой платформы
gemini mcp add densely uvx denselyuvx запускает команду с именем пакета; если в README она другая — uvx --from densely <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о densely
Как установить densely в Claude Code?
Выполните claude mcp add densely -- uvx densely. Для работы самого сжатия нужен пакет: pip install "densely[mcp]".
Что делает densely?
Сжимает текст в 2–8 раз меньше токенов и восстанавливает его без потерь, сверяя sha256 при каждом разворачивании. Внутри MCP-сервера три инструмента: сжатие файла, сжатие текста и expand.
Чем это отличается от сжатия с потерей контекста?
Данные остаются в самом контексте и разворачиваются байт в байт, без внешнего кеша и срока жизни. Ниже энтропии данных сжатие невозможно, поэтому выигрыш упирается в этот предел.