loom-memory
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOOM_MEMORY_DEVICE | No | Périphérique torch. cpu coupe le fp16. | cuda |
| LOOM_MEMORY_DATA_DIR | No | Répertoire des données : Qdrant embarqué, meta.json, export, jeu doré. | data/ |
| LOOM_MEMORY_MIN_SCORE | No | Score reranker minimal d'un résultat. | 0.1 |
| LOOM_MEMORY_QDRANT_URL | No | URL d'un serveur Qdrant. Vide : mode embarqué dans DATA_DIR/qdrant. | |
| LOOM_MEMORY_DENSE_MODEL | No | Modèle d'embedding. En changer impose un reindex. | BAAI/bge-m3 |
| LOOM_MEMORY_FAKE_MODELS | No | Modèles factices, pour les tests ou une démo sans GPU. | false |
| LOOM_MEMORY_ALLOWED_ROOTS | No | Racines lisibles par add_file, séparées par :. Vide : add_file refusé. | |
| LOOM_MEMORY_DENY_PATTERNS | No | Motifs refusés en plus de la liste de base, séparés par :. | |
| LOOM_MEMORY_SNIPPET_CHARS | No | Longueur de l'extrait au delà. | 300 |
| LOOM_MEMORY_PREFETCH_LIMIT | No | Candidats par branche (dense, sparse) avant fusion. | 15 |
| LOOM_MEMORY_QDRANT_API_KEY | No | Clé d'API si le serveur en exige une. | |
| LOOM_MEMORY_RERANKER_MODEL | No | Cross-encoder de reranking. | BAAI/bge-reranker-v2-m3 |
| LOOM_MEMORY_CHUNK_MAX_CHARS | No | Taille maximale d'une section avant retaille. | 2400 |
| LOOM_MEMORY_CHUNK_MIN_CHARS | No | En dessous, une section est fusionnée avec la précédente. | 200 |
| LOOM_MEMORY_FETCH_TIMEOUT_S | No | Délai de téléchargement pour add_url. | 20 |
| LOOM_MEMORY_WARMUP_ON_START | No | Préchargement des modèles au démarrage du serveur. | true |
| LOOM_MEMORY_FULL_CHUNK_CHARS | No | En dessous, search renvoie le chunk entier. | 1000 |
| LOOM_MEMORY_RERANK_CANDIDATES | No | Candidats passés au reranker. | 20 |
| LOOM_MEMORY_CHUNK_TARGET_CHARS | No | Taille visée d'un chunk. | 1800 |
| LOOM_MEMORY_MAX_CHUNKS_PER_DOC | No | Chunks d'un même document dans les résultats. | 2 |
| LOOM_MEMORY_CHUNK_OVERLAP_CHARS | No | Chevauchement entre chunks consécutifs d'une même section. | 180 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Recherche hybride (dense + sparse, reranking) dans la mémoire de Denis. À appeler avant
de répondre sur ses projets, décisions ou notes. Renvoie des extraits courts avec doc_id,
titre, projet et score ; utilise |
| getA | Texte intégral d'un document de la mémoire, avec ses métadonnées. |
| list_docsB | Derniers documents ajoutés, du plus récent au plus ancien (métadonnées, sans texte). |
| projectsA | Projets présents dans la mémoire et nombre de documents pour chacun. Utile pour choisir
le filtre |
| add_textA | Ajoute un texte brut à la mémoire de Denis. N'appeler QUE si Denis le demande explicitement dans son message courant ; jamais de ta propre initiative. |
| add_urlA | Télécharge une page web, en extrait le contenu principal et l'ajoute à la mémoire. Le titre est celui de la page. N'appeler QUE si Denis le demande explicitement dans son message courant ; jamais de ta propre initiative. |
| add_fileA | Ajoute un fichier markdown local à la mémoire, découpé par titres. Le titre est le premier H1, sinon le nom du fichier. N'appeler QUE si Denis le demande explicitement dans son message courant ; jamais de ta propre initiative. |
| updateA | Remplace le texte d'un document existant (même doc_id, titre, projet et tags conservés ; chunks réindexés). N'appeler QUE si Denis le demande explicitement dans son message courant ; jamais de ta propre initiative. |
| deleteA | Supprime définitivement un document et ses chunks. Renvoie le résumé de ce qui a été supprimé. N'appeler QUE si Denis le demande explicitement dans son message courant ; jamais de ta propre initiative. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct operation: get (single doc read), search (hybrid retrieval), list_docs (recent listing), projects (aggregate counts), update (replace text), delete (remove), and three add variants differentiated by source (raw text, URL, local file). The add_* trio could superficially overlap but their input types are clearly separated, so an agent won't misselect.
The set mixes bare verbs (get, delete, search, update) with verb_noun forms (list_docs, add_text, add_url, add_file) and a bare noun (projects). It's readable and snake_case throughout, but there's no single predictable convention, with 'projects' being the most notable outlier.
Nine tools is well-scoped for a personal memory store covering read, search, list, aggregate, create-by-source, update, and delete. Each tool earns its place with no redundant members.
Full lifecycle is covered: creation (add_text/add_url/add_file), reading (get), retrieval (search), browsing (list_docs, projects), update (update), and removal (delete). No obvious dead ends for a memory system of this scope.