MCP ExplorerExplorer

Mcp Memory Libsql

@joleylineon a year ago
6 MIT
FreeCommunity
AI Systems
🧠 High-performance persistent memory system for Model Context Protocol (MCP) powered by libSQL. Features vector search, semantic knowledge storage, and efficient relationship management - perfect for AI agents and knowledge graph applications.

Overview

What is Mcp Memory Libsql

mcp-memory-libsql is a high-performance persistent memory system designed for the Model Context Protocol (MCP), utilizing libSQL for efficient data storage and retrieval. It supports vector search and semantic knowledge management, making it ideal for AI applications.

Use cases

Use cases include AI agent development, knowledge graph applications, and systems requiring advanced data retrieval and storage capabilities.

How to use

To use mcp-memory-libsql, integrate it into your MCP configuration by specifying the server command and database URL in your settings. Examples are provided for different environments, including Cline and Claude Desktop with WSL.

Key features

Key features include high-performance vector search, persistent storage for entities and relationships, semantic search capabilities, knowledge graph management, compatibility with local and remote libSQL databases, and secure token-based authentication.

Where to use

mcp-memory-libsql is suitable for applications in AI, knowledge graph management, and any domain requiring efficient semantic search and relationship management.

Content

mcp-memory-libsql

A high-performance, persistent memory system for the Model Context
Protocol (MCP) powered by libSQL. This server provides vector search
capabilities and efficient knowledge storage using libSQL as the
backing store.

Glama badge

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 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
additional 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-in
    vector operations

Development

Publishing

Due to npm 2FA requirements, publishing needs to be done manually:

  1. Create a changeset (documents your changes):
pnpm changeset
  1. Version the package (updates version and CHANGELOG):
pnpm changeset version
  1. 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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers