https://github.com/spences10/mcp-memory-libsql
🧠 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.
https://github.com/spences10/mcp-memory-libsql
ai-tools embeddings knowledge-graph libsql mcp model-context-protocol persistent-storage semantic-search vector-search
Last synced: 2 months ago
JSON representation
🧠 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.
- Host: GitHub
- URL: https://github.com/spences10/mcp-memory-libsql
- Owner: spences10
- License: mit
- Created: 2025-01-14T20:09:43.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-03-31T20:25:46.000Z (3 months ago)
- Last Synced: 2025-03-31T20:37:40.814Z (3 months ago)
- Topics: ai-tools, embeddings, knowledge-graph, libsql, mcp, model-context-protocol, persistent-storage, semantic-search, vector-search
- Language: TypeScript
- Homepage:
- Size: 151 KB
- Stars: 37
- Watchers: 1
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- mcp-index - LibSQL Memory - High-performance vector search and persistent memory system using libSQL, offering efficient knowledge storage and semantic search capabilities. Supports knowledge graph management and secure token-based authentication for accessing local and remote databases. (Databases)
README
# 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.## 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:
```json
{
"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](https://scottspence.com/posts/getting-mcp-server-working-with-claude-desktop-in-wsl).Add this to your Claude Desktop configuration for WSL environments:
```json
{
"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:
```json
{
"env": {
"LIBSQL_URL": "file:/path/to/database.db"
}
}
```For remote libSQL databases (e.g., Turso):
```json
{
"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):
```bash
pnpm changeset
```2. Version the package (updates version and CHANGELOG):
```bash
pnpm changeset version
```3. Publish to npm (will prompt for 2FA code):
```bash
pnpm release
```## Contributing
Contributions are welcome! Please read our contributing guidelines
before submitting pull requests.## License
MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Built on the
[Model Context Protocol](https://github.com/modelcontextprotocol)
- Powered by [libSQL](https://github.com/tursodatabase/libsql)