Serveur de mémoire MCP open-source avec graphe de connaissances et fonctionnalités d'apprentissage

Un serveur MCP open-source nommé cuba-memorys fournit une mémoire persistente pour les agents IA, allant au-delà des simples bases RAG ou vectorielles. Écrit en Rust avec un backend PostgreSQL + pgvector, il implémente une architecture de graphe de connaissances avec des capacités d'apprentissage.
Architecture et fonctionnalités
Le système stocke des entités, des observations et des relations typées plutôt que des documents plats. Les fonctionnalités clés incluent :
- Décroissance exponentielle — Les souvenirs s'estompent de manière réaliste en utilisant importance = importance * exp(-0,693 * jours/demi-vie) avec une demi-vie de 30 jours
- Métaplasticité hebbienne + BCM — Règle d'Oja avec seuil glissant EMA ; les souvenirs se renforcent avec l'accès et s'auto-normalisent via BCM
- Fusion RRF à 4 signaux (k=60) — Combine ts_rank + trigrammes + pgvector HNSW + importance avec une pondération routée par entropie pour détecter les requêtes dominées par des mots-clés vs sémantiques
- Détection de communautés Leiden — Algorithme de Traag et al. 2019 pour découvrir des clusters dans le graphe de connaissances
- PageRank personnalisé — Classe l'importance des entités basée sur la topologie du graphe
- Vérification anti-hallucination — Triangule les affirmations par rapport aux connaissances stockées avec un système de confiance gradué
- Mémoire d'erreur avec détection de motifs — Déclenche des avertissements lorsque ≥3 erreurs similaires se produisent
Benchmarks de performance
L'implémentation en Rust montre des améliorations significatives par rapport à la version Python originale :
- Taille binaire : ~50 Mo venv (Python) vs 7,6 Mo (Rust)
- Création d'entité : ~2 ms (Python) vs 498 μs (Rust)
- Recherche hybride : <5 ms (Python) vs 2,52 ms (Rust)
- Utilisation mémoire : ~120 Mo (Python) vs ~15 Mo (Rust)
- Dépendances : 12 packages (Python) vs 0 à l'exécution (Rust)
Détails d'implémentation
Le serveur fournit 13 outils MCP et fonctionne avec tout client compatible MCP, y compris Claude Code, Cursor et Windsurf. Il est auto-hébergé avec un backend PostgreSQL et ne fait aucun appel API externe. Tous les algorithmes sont basés sur des articles évalués par des pairs avec des citations dans le README.
Options d'installation :
pip install cuba-memorys
ou
npm install -g cuba-memorys
Le projet est disponible sous licence CC BY-NC 4.0 sur GitHub.
📖 Read the full source: r/LocalLLaMA
👀 See Also

Flue : un framework TypeScript pour construire des agents de codage autonomes
Flue est un framework TypeScript qui fournit un harnais programmable pour construire des agents autonomes, avec des compétences, des sessions, une exécution shell en bac à sable et un bac à sable virtuel intégré. Il peut remplacer des outils comme Dosu, Greptile, CodeRabbit, Devin et Claude Code par une logique d'agent personnalisée.

100 applications populaires rétro-conçues en spécifications de conception Markdown pour le clonage de l'interface Claude
Un dépôt open source fournit des spécifications de conception structurées en Markdown pour 100 applications iOS populaires, optimisées pour que Claude clone les interfaces de manière cohérente. Techniques clés : valeurs de couleur exactes, couverture des états, échelles d'espacement et graphes de navigation.

Anchormd : Un outil pour gérer le contexte entre les sessions de Claude AI
Anchormd est un outil open-source qui résout la perte de contexte dans les sessions de Claude AI en indexant des plans markdown organisés dans un graphe de connaissances consultable. Il permet aux agents de charger des aperçus de projet au début de chaque session et d'interroger des détails spécifiques selon les besoins.

audio-analyzer-rs : Un serveur MCP pour l'analyse audio avec Claude
Un développeur a créé audio-analyzer-rs, un serveur MCP en Rust qui donne à Claude un accès direct à l'analyse de fichiers audio, incluant les mesures spectrales, harmoniques, rythmiques, de volume LUFS (EBU R128) et de plage dynamique. L'outil est efficace en tokens, Claude commençant à basse résolution et zoomant sur de petits segments si nécessaire.