MCP Memory libSQL

Un sistema de memoria persistente para MCP que utiliza libSQL, proporcionando búsqueda vectorial y almacenamiento eficiente de conocimiento.

Documentación

mcp-memory-libsql

Un sistema de memoria persistente y de alto rendimiento para el Model Context Protocol (MCP) impulsado por libSQL. Este servidor proporciona capacidades de búsqueda vectorial y almacenamiento eficiente de conocimiento utilizando libSQL como almacén subyacente.

Glama badge

Características

  • 🚀 Búsqueda vectorial de alto rendimiento usando libSQL
  • 💾 Almacenamiento persistente de entidades y relaciones
  • 🔍 Capacidades de búsqueda semántica
  • 🔄 Gestión de grafos de conocimiento
  • 🌐 Compatible con bases de datos libSQL locales y remotas
  • 🔒 Autenticación segura basada en tokens para bases de datos remotas

Configuración

Este servidor está diseñado para usarse como parte de una configuración de MCP. Aquí hay ejemplos para diferentes entornos:

Configuración de Cline

Añade esto a tu configuración de MCP de Cline:

{
	"mcpServers": {
		"mcp-memory-libsql": {
			"command": "npx",
			"args": ["-y", "mcp-memory-libsql"],
			"env": {
				"LIBSQL_URL": "file:/path/to/your/database.db"
			}
		}
	}
}

Configuración de Claude Desktop con WSL

Para una guía detallada sobre cómo configurar este servidor con Claude Desktop en WSL, consulta Cómo hacer que el servidor MCP funcione con Claude Desktop en WSL.

Añade esto a tu configuración de Claude Desktop para entornos WSL:

{
	"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"
			]
		}
	}
}

Configuración de la base de datos

El servidor admite tanto bases de datos SQLite locales como bases de datos libSQL remotas a través de la variable de entorno LIBSQL_URL:

Para bases de datos SQLite locales:

{
	"env": {
		"LIBSQL_URL": "file:/path/to/database.db"
	}
}

Para bases de datos libSQL remotas (p. ej., Turso):

{
	"env": {
		"LIBSQL_URL": "libsql://your-database.turso.io",
		"LIBSQL_AUTH_TOKEN": "your-auth-token"
	}
}

Nota: Al usar WSL, asegúrate de que la ruta de la base de datos use el formato del sistema de archivos de Linux (p. ej., /home/username/...) en lugar del formato de Windows.

Por defecto, si no se proporciona una URL, usará file:/memory-tool.db en el directorio actual.

API

El servidor implementa la interfaz de memoria estándar de MCP con capacidades adicionales de búsqueda vectorial:

  • Gestión de entidades
    • Crear/Actualizar entidades con embeddings
    • Eliminar entidades
    • Buscar entidades por similitud
  • Gestión de relaciones
    • Crear relaciones entre entidades
    • Eliminar relaciones
    • Consultar entidades relacionadas

Arquitectura

El servidor utiliza una base de datos libSQL con el siguiente esquema:

  • Tabla de entidades: Almacena información de entidades y embeddings
  • Tabla de relaciones: Almacena relaciones entre entidades
  • Capacidades de búsqueda vectorial implementadas mediante las operaciones vectoriales integradas de libSQL

Desarrollo

Publicación

Debido a los requisitos de 2FA de npm, la publicación debe realizarse manualmente:

  1. Crea un changeset (documenta tus cambios):
pnpm changeset
  1. Versiona el paquete (actualiza la versión y el CHANGELOG):
pnpm changeset version
  1. Publica en npm (solicitará el código 2FA):
pnpm release

Contribuciones

¡Las contribuciones son bienvenidas! Por favor, lee nuestras pautas de contribución antes de enviar pull requests.

Licencia

Licencia MIT: consulta el archivo LICENSE para más detalles.

Agradecimientos