Search and recall across every Claude Code session. Exposes tools backed by FTS5 index, TEMPORAL edge graph, and semantic embeddings for session search, similarity matching, and narrative thread recall.
Four tools with complete input schemas and descriptions. Naming follows verb_noun pattern (search_, recall_, recent_, index_). Descriptions are detailed (194 - 280 chars, within baseline 34 - 392 range) and explain WHAT, WHEN, and RETURN. However, output schemas are entirely undocumented, LLMs cannot predict response structure. Parameters lack type constraints (enums, ranges); descriptions state 'optional' but no defaults documented. Error handling is minimal: search_sessions returns plain text on FTS syntax error, but no guidance on recovery. No tool annotations (readOnlyHint, idempotentHint). Composition is sound: each tool has one responsibility, and search/recall/recent form a coherent chain.
Quick health check of the index. Use this to verify the DB is fresh.
Replay a session's turns. Accepts full id or unique prefix.
List the N most recent sessions across Claude Code and claude.ai chat.
Full-text search across Claude Code sessions AND claude.ai chat conversations. Uses SQLite FTS5. Supports AND/OR/NOT, quoted phrases, prefix* matching. Hyphenated or numeric tokens MUST be double-quoted (e.g. '"gold-402"').
Output schemas completely undocumented. search_sessions returns plain-text formatted results; recall_session returns header + turns; recent_sessions returns plain-text list. LLMs cannot predict structure or extract fields for downstream chaining.
Parameters lack type constraints. 'source' accepts 'code' or 'chat' but no enum declared. 'limit' and 'n' are unbounded integers, no min/max specified. LLMs may pass invalid values (negative limits, source='invalid').
Error handling lacks recovery guidance. search_sessions returns 'FTS5 syntax error: {e}' with a hint about double-quotes, but no actionable next step. recall_session returns 'No session matching: {session_id}' with no suggestion to call search_sessions or recent_sessions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
No tool annotations. All four tools are read-only (risk: READ_ONLY declared in metadata), but readOnlyHint is not set in tool definitions. Agents cannot infer safety without explicit annotation.
index_stats has empty input schema and minimal description ('Quick health check of the index. Use this to verify the DB is fresh.'). Description is 67 chars (below baseline 194 avg) and lacks context on when to call it or what 'fresh' means.