Meilleur serveur MCP de mémoire pour Claude Code en 2027 : 5 choix comparés
Claude Code repart de zéro à chaque session, et un serveur MCP de mémoire règle ce problème. Ce comparatif classe cinq options, d’un serveur officiel en une ligne à un graphe temporel, avec les commandes d’installation, les compromis et les erreurs qui gaspillent le contexte.
Chaque session de Claude Code commence sans aucun souvenir. Vous avez passé une heure hier à expliquer pourquoi le service de facturation relance avec des tokens d’idempotence, et aujourd’hui Claude vous pose à nouveau la même question. Un serveur MCP de mémoire règle ce problème en donnant à Claude un endroit où noter des faits et les retrouver plus tard.
En bref : Basic Memory est le meilleur serveur MCP de mémoire pour Claude Code pour la plupart des développeurs, le serveur Memory officiel est le moyen le plus rapide d’essayer l’idée, et Mem0, Graphiti et claude-mem sont les plus indiqués dans des cas plus précis. Ce comparatif s’appuie sur la documentation et les dépôts de chaque projet, vérifiés en octobre 2026, et détaille les compromis pour que vous puissiez choisir sans installer les cinq.
💡 Comment ce classement a été établi : Il repose sur un comportement documenté (format de stockage, outils, étapes d’installation, licence), et non sur une série de tests de performance. Vérifiez la version actuelle de chaque projet avant de généraliser l’un d’eux à toute une équipe.
Pourquoi Claude Code oublie tout
Chaque session de Claude Code commence avec une fenêtre de contexte neuve. Tout ce que Claude a compris hier, l’architecture, la configuration de test particulière, votre habitude de faire de petits commits, a disparu, à moins qu’un mécanisme ne le transporte d’une session à l’autre. Ce n’est pas un bug. C’est le fonctionnement d’une fenêtre de contexte, et la solution doit se trouver en dehors du modèle.
Ce que la mémoire intégrée fait déjà
Claude Code propose deux mécanismes. Les fichiers CLAUDE.md contiennent les instructions que vous rédigez : commandes de build, règles de nommage, notes d’architecture. La mémoire automatique contient les notes que Claude rédige lui-même à partir de vos corrections et de vos préférences. Les deux sont chargés au début de chaque conversation, et la mémoire automatique ne charge que ses 200 premières lignes ou 25 Ko.
La documentation d’Anthropic précise que Claude traite les deux comme du contexte, et non comme une configuration imposée. Si une règle ne doit jamais être enfreinte, un hook PreToolUse est le bon outil, pas un CLAUDE.md plus long.
Là où la mémoire intégrée atteint ses limites
Pour un petit projet, la mémoire intégrée suffit. Elle commence à poser problème quand le travail grandit :
Rien n’est consultable. Claude lit les lignes chargées depuis le haut. Il ne peut pas interroger une décision prise il y a trois semaines.
La limite de taille gêne. Tout ce qui dépasse les 200 premières lignes ou les 25 Ko de la mémoire automatique n’est pas chargé au démarrage de la session.
La portée est limitée au dépôt. Les faits qui vous concernent, ou qui concernent trois services liés, demandent des fichiers supplémentaires et une discipline supplémentaire.
Les relations sont invisibles. « Le service de paiement appelle le service de registre » est une phrase, et non un lien que Claude peut suivre.
Un serveur MCP de mémoire ajoute des outils que Claude peut appeler en cours de session pour stocker, rechercher et mettre à jour des faits. Ce seul changement transforme la mémoire, d’un fichier qu’on charge, en base de données qu’on interroge.
Ce qui fait un bon serveur de mémoire
Le nombre d’étoiles et les annonces de lancement ne vous disent pas si un serveur sera encore utile en mars. Trois critères pratiques le font.
Un stockage que vous pouvez inspecter
Tôt ou tard, Claude enregistre quelque chose de faux. Si la mémoire est stockée en Markdown, en JSONL ou en SQLite, vous ouvrez le fichier et corrigez la ligne. Si elle se trouve derrière une API que vous ne pouvez pas parcourir, vous êtes limité aux outils de suppression que le serveur expose.
Une recherche qui consomme peu de tokens
Claude Code affiche un avertissement lorsqu’un outil MCP renvoie plus de 10 000 tokens, et il plafonne la sortie à 25 000 par défaut, une limite que vous pouvez relever avec MAX_MCP_OUTPUT_TOKENS. Un serveur qui déverse tout son graphe à chaque appel consomme vite le contexte. Privilégiez les serveurs dotés d’outils de recherche qui renvoient des extraits plutôt que le magasin entier.
La charge d’installation et de maintenance
Docker, une base de données de graphe, des identifiants pour un fournisseur de LLM, un worker en arrière-plan : chacun de ces éléments peut tomber en panne un mardi. Le meilleur serveur de mémoire est celui que vous faites encore tourner dans six mois, donc pesez la maintenance autant que les fonctionnalités.
Critère
Pourquoi c’est important
Ce qu’il faut rechercher
Format de stockage
Vous serez amené à corriger des faits erronés
Markdown, JSONL ou SQLite que vous pouvez ouvrir
Recherche
Chaque appel consomme des tokens
Outils de recherche qui renvoient des extraits
Effort d’installation
Temps avant la première mémoire utile
Une seule commande vaut mieux que Docker plus une base de données
Emplacement des données
Confidentialité des détails du projet
Disque local ou compte hébergé, choisi en connaissance de cause
Licence
Politique de l’entreprise et partage
À lire, surtout pour les projets sous AGPL
Les 5 meilleures options, classées
Basic Memory : du Markdown que vous possédez
Basic Memory stocke ce que Claude enregistre sous forme de fichiers Markdown simples sur votre disque. Chaque note contient des observations (des faits accompagnés d’étiquettes de catégorie) et des relations (des liens de type wiki vers d’autres notes), et l’ensemble forme un graphe que Claude peut parcourir. Comme les notes sont des fichiers ordinaires, n’importe quel éditeur de texte peut les ouvrir, et un dépôt Git suit chaque modification.
Les principaux outils sont write_note, read_note, edit_note, search_notes et build_context, ce dernier suivant les liens memory:// sortants depuis une note pour rassembler le contexte associé.
claude mcp add basic-memory -- uvx basic-memory mcp
Le README du projet mentionne aussi bm install claude-code, qui enregistre un plugin via la marketplace de Claude Code.
Points forts : stockage lisible par un humain, diffs et relectures faciles, compatible avec n’importe quel client MCP.
Compromis : licence AGPL-3.0, que certaines entreprises restreignent, et il nécessite un outillage Python (uvx).
Verdict : le meilleur choix global, car vous pouvez toujours voir et corriger ce que Claude croit.
Serveur Memory officiel : zéro configuration
@modelcontextprotocol/server-memory provient du projet Model Context Protocol lui-même. Il tient à jour un graphe de connaissances local composé d’entités, de relations et d’observations, et expose neuf outils : create_entities, create_relations, add_observations, delete_entities, delete_observations, delete_relations, read_graph, search_nodes et open_nodes.
L’installation tient en une ligne, avec une habitude à ajouter. Pointez MEMORY_FILE_PATH vers un fichier distinct pour chaque projet, sinon tous les projets écrivent dans le même graphe.
Son README le décrit comme une implémentation basique de la mémoire persistante, et c’est juste. Utilisez search_nodes et open_nodes pour les recherches, car read_graph renvoie tout le graphe et coûte de plus en plus cher à mesure qu’il grandit.
Points forts : aucun compte à créer, rien à héberger, un fichier que vous pouvez lire.
Compromis : outillage minimal, et la structure dépend de la qualité avec laquelle Claude nomme les entités.
Verdict : la meilleure première expérience, et un stockage tout à fait correct à long terme pour les petits projets.
Mem0 : hébergé et sans gestion
Mem0 exploite un serveur MCP hébergé à https://mcp.mem0.ai/mcp. La première fois que votre agent appelle l’un de ses outils, le client ouvre une fenêtre de navigateur et vous demande d’autoriser votre compte Mem0. Il n’y a ni Docker, ni base de données, ni fichier local à gérer.
Le serveur expose onze opérations, dont add_memory, search_memories, get_memories, update_memory et delete_memory, ainsi que des outils d’entités et d’événements pour les utilisateurs, les agents et les exécutions.
claude mcp add --transport http mem0 https://mcp.mem0.ai/mcp
La documentation de Mem0 montre aussi une commande npx mcp-add en une ligne pour Claude Code, si vous la préférez.
Points forts : aucune infrastructure, une mémoire qui vous suit d’une machine à l’autre, recherche sémantique.
Compromis : les informations du projet sont hébergées chez un tiers, donc vérifiez les conditions avant d’enregistrer quoi que ce soit sous accord de confidentialité.
Option auto-hébergée : un projet communautaire nommé mem0-mcp-selfhosted fonctionne avec Qdrant, Neo4j et Ollama. Mem0 ne le maintient pas, donc lisez son dépôt avant de vous y fier.
Graphiti : une mémoire qui suit le temps
Graphiti, développé par Zep, construit des graphes de connaissances qui tiennent compte du temps. Les faits portent une date, si bien que « nous utilisions Postgres » et « nous sommes passés à Cloud SQL en mars » peuvent coexister sans que l’un écrase l’autre. C’est important lorsque l’historique de votre projet regorge de décisions remplacées par la suite.
Son serveur MCP nécessite Python 3.10 ou une version plus récente, ainsi que Docker. Il utilise par défaut FalkorDB dans un seul conteneur, et Neo4j 5.26 ou plus récent est recommandé en production. Il fait aussi appel à un LLM pour extraire les entités de ce que vous enregistrez : OpenAI est le choix par défaut, et Anthropic, Gemini, Groq, Azure OpenAI et Ollama sont pris en charge.
Le serveur écoute sur http://localhost:8000/mcp/ et propose des outils tels que add_memory, search_nodes, search_memory_facts et get_episodes.
docker compose up
claude mcp add --transport http graphiti-memory http://localhost:8000/mcp/
Points forts : répond à la question « qu’était-il vrai à ce moment-là ? », gère les faits qui changent, passe à l’échelle des historiques volumineux.
Compromis : la configuration la plus lourde de cette liste, et chaque épisode enregistré consomme des appels LLM.
Verdict : cela vaut le coup pour les décisions d’architecture, les contrats et les paramètres clients qui évoluent dans le temps. Excessif pour un projet annexe.
claude-mem : capture automatique
claude-mem est un plugin plutôt qu’un simple serveur MCP, et c’est là son atout. Des hooks de cycle de vie (SessionStart, UserPromptSubmit, PostToolUse, Stop et SessionEnd) observent ce que fait Claude. Un worker local compresse ces observations dans SQLite avec une recherche plein texte, et un magasin vectoriel Chroma ajoute la recherche sémantique. Le contexte pertinent est injecté au démarrage de la session suivante, si bien que Claude n’a jamais à décider de se souvenir. Des outils de recherche (search, timeline et get_observations) sont exposés via MCP pour les recherches plus approfondies.
Points forts : aucun changement d’habitude, une visionneuse web locale, licence Apache 2.0, et des balises <private> pour exclure les contenus sensibles.
Compromis : la compression s’exécute en arrière-plan, et le README ne précise pas quel modèle la réalise, donc surveillez votre consommation. La capture automatique enregistre aussi davantage que ce que vous choisiriez manuellement.
Verdict : le bon choix si vous oubliez sans cesse de demander à Claude de se souvenir.
Comparatif côte à côte
Voici comment les cinq options se comparent sur les critères qui comptent au quotidien.
Option
Stockage
Effort d’installation
Emplacement des données
Idéal pour
Basic Memory
Fichiers Markdown
Une commande avec uvx
Disque local
La plupart des développeurs
Serveur Memory officiel
Graphe JSONL
Une commande npx
Disque local
Un premier essai rapide
Mem0 hébergé
Cloud Mem0
URL et connexion par navigateur
Compte Mem0
Configurations sans infrastructure
Graphiti MCP
Graphe FalkorDB ou Neo4j
Docker plus identifiants LLM
Votre machine ou serveur
Des faits qui changent dans le temps
claude-mem
SQLite plus Chroma
Installation de plugin
Disque local
La capture automatique
Quelle option convient à votre situation :
Vous voulez une mémoire que vous pouvez lire et modifier : Basic Memory.
Vous voulez tester l’idée en une minute : le serveur Memory officiel.
Vous ne voulez rien faire tourner : Mem0 hébergé.
Vos faits changent et l’historique compte : Graphiti.
Vous oubliez de demander à Claude de se souvenir : claude-mem.
💡 Associez-les avec précaution : Mem0 et Graphiti exposent tous deux un outil add_memory. Si vous faites tourner ces deux serveurs ensemble, Claude doit deviner où ranger chaque fait. Choisissez un magasin principal et gardez CLAUDE.md pour les règles.
Comment installer chacun d’eux
Claude Code ajoute les serveurs avec claude mcp add. Pour les serveurs stdio, le double tiret (--) sépare les options de Claude de la commande du serveur, et tout ce qui suit est transmis tel quel. Trois portées déterminent l’endroit où un serveur se charge :
Portée
Chargée dans
Partagée avec l’équipe
Stockée dans
Locale (par défaut)
Projet courant uniquement
Non
~/.claude.json
Projet
Projet courant uniquement
Oui, via le gestionnaire de versions
.mcp.json
Utilisateur
Tous vos projets
Non
~/.claude.json
Utilisez la portée utilisateur pour les préférences personnelles que vous voulez partout. Utilisez la portée projet pour les conventions que toute l’équipe doit rappeler, et tenez les identifiants à l’écart d’un .mcp.json versionné.
Serveurs stdio : Basic et officiel
Ajoutez --scope user à l’une ou l’autre commande si vous voulez que le serveur soit disponible dans chaque projet.
# Basic Memory, available in every project
claude mcp add --scope user basic-memory -- uvx basic-memory mcp
# Official Memory server, one file per project
claude mcp add --env MEMORY_FILE_PATH=/home/you/shop/memory.jsonl --transport stdio memory -- npx -y @modelcontextprotocol/server-memory
Serveurs HTTP : Mem0 et Graphiti
Les serveurs HTTP utilisent --transport http et une URL. Mem0 vous demande de vous connecter via le navigateur lors de la première utilisation. Graphiti exige que son conteneur soit en marche avant que Claude ne se connecte.
# Mem0 hosted
claude mcp add --transport http mem0 https://mcp.mem0.ai/mcp
# Graphiti on localhost
claude mcp add --transport http graphiti-memory http://localhost:8000/mcp/
La voie du plugin : claude-mem
Lancez les deux commandes /plugin de la section claude-mem depuis une session. Après toute installation, exécutez claude mcp list ou tapez /mcp dans une session pour vérifier que le serveur est bien connecté. Si un serveur apparaît comme en échec, lancez sa commande à la main dans un terminal. Une installation manquante de uvx, de npx ou de Docker est une cause fréquente.
Les erreurs qui gaspillent votre contexte
Tout enregistrer. La mémoire sert aux décisions, aux conventions et aux pièges, pas aux transcriptions. Un graphe rempli de notes « tests lancés » rend les vrais faits plus difficiles à trouver et chaque recherche plus coûteuse.
Partager une seule mémoire entre plusieurs projets. Le serveur officiel écrit dans un fichier unique, sauf si MEMORY_FILE_PATH indique le contraire, si bien que les faits de la boutique fuient dans la session du blog.
Oublier l’instruction. Un serveur n’est utile que si Claude l’appelle. Sans règle dans CLAUDE.md, Claude risque de ne jamais effectuer de recherche.
Enregistrer des secrets. Les tokens, les mots de passe et les données clients n’ont pas leur place dans la mémoire. Les fichiers locaux sont lisibles par tout ce qui tourne sur la machine, et la mémoire hébergée quitte entièrement la machine.
Faire aveuglément confiance à la mémoire. Une note enregistre ce qui était vrai au moment de son écriture. Demandez à Claude de vérifier un chemin de fichier ou un indicateur mémorisé avant d’agir sur cette base.
Une configuration qui fonctionne en pratique
Superposer les outils
Donnez à chaque couche un rôle précis :
CLAUDE.md contient les règles courtes et les commandes que vous lancez chaque jour.
Un serveur MCP de mémoire contient les faits qui s’accumulent avec le temps : décisions, pièges, responsables de chaque domaine.
Les hooks imposent ce qui ne doit jamais être sauté, car la mémoire est du contexte et non une contrainte appliquée.
Ajoutez quelques lignes dans CLAUDE.md pour que Claude utilise réellement le serveur :
## Memory
- At the start of a task, search memory for the project name and the files involved.
- After a decision, store it with the reason and today's date.
- Never store credentials, tokens or customer data.
Relire une fois par semaine
Ouvrez le magasin, supprimez les notes erronées et fusionnez les doublons. Avec Basic Memory, cela revient à un éditeur de texte et à un diff Git. Avec un fichier JSONL, c’est une recherche et une modification soignée. Commencez avec un seul serveur, et n’en ajoutez un second que lorsque vous pouvez nommer la lacune que le premier laisse.
Essayez PicassoIA pour vos propres visuels
Les serveurs de mémoire font de Claude un meilleur coéquipier. PicassoIA s’occupe des visuels qui accompagnent votre travail : en-têtes d’articles, photos de produits, images de documentation et courts clips, tous générés à partir d’un prompt texte.
PicassoIA héberge aussi la famille Claude pour le chat et la relecture de code. Essayez Claude Sonnet 5 pour les tâches de programmation, Claude Fable 5 pour le travail de code complexe, ou Claude Opus 4.7 lorsque vous voulez un raisonnement long, le tout directement depuis le navigateur.
Si vous développez avec des agents, PicassoIA expose la génération d’images et de vidéos via une API de type Replicate à api.picassoia.com/v1, ainsi que via une connexion MCP. Les modèles disponibles sont PicassoIA Image, PicassoIA Image Editor Pro, PicassoIA Video et Seedance 2.5 Lite, avec jusqu’à cinq prédictions exécutées simultanément par compte. Consultez la page de l’API pour connaître les exigences actuelles de votre forfait avant de l’intégrer.
Prêt à créer vos propres images ? Ouvrez la bibliothèque de modèles PicassoIA, choisissez un modèle et générez votre première image dès aujourd’hui. Rédigez un prompt, modifiez un détail, puis comparez les résultats. C’est la même habitude qui fait la valeur d’un serveur de mémoire : de petites étapes répétables qui s’additionnent.