Claude session analytics — ingest JSONL → SQLite JSONB, MCP stdio query interface
claude-vault has 6 tools with significant definition gaps. Tool names lack clear action verbs (sessions_ingest, sessions_query, sessions_stats, sessions_report, sessions_tag, sessions_filter use prefix pattern but lack verb clarity). Descriptions exist but are brief (avg ~120 chars) and lack LLM-optimized guidance on WHEN to use each tool vs alternatives. Parameter descriptions are sparse: sessions_query has 'sql' and 'limit' described, but sessions_stats has only optional 'project' and 'since' with minimal context. No output schemas documented anywhere. Error handling is absent, no guidance on what happens on SQL errors, permission failures, or invalid filters. No tool annotations (readOnlyHint/destructiveHint) despite clear READ vs WRITE semantics.
Liste les sessions par tag, avec filtre include/exclude. Utile pour isoler les sessions pertinentes NLnet.
Scanne les fichiers JSONL Claude Code et ingère les nouveaux events dans sessions.db. Incrémental via watermark.
Exécute un SELECT SQL sur session_events. Lecture seule.
Rapport Markdown structuré des sessions. mode=full (défaut) : verbatim complet. mode=summary : rapport agrégé ~2-5k chars (missions, interventions humaines, bugs, métriques). Le mode summary nécessite CLAUDE_VAULT_CONTEXT_DB pour ATTACH vault.db.
Agrégations pré-cuites : tokens, coût estimé, durée, nombre de sessions par projet.
Tague les sessions par namespace (déduit des paths tool_use). Retourne le nombre de sessions taguées.
Two tools (sessions_ingest, sessions_tag) have empty input schemas ({}).
Tool names lack clear action verbs. 'sessions_ingest' should be 'ingest_sessions'; 'sessions_query' should be 'query_sessions'. Verb-first naming (get_, create_, update_, delete_, search_, list_) helps LLMs parse intent from the name alone.
No output schemas documented. LLMs cannot plan downstream calls or extract fields without knowing what each tool returns. sessions_query returns SQL results but structure is undocumented; sessions_stats returns aggregations but field names are unknown.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint/destructiveHint). sessions_ingest and sessions_tag are WRITE operations; others are READ_ONLY. Annotations enable agents to reason about side effects and plan safely.
No error handling guidance. sessions_query accepts arbitrary SQL, what happens on syntax errors, permission failures, or timeouts? No recovery hints for LLMs.