mcp-memory-libsql
A high-performance, persistent memory system for the Model ContextProtocol (MCP) powered by libSQL. This server provides vector searchcapabilities and efficient knowledge storage using libSQL as thebacking store.
Features
- ๐ High-performance vector search using libSQL
- ๐พ Persistent storage of entities and relations
- ๐ Semantic search capabilities
- ๐ 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 inWSL, seeGetting 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 databasesthrough 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 Linuxfilesystem format (e.g., /home/username/...
) rather than Windowsformat.
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 withadditional vector search capabilities:
- Entity Management
- Create/Update entities with embeddings
- Delete entities
- Search entities by similarity
- 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 and embeddings
- Relations table: Stores relationships between entities
- Vector search capabilities implemented using libSQL's built-invector operations
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 guidelinesbefore submitting pull requests.
License
MIT License - see the LICENSE file for details.
Acknowledgments
- Built on theModel Context Protocol
- Powered by libSQL