Persistent cross-session memory for AI coding assistants. An MCP server that exposes memory tools for storing observations, searching context, and retrieving session history across coding sessions.
Total Recall provides a memory system with 11 tools covering session management, observation storage, search, and constraints. Tools have descriptions (all in Italian, which limits LLM compatibility) and basic parameter typing. However, critical gaps exist: NO visible input schemas in the source code provided, output schemas are not documented, error handling is absent, and descriptions lack the specificity and English language support needed for production LLM agents. The Italian descriptions are a barrier to adoption in English-primary AI assistants (Claude, GPT-4, etc.). Parameter descriptions exist but are sparse and lack format constraints. No tool annotations (readOnlyHint, destructiveHint) despite clear READ_ONLY and WRITE/DESTRUCTIVE semantic differences.
Registra un vincolo, assunzione o limitazione del progetto che deve essere ricordato in future sessioni.
Cancella tutte le osservazioni e i dati associati a un progetto.
Termina una sessione. Genera un sommario automatico e archivia la sessione. Ricevi il session_id da start_session().
Recupera il contesto recente per un progetto: osservazioni, sommari e prompt recenti.
Recupera i dettagli completi di osservazioni specifiche per ID. Da usare dopo "search" per ottenere il contenuto completo.
Elenca tutti i progetti per i quali Total Recall ha osservazioni memorizzate.
Recupera i vincoli registrati per un progetto.
All tool descriptions are in Italian, preventing native English-speaking LLMs (Claude, GPT-4, Gemini) from understanding tool purpose and selection. Descriptions must be in English for production use with mainstream AI assistants.
No input schemas visible in provided source code. Critical tool definitions must include complete JSON Schema for all parameters with explicit type, required fields, and constraints. Cannot verify schema quality without seeing the actual type definitions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
Cerca in Total Recall. Restituisce osservazioni e sommari che corrispondono alla query. Usa questo tool per trovare contesto dalle sessioni precedenti.
Avvia una nuova sessione. Restituisce session_id da usare per tracciare il lavoro fino a session_end().
Memorizza un'osservazione (memoria episodica): azione, ricerca, scoperta, vincolo, decisione, etc. Viene automaticamente indicizzata per ricerca semantica e keyword.
Mostra il contesto cronologico attorno a una specifica osservazione. Utile per capire cosa è successo prima e dopo un evento.
No output schemas documented. LLMs cannot plan downstream tool calls or understand what fields to extract from responses. Must document return type and all fields for each tool.
No tool annotations for semantic safety. Tools marked DESTRUCTIVE (delete_project) and WRITE (store_observation, start_session, end_session, add_constraint) lack readOnlyHint/destructiveHint/idempotentHint annotations. LLMs cannot assess risk or idempotency without this metadata.
No error handling guidance. Tools provide no recovery hints or error classification. E.g., if search fails or a session_id is invalid, the LLM has no direction on what to do next.
Parameter descriptions lack format and constraint details. E.g., 'limit' parameter in search/get_context has no min/max bounds. 'type' parameter in store_observation and search lists allowed values in description text rather than as enum constraint. LLMs cannot parse prose constraints reliably.
No pagination guidance for list tools. 'search' and 'get_context' both accept 'limit' but no offset/cursor mechanism or total count documented. Large result sets risk context window overflow.
Vague parameter names without type hints. E.g., 'type' in store_observation and search is ambiguous, description clarifies but LLMs rely on param names for quick intent parsing. 'observation_type' would be clearer.
No confirmation step for destructive operation (delete_project). An agent error could permanently delete a project's memory. Should support dry-run or require explicit confirmation.
Session lifecycle depends on agent calling both start_session and end_session. No automatic cleanup or timeout guidance if agent crashes mid-session. LLM could leave orphaned sessions.