Local-first AI memory archive. Import chat history, generate semantic embeddings, and search via MCP. Exposes tools for semantic search, recent messages, context retrieval, and thought capture across chat platforms.
MyChatArchive provides 5 tools with good naming discipline (verb-first: get_, search_, capture_) and detailed parameter descriptions. However, output schemas are not documented in the provided source code, and error handling guidance is minimal. Tool descriptions are well-written (110-280 chars, within baseline p10=34, p90=392), and all parameters have type definitions and descriptions. The server uses FastMCP, a modern framework, but the implementation does not expose structured output schemas, making it harder for LLMs to plan downstream calls. Security is well-designed (sensitivity scoping, private content filtering), but schema documentation is the main gap preventing a higher score.
Capture a new thought, insight, or fact into the archive for future retrieval.
Given a topic, return a comprehensive context bundle. Gathers related conversations, captured thoughts, and thread summaries to provide full context about a subject from your chat history.
Return the current date and time (UTC). Use this when you need to know today's date, the current time, or temporal context for interpreting archived messages.
Semantic search across all chat history by meaning. Finds messages most similar to the query using vector embeddings. Returns relevant messages with metadata (thread, timestamp, role).
Retrieve recent conversations and captured thoughts by time range.
Output schemas not documented. Tool descriptions explain inputs but do not specify what fields the response contains. LLMs cannot reliably extract results or plan downstream calls without knowing the response structure (e.g., does search_brain return 'messages', 'results', 'chunks'? What fields are in each item?).
Error handling lacks recovery guidance. Code returns JSON with 'error' key (e.g., invalid 'since' format) but does not suggest corrective actions. LLMs receive an error but have no guidance on what to try next or whether the error is retryable.
Result limiting not enforced or documented in descriptions. search_brain defaults limit=10, but descriptions do not warn that large limits could exhaust context. No explicit statement about pagination or result capping strategy.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 22 | - | v1 |
No idempotency guarantees documented. capture_thought writes to the archive but does not expose an idempotency key or documented retry behavior. If an agent retries due to network failure, duplicate thoughts may be created.