systems log compression for agents
$curl -fsSL https://codag.ai/install.sh | sh
Free forever.
{
"service": "api",
"window": "14:22:11 to 15:22:11",
"compression": 8021,
"evidence": [
{
"role": "root_cause",
"line": 412847,
"text": "psycopg2.OperationalError"
},
{
"role": "trigger",
"line": 412831,
"text": "pool acquire 480ms"
},
{
"role": "consequence",
"line": 412854,
"text": "pool exhausted, queue=18"
}
// + 4 more, all cited
],
"routine_summary": { "total_lines": 1085399, "template_count": 15 }
}
the problem
for individuals
Every read burns tokens and context. The window fills with routine noise before your agent reaches the answer.
for platform & infra
Millions of lines a day, more than any agent can hold. Most of it never fits the window at all.
the capsule
Codag returns schema-valid JSON. Every line it keeps points to a real line number, tagged by its role in the incident. Nothing summarized away, nothing invented.
Every claim references a real line number. No invented evidence.
root_cause, trigger, consequence. Your agent gets causality, not a flat dump.
Strict JSON your agent and tools parse every time.
for coding agents
Set up once, then wrap any log fetch your agent already makes.
claude code
codag setup installs the hook and the MCP server. Claude reads logs through Codag from then on.
Same Claude. Same answers. Fraction of the token bill.
$ codag setup detected Claude Code registered MCP server: codag claude tail_kubernetes returns compact incident capsule
codex
Point Codex at the Codag MCP server. Same prompts, compressed logs.
Sign in once. No agent config files to edit.
$ codag mcp serve tools: tail_aws_logs, tail_vercel, wrap codex wrap docker logs api raw logs stay out of the prompt
any source
Drop-in over HTTPS. Point Codag at any log stream you already run, and your agent gets one compact capsule back.
Drop-in over HTTPS. Wired into Claude Code and Codex in one command.
$curl -fsSL https://codag.ai/install.sh | sh
Free forever.