Kairo — a persistent engineering memory and session-continuity control layer for AI coding agents, exposed over the Model Context Protocol.
Kairo MCP provides 12 well-named tools with clear, domain-specific descriptions (avg 156 chars). All tools have explicit input schemas with typed parameters and enums. However, output schemas are not documented in the source code, responses are inferred from implementation. Error handling is minimal; tools return success/failure without recovery guidance. Parameter descriptions are present but often terse (avg 45 chars). No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in the tool list. Missing idempotency guarantees and confirmation patterns for destructive operations (checkpoint, end_session, compact, import_snapshot).
Freeze a sanitized, resumable checkpoint and generate the next-agent continuation brief.
Trigger memory compaction to summarize and consolidate the event log.
Generate a self-contained capsule (context snapshot) for handoff to another agent or system.
End the current session and optionally create a final checkpoint.
Export a durable, portable snapshot of the current session and memory state.
Cheap pulse. Pass `reread` with a file path if you re-read a file you had already seen — repeated re-reads are the strongest context-loss signal.
Import a previously exported snapshot to restore session and memory state.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Returns the pressure directive', 'Returns the continuation brief') but no structured schema is visible in source code. LLMs cannot plan downstream tool calls or extract specific fields without knowing response structure.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk classifications in tool list. kairo_record, kairo_checkpoint, kairo_end_session, kairo_compact, and kairo_import_snapshot are WRITE operations but lack destructiveHint annotation. Agents cannot distinguish safe from risky calls without reading descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Log an event to Kairo memory: file/decision/command/error/error-resolved/retry/note/completed/pending/blocker, plus "compaction" (report when your context was summarized/compacted) and "clarification" (you had to re-ask the user) — both are strong context-loss signals. Returns the pressure directive.
Run the performance benchmark suite and generate a report.
Search the semantic memory index for relevant prior context.
Begin a Kairo session. Returns the continuation brief from prior work so you can resume WITHOUT rescanning the repository. Call this before any other Kairo tool. Storage location is fixed by KAIRO_PROJECT_ROOT (or cwd) at server launch; projectRoot here is recorded for the brief.
Current session ledger summary, pressure score, and directive.
Destructive operations lack confirmation or dry-run patterns. kairo_end_session, kairo_checkpoint (reason='session-end'), kairo_compact, and kairo_import_snapshot are irreversible but have no confirmation step. Agents can accidentally destroy session state without user approval.
Error handling not visible in source. No recovery guidance, error classification, or actionable error messages documented. Tools return success/failure but LLMs have no guidance on retry, user input, or next steps on failure.
Parameter descriptions are terse (avg 45 chars). Many lack format/constraint details. E.g., 'path' in kairo_export_snapshot has no guidance on absolute vs relative, file extension, or overwrite behavior. 'mode' in kairo_create_capsule lists no valid values.