Inspect Claude Code local transcripts, reminders, and hook-visible lifecycle data. Expose neo's read surface to Claude Code as tools via MCP.
Neo exposes 15 read-only tools with consistent naming (verb_noun pattern: query_*, list_*, search_*, analyze_*, correlate_*) and reasonable descriptions (avg ~100 chars). All tools have input schemas with type definitions and parameter descriptions. However, output schemas are entirely undocumented, LLMs cannot predict response structure for chaining. Parameter descriptions lack constraints (e.g., 'limit' ranges stated but no enum for 'include_self' boolean semantics). Error handling is absent from visible code. Tools are well-composed (single responsibility) but lack pagination metadata (total_count, next_cursor) despite accepting limit/offset. No tool annotations (readOnlyHint present conceptually but not declared in schema).
Analyze hook events for state transitions and anomalies
Correlate hook events with session/agent activity in a timeline
Get token accounting summary from local transcripts
List all registered neo-mcp processes and their roles
Query agents (transcripts) from the database with optional filters
Query hook events from the event log with optional self-filter
Query memory files from the database
Query messages from a specific agent transcript
Output schemas completely undocumented. LLMs cannot predict response structure (fields, types, nesting) for any tool, breaking tool chaining and forcing exploratory calls.
Pagination tools (query_* with limit/offset) lack total_count or next_cursor in documented output. LLMs cannot determine if more results exist or how to fetch them efficiently.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Query system reminders from the database
Query sessions from the database with optional project filter
Query tasks from the database with optional filters
Query telemetry events from the database
Full-text search across reminders, messages, and memory files
Get setup status including live-process registry and version skew flags
Get summary of all data tables with optional self-filter for hook_events
No error handling guidance in tool descriptions. Errors (e.g., invalid agent_id, database unavailable) lack recovery hints. LLMs cannot self-correct or know whether to retry.
Tool annotations missing. No readOnlyHint declared in schemas despite all tools being read-only. Agents cannot infer safety without explicit hints.
Parameter 'include_self' (boolean) lacks semantic description. What does true/false mean? Current description only states 'default false' without explaining the filtering behavior.