Multi-agent session reader (Claude, Codex, OpenCode, Antigravity, Pi) with MCP server exposing tools for session inspection, file edits, tool calls, and cross-agent analysis
15 tools with complete input schemas and descriptions, but quality varies significantly. Most tools have adequate naming (verb-first) and descriptions (50-200 chars), but parameter descriptions are often generic or missing detail. Output schemas are undocumented, LLMs cannot infer what fields to expect. Error handling is absent; no recovery guidance. All tools are READ_ONLY, reducing risk but also limiting composition patterns. Tool names are clear (list_sessions, find_tool_calls, search_sessions) but descriptions lack actionable context about when to use each vs. similar tools.
Generic rollup over query rows (reproduces session_stats / file_frequency by group_by + metrics)
Token-lean, budgeted session digest for auditors (user turns verbatim + plans + tool/file footprint + tokens)
Runtime identity (session + agent) from env/fs
Stitch edit rows into a per-file unified diff (reproduces session_diff)
Find file edits across sessions
Find arbitrary tool calls across sessions
On-demand body for an event/plan id (shallow for final-plan-only, drafts elided)
Output schemas undocumented. No tool declares what fields it returns, forcing LLMs to guess structure and plan downstream calls blindly. E.g., find_tool_calls returns tool call records but field names/types are invisible.
Parameter descriptions lack actionable constraints. E.g., 'limit' params have no min/max bounds; 'agent' enums are listed inline but not formally constrained; 'sort' in search_sessions mentions 'bm25' or 'semantic' but no guidance on when to use each.
No error handling or recovery guidance. Tools have no documented error cases, failure modes, or what to do if a session UUID is not found, a query returns no results, or a parse fails. LLMs cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Enumerate sessions, optionally filtered by agent
Find a session across all agents by uuid / id-prefix / title substring (where it lives + the ready-to-run read command)
Normalized plan atoms for a session (final vs drafts, grouped by task; per-agent plan signals normalized away)
Filter/search the unified session event stream (user/assistant turns + normalized tool calls) by facets, including the relative_to+direction+n neighbouring-turn walk
Load a single session by uuid (agent optional: omitted → the id is resolved across every parser; a rare cross-agent id collision returns a candidate list, not an error)
Case-insensitive search across title and/or message bodies with AND/OR/NOT operators and Google-style negative prefixes
Reconstruct what a session changed, without git
Group and rank sessions by agent/dir/date/kind
Tool descriptions lack context for selection. 'query' and 'find_tool_calls' both search events; 'session_diff' and 'diff' appear to do the same thing; 'aggregate' and 'session_stats' both group/rank. LLMs cannot distinguish when to use each.
Pagination not documented. Tools like list_sessions and find_tool_calls accept 'limit' but no 'offset', 'cursor', or 'page' parameter. No indication of whether results are truncated or how to fetch the next batch.