Que fait agent-memory-mcp ?
Un système de mémoire hybride qui offre une gestion persistante et consultable des connaissances pour les agents IA (Architecture, Motifs, Décisions).
Aperçu
Ce système fournit une mémoire à long terme pour les agents IA, leur permettant de stocker et de retrouver des informations cruciales sur l'architecture du projet, les motifs de conception, et les décisions techniques. Il utilise un stockage vectoriel pour la recherche sémantique et un graphe de connaissances pour les relations structurées.
Usage
Ajoutez ce serveur à votre configuration MCP (claude_desktop_config.json ou directement via l'agent) :
{
"mcpServers": {
"agent-memory-mcp": {
"command": "npx",
"args": ["-y", "@sickn33/agent-memory-mcp"]
}
}
}
Détails de l'outil
Ce serveur expose plusieurs outils MCP :
| Outil | Description |
|---|---|
memorize | Enregistre un nouveau fait dans la mémoire (texte, tags, métadonnées). |
recall | Recherche des faits en mémoire à l'aide de requêtes sémantiques. |
forget | Supprime un fait spécifique de la mémoire. |
list | Liste tous les faits en mémoire avec pagination. |
update | Met à jour un fait existant. |
Référence de l'API
Memorize
Ajoute un nouveau point de connaissance.
Paramètres :
content(string, obligatoire) : Le contenu textuel du fait.tags(string[], optionnel) : Tags pour catégoriser.context(string, optionnel) : Contexte supplémentaire (ex. nom de fichier, nom de session).
Recall
Recherche des faits correspondant à une requête.
Paramètres :
query(string, obligatoire) : Chaîne de recherche sémantique.limit(int, optionnel) : Nombre de résultats max (défaut : 10).
Stockage
Les données sont stockées localement dans un répertoire de base de données (par défaut ~/.agent-memory). Les variables d'environnement suivantes peuvent être utilisées :
MEMORY_DB_PATH: Chemin personnalisé pour le stockage de la base de données.MEMORY_EMBEDDING_MODEL: Modèle d'intégration à utiliser (par défauttext-embedding-ada-002).
Exemples
# Enregistrer une décision d'architecture
memorize(
content="Nous avons choisi PostgreSQL pour la base de données principale en raison de sa fiabilité et de son support ACID.",
tags=["décision", "base de données", "PostgreSQL"],
context="architecture/backend.md"
)
# Retrouver une décision ultérieurement
results = recall(query="Choix de base de données pour le backend", limit=5)
for result in results:
print(f"{result.content} (tags: {result.tags})")
Contribution
Les contributions sont les bienvenues ! Veuillez consulter le dépôt GitHub pour plus d'informations.