Local-first retrieval tool for AI conversation archives and arbitrary text corpora. Part of the Resonant ecosystem.
Two tools with complete schemas and solid descriptions. archive_search has well-structured input schema (query required, namespace/n_results optional with constraints) and clear use-case guidance. archive_stats is minimal but functional. Both descriptions exceed 100 chars and explain when/why to use them. However, output schemas are not documented, LLMs cannot predict response structure. No error handling guidance. No tool annotations (readOnlyHint). Parameter descriptions are good but could be more prescriptive about format/constraints.
Search a local archive of conversations, notes, or any text corpus using semantic similarity. Results include provenance metadata (namespace, source file, timestamp, conversation_id, title, provider) so you can ground responses in the origin of each match. Use this when asked about past conversations, when verifying continuity across time, for pattern recognition across history, or when the current context is missing information that may exist in the archive.
Get statistics about the indexed archive: total chunks, per-namespace breakdown, embedding model in use, and data directory. Useful for confirming the archive is available and seeing what corpora are indexed.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting). archive_search returns {results[], query, namespace, total} and archive_stats returns {total_chunks, namespaces{}, model, data_dir}, but these are invisible to the client.
No error handling guidance. If daemon is unreachable, embedding fails, or query is malformed, the LLM receives a raw exception. Should return actionable errors: 'Daemon not running at http://localhost:8766. Start with: resonant-archive serve' or 'Query too short (min 3 chars).'
No tool annotations. Both tools are read-only and idempotent, but lack readOnlyHint and idempotentHint. Agents cannot infer safety properties and may over-retry or assume side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
archive_search parameter 'query' lacks format guidance. Should specify: 'Conceptual description (3-500 chars). Semantic search finds meaning, not exact keywords. E.g., "discussions about project roadmap" not "roadmap".'
archive_stats has empty inputSchema properties but no explicit note that it takes no parameters. LLMs may attempt to pass arguments. Should clarify: 'This tool takes no parameters.'