distill_batchLABSCO SUMMARY
The compression step happens before the expensive model sees the output, not after.
Three delivery modes share the same use cases and validation, so the choice is about your agent, not about capability — the skill file needs no protocol integration at all. distill_watch is the one worth knowing about: it returns the delta between two snapshots rather than both snapshots.
What it is
A Go tool with four operations, offered as a skill file, a CLI and an MCP server over stdio. It compresses command output against an explicit question, diffs two snapshots, distills raw payloads, and finds relevant repository code.
What you get
- distill_batch — full command output compressed down to answer one explicit question
- distill_watch — two consecutive snapshots compared, returning only the relevant delta
- distill_mcp_output — raw payloads distilled, or another tool called and its result distilled in one step
- search_code — relevant repository code located and returned as compact matches
- The same four operations reachable as a CLI subcommand or through a skill file, not only over MCP
- Provider configuration for Ollama or any OpenAI-compatible endpoint, with an interactive setup screen
Requirements
Go 1.26 or later to build, or a prebuilt binary from the releases installer. Runs as an MCP server over stdio. You configure an LLM provider first — Ollama or an OpenAI-compatible endpoint — through the setup UI or a config file.
Setup effort
One command — curl -fsSL https://raw.githubusercontent.com/jcastilloa/context-distill/master/scripts/install.sh | sh
USE CASES
Answering one question about a huge log
Pass the output and the question; what comes back is the answer, not the log.
Watching what changed between two runs
Give it the before and after snapshots and get only the relevant delta.
Trimming another tool's response
Call the tool through it, and have the raw payload distilled on the way back.
Getting only the code the next step needs
Locate the relevant repository code and get compact matches instead of whole files.
4 tools
Listed in project docs. Your client may show a different list.
distill_mcp_outputdistill_watchsearch_codeBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation. The README's MCP tool reference details three of the four; distill_mcp_output is covered in its operations table and CLI reference instead.
Requires
Make (recommended)
Where it runs
All 4 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
Build from source
git clone https://github.com/jcastilloa/context-distill
cd context-distill
make build
make installChoose your LLM provider once (Ollama needs no key; openai, openrouter and jan need that provider's key); it is saved to ~/.config/context-distill/config.yaml:
~/.local/bin/context-distill --config-uiOr run the install script
curl -fsSL https://raw.githubusercontent.com/jcastilloa/context-distill/master/scripts/install.sh | shMCP Clients
Claude Desktop, Cursor
{
"mcpServers": {
"context-distill": {
"command": "<YOUR_PATH_TO_CONTEXT_DISTILL>",
"args": [
"--transport",
"stdio"
]
}
}
}<YOUR_PATH_TO_CONTEXT_DISTILL> is the full path of the installed binary: both install routes put it at ~/.local/bin/context-distill, written out with your home directory (for example /home/you/.local/bin/context-distill), because the client does not expand ~. Run context-distill --config-ui once before first use to choose the LLM provider, whichever route you installed with; the server does not answer until one is set.
Codex
codex mcp add context-distill -- <YOUR_PATH_TO_CONTEXT_DISTILL> --transport stdio<YOUR_PATH_TO_CONTEXT_DISTILL> is the full path of the installed binary: both install routes put it at ~/.local/bin/context-distill, written out with your home directory (for example /home/you/.local/bin/context-distill), because the client does not expand ~. Run context-distill --config-ui once before first use to choose the LLM provider, whichever route you installed with; the server does not answer until one is set.
OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"context-distill": {
"type": "local",
"command": [
"<YOUR_PATH_TO_CONTEXT_DISTILL>",
"--transport",
"stdio"
],
"enabled": true
}
}
}<YOUR_PATH_TO_CONTEXT_DISTILL> is the full path of the installed binary: both install routes put it at ~/.local/bin/context-distill, written out with your home directory (for example /home/you/.local/bin/context-distill), because the client does not expand ~. Run context-distill --config-ui once before first use to choose the LLM provider, whichever route you installed with; the server does not answer until one is set.