jarvix-memory
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
JARVIX Memory
Système de mémoire cognitive persistante, multi-couches, pour agents IA — avec boucle fermée de vérification, expérimentation et apprentissage. 100% local (SQLite, pas de cloud), interface Python + MCP (87 outils) + web UI.
Le projet est distribuable sans rien éditer à la main : aucun chemin codé en dur, aucune donnée personnelle. La configuration se fait par config.json (local) et variables d'environnement.
Architecture
AGENT (opencode, MCP)
│
MEMORY ROUTER
│
┌────┬────┬────┬──────┼────┬─────┬────────┐
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
episodic semantic procedural decision graph + 8 autres couches
│
ADMISSION → JUGEMENT (JEV) → RECHERCHE (hybride/value-coût)
│
Runtime (P2.9) ← Calibration ← Observation ← Perception
│
AUTOVERIFIER (preuves fichier/git/commande/mesure)
↓
EXPERIMENT (hypothèses, do_not_repeat)
↓
RECOVERY · STRATEGY · PROACTIVE · CONSOLIDATION13 couches mémoire : episodic, semantic, procedural, decision, graph, verification/evidence, hypothesis, experiment, recovery, world, cost, strategy, environment + consolidation.
3 cerveaux séparés :
Mémoire — conserve l'expérience et les connaissances (traceable, vérifiable)
LLM (optionnel) — génère, explique, résume
JEV — juge rapidement via des primitives typées (Choice/Score/Gate), sans texte, seuils dans le code
Related MCP server: madb-mcp-server
Démarrage rapide
# Installation (Python >= 3.10)
pip install -e .
# Pour la recherche vectorielle + l'UI
pip install -e ".[vector,ui]"
pytest tests/ # 29 tests unitaires → OKCLI
python memoire.py add "<contenu>" --type semantic --source "<src>"
python memoire.py search "<termes>" # AND implicite, fallback OR
python memoire.py stats | list | get <id>
python memoire.py decision "<quoi>" "<pourquoi>"
python memoire.py episodic "<action>" "<resultat>"Interface web
python -m jarvix_memory.ui.app # http://127.0.0.1:5000
# recherche hybride, chat RAG, couches, fichiers, llama.cpp, device adb, bilan, autopush GitHubServeur MCP (pour agents type opencode)
{ "mcpServers": { "jarvix-memory": {
"command": "python", "args": ["mcp_server.py"], "cwd": "<chemin-du-programme>"
}}}87 MCP tools organisés en 20 familles : core (5), episodic (2), semantic (2), graph (2), decision (2), procedural (2), verification (3), action (6), strategy (5), learning (3), recovery (5), proactive (5), world model (7), consolidation (1), CRUD (3), bilan (1), vector (3), embeddings (2), LLM reasoning (4), verify_auto (11), env/experiment (10), P1 cost/strategy/monitor (5), P2 perception/quant/jev (8), autopilot git (1).
Exécumentos clés :
Famille | Outils | Ce qu'ils font |
Vérification auto |
| Préuves déterministes zero-LLM : file_exists, file_contains, git_diff, command, measurement → verified/rejected |
Environment |
| Snapshot OS/python/git, fingerprint, diff — résultats attachés à leur environnement |
Expérience |
| hypothèse → expériences → confirmé/réfuté ; piste déjà réfutée → |
Cost-aware |
| Recherche classée par valeur/coût (tokens attendus, utility), budget à injecter |
Recovery |
| Échec → diagnostic → hypothèse changée obligatoirement → retry |
Proactive |
| Interruption silencieuse par défaut : n'alerte que sur une piste réfutée en cours de re-test |
JEV |
| Primitives typées : choix de route, gate destructive (ALLOW/REVIEW/BLOCK), score pondéré, choix d'option |
Perception |
| Log/PDF/image → signaux (SIGSEGV, OOM, thermal, tok/s…) + signature sha256 → observation épisodique |
Autopilot |
| Export du souvenir groupé par |
Apprendre sans fine-tuning
# Déclarer une hypothèse testable, l'expérimenter, la réfuter — le système n'oublie jamais
hyp = router.experiment.propose_hypothesis("mmap causes the reboot")
router.experiment.run_experiment(hyp["id"], "test-A", "no effect", success=False, env_id=env["env_id"])
router.experiment.conclude(hyp["id"], "refuted") # do_not_repeat activé
# Avant un re-test : JARVIX bloque les pistes déjà réfutées
router.experiment.repeat_guard("mmap causes the reboot") # → {"blocked": true, ...}Configuration (aucun chemin hardcodé)
Tout est dérivé de l'environnement :
jarvix_memory.db: DB SQLite locale, créée à côté du paquet au premier appel ; migrée automatiquement (versionningschema_version, actuellement v4).Variables d'environnement (optionnelles) :
JARVIX_PROJECT_ROOT— racine du projet à scanner dans les bilans (défaut : cwd)JARVIX_REPORTS_DIR— où écrire les rapports (défaut :reports/dans le paquet)JARVIX_LLAMA_URL— URL llama.cpp (défauthttp://127.0.0.1:8080)
config.json(créé à la première sauvegarde, tenu privé : dans.gitignore) :{ "llama_exe": "/chemin/vers/llama-server.exe", "gguf_dirs": ["/mes/modeles"], "llama_port": 8080 }config.example.jsondonne le template committé, sans data perso.
Tests
pytest tests/test_core.py -q # 29 tests unitaires
python test_all_tools.py # 87/87 MCP tools vérifiés end-to-endGit autopilot
autopush(project_id="X") exporte les souvenirs du projet vers docs/memoire_<project>.md, commit et pousse vers origin main. La base SQLite elle-même ne quitte jamais la machine — uniquement le markdown exporté.
Ce que le projet fait / ne fait pas
Fait : mémoire persistante par couches, preuves et provenance, vérification déterministe, mémoire négative (hypothèses réfutées + garde), reconnaissance d'environnement, sélection de stratégie selon coût, prompts sélectifs, JEV de jugement, perception log/fichiers, autopush git per-project.
Ne fait pas : LLM (il en fournit la mémoire), agent autonome, recherche web, garant de vérité, base vectorielle seule, fine-tuning de modèle, substitution au système de fichiers.
Structure
src/jarvix_memory/core/— database, models, migration (v4), environment, cost, autopilotsrc/jarvix_memory/{episodic,semantic,procedural,decision,graph}/— couches mémoiressrc/jarvix_memory/{verification,experiment}/— claims → preuve → verdict ; hypothèses → expériencessrc/jarvix_memory/{action,strategy,learning,recovery,proactive,world,multimodal,consolidation}/src/jarvix_memory/llm/— raisonnement RAG optionnel (llama.cpp/OpenAI-compat)src/jarvix_memory/ui/— dashboard Flaskmcp_server.py,memoire.py(CLI),bilan.py(rapport autonome)docs/— exports autopush ;.gitignoreprotègeconfig.json, DB, logs
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Shared long-term memory vault for AI agents with 20 MCP tools.
Related MCP Servers
- AlicenseBqualityFmaintenancePersistent memory, teams, and projects for AI agents. 76 MCP tools for storing, recalling, and sharing knowledge across sessions with 4-strategy hybrid search.33230 npm1MIT
- FlicenseNot gradedqualityDmaintenanceProvides persistent, causal memory for AI agents with semantic recall, causal tracking, and importance-based forgetting through MCP tools.-
- FlicenseAqualityBmaintenanceShared fleet memory for AI agents — what one agent learns, the whole fleet knows. Nightly self-correction: stale facts rewritten in place, duplicates merged. Recall pushed into every prompt in supported coding agents. Self-hosted.113-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to persist, retrieve, and share source-linked memory across sessions via MCP tools, backed by PostgreSQL with project/session management, decision tracking, keyword search, and cross-host context handoff.Apache 2.0