Serveur MCP memory-libsql
Commit 11 nov. 2026Stocke des entités, des relations et des observations persistantes dans une base de données libSQL locale ou distante, et permet à un client IA de les rechercher par pertinence.
Aussi connu sous spences10/mcp-memory-libsql
- Étoiles
- 87
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 11 nov. 2026
- Licence
- MIT
Qu'est-ce que memory-libsql MCP ?
memory-libsql est un serveur MCP. Stocke des entités, des relations et des observations persistantes dans une base de données libSQL locale ou distante, et permet à un client IA de les rechercher par pertinence.
Résumé généré à partir du README du projet
À propos du MCP server memory-libsql
Maintenir un graphe de connaissances composé d'entités, de relations et d'observations accessible à un client IA d'une session à l'autre est la mission de mcp-memory-libsql. Il implémente l'interface mémoire standard de MCP sur une base de données libSQL, stockant les entités avec leurs observations et les relations qui les lient, tout en permettant au client de rechercher ces données par texte avec un classement par pertinence. Les résultats sont classés selon la nature de la correspondance, le nom ayant un poids supérieur au type et aux observations, et la recherche floue est prise en charge. Le projet se définit comme étant optimisé pour le contexte afin de maximiser l'efficacité des LLM.
Il s'exécute en tant que processus local lancé via une configuration MCP, par exemple avec npx et le package mcp-memory-libsql. L'emplacement de la base de données est défini par la variable d'environnement LIBSQL_URL, qui peut pointer vers un chemin de fichier local ou vers une base de données libSQL distante telle que Turso ; les bases de données distantes nécessitent également un LIBSQL_AUTH_TOKEN pour l'authentification par jeton. Si aucune URL n'est configurée, il utilise par défaut file:/memory-tool.db dans le répertoire courant. Des exemples de configuration sont fournis pour Cline et Claude Desktop fonctionnant sous WSL, où le chemin doit utiliser le format de système de fichiers Linux.
Via l'interface mémoire, un client peut créer ou mettre à jour des entités avec des observations, supprimer des entités, effectuer des recherches textuelles, explorer les relations entre entités, créer et supprimer des relations, et interroger les entités liées. Les données sont conservées dans des tables d'entités, d'observations et de relations avec des horodatages.
Ce que vous pouvez faire avec
- 1Se rappeler des décisions de projets antérieursDemandez à l'assistant de rechercher des entités stockées pour récupérer des observations enregistrées sur un projet lors d'une session précédente.
- 2Stocker et lier des conceptsDemandez au client d'enregistrer une nouvelle entité avec des observations et de la connecter à des entités existantes via des relations.
- 3Tracer un graphe de relationsInterrogez le client pour obtenir les entités liées à une entité donnée afin de comprendre comment les concepts stockés sont connectés.
- 4Trouver des entrées par correspondance floueRecherchez un élément mémorisé par un nom approximatif et appuyez-vous sur des résultats classés par pertinence lorsque l'orthographe exacte est incertaine.
- 5Partager la mémoire entre plusieurs machinesPointez le serveur vers une base de données libSQL distante avec un jeton d'authentification pour que plusieurs configurations accèdent au même magasin de mémoire.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Configuration
LIBSQL_AUTH_TOKENLIBSQL_URL
| Nom | Description | Type |
|---|---|---|
| LIBSQL_AUTH_TOKEN | — | |
| LIBSQL_URL | — |
Vérifications automatisées
Exécuté le 13 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessiblespences10/mcp-memory-libsql is public and reachablegithub.com/spences10/mcp-memory-libsql ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-11-11github.com/spences10/mcp-memory-libsql ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur GitHubmcp-memory-libsql
A high-performance, persistent memory system for the Model Context Protocol (MCP) powered by libSQL with optimized text search for LLM context efficiency.
Features
- 🚀 High-performance text search with relevance ranking
- 💾 Persistent storage of entities and relations
- 🔍 Flexible text search with fuzzy matching
- 🎯 Context-optimized for LLM efficiency
- 🔄 Knowledge graph management
- 🌐 Compatible with local and remote libSQL databases
- 🔒 Secure token-based authentication for remote databases
Configuration
This server is designed to be used as part of an MCP configuration. Here are examples for different environments:
Cline Configuration
Add this to your Cline MCP settings:
{
"mcpServers": {
"mcp-memory-libsql": {
"command": "npx",
"args": ["-y", "mcp-memory-libsql"],
"env": {
"LIBSQL_URL": "file:/path/to/your/database.db"
}
}
}
}
Claude Desktop with WSL Configuration
For a detailed guide on setting up this server with Claude Desktop in WSL, see Getting MCP Server Working with Claude Desktop in WSL.
Add this to your Claude Desktop configuration for WSL environments:
{
"mcpServers": {
"mcp-memory-libsql": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"source ~/.nvm/nvm.sh && LIBSQL_URL=file:/path/to/database.db /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-memory-libsql"
]
}
}
}
Database Configuration
The server supports both local SQLite and remote libSQL databases through the LIBSQL_URL environment variable:
For local SQLite databases:
{
"env": {
"LIBSQL_URL": "file:/path/to/database.db"
}
}
For remote libSQL databases (e.g., Turso):
{
"env": {
"LIBSQL_URL": "libsql://your-database.turso.io",
"LIBSQL_AUTH_TOKEN": "your-auth-token"
}
}
Note: When using WSL, ensure the database path uses the Linux
filesystem format (e.g., /home/username/...) rather than Windows
format.
By default, if no URL is provided, it will use file:/memory-tool.db
in the current directory.
API
The server implements the standard MCP memory interface with optimized text search:
- Entity Management
- Create/Update entities with observations
- Delete entities
- Search entities by text with relevance ranking
- Explore entity relationships
- Relation Management
- Create relations between entities
- Delete relations
- Query related entities
Architecture
The server uses a libSQL database with the following schema:
- Entities table: Stores entity information with timestamps
- Observations table: Stores entity observations
- Relations table: Stores relationships between entities
- Text search with relevance ranking (name > type > observation)
Development
Publishing
Due to npm 2FA requirements, publishing needs to be done manually:
- Create a changeset (documents your changes):
pnpm changeset
- Version the package (updates version and CHANGELOG):
pnpm changeset version
- Publish to npm (will prompt for 2FA code):
pnpm release
Contributing
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
License
MIT License - see the LICENSE file for details.
Acknowledgments
- Built on the Model Context Protocol
- Powered by libSQL
Questions sur memory-libsql MCP
Où mcp-memory-libsql stocke-t-il ses données ?
Il stocke les données dans une base de données libSQL, qui peut être un fichier SQLite local ou une base de données libSQL/Turso distante. Par défaut, il utilise file:/memory-tool.db dans le répertoire courant.
Comment me connecter à une base de données Turso distante ?
Configurez LIBSQL_URL avec votre URL libsql:// et fournissez votre jeton d'authentification via LIBSQL_AUTH_TOKEN.
Quelle variable d'environnement configure l'URL de la base de données ?
La variable d'environnement LIBSQL_URL définit l'emplacement de la base de données pour les bases libSQL locales ou distantes.
Quelles opérations le serveur supporte-t-il sur les entités et les relations ?
Il peut créer, mettre à jour, supprimer et rechercher des entités, gérer des observations, ainsi que créer, supprimer ou interroger des relations entre les entités.
Comment la recherche textuelle classe-t-elle les résultats ?
Les résultats de recherche sont classés par pertinence, le nom de l'entité étant prioritaire sur le type et les observations, avec une prise en charge de la recherche floue (fuzzy matching).