MCP Memory libSQL

Um sistema de memória persistente para MCP usando libSQL, fornecendo busca vetorial e armazenamento eficiente de conhecimento.

Documentação

mcp-memory-libsql

Um sistema de memória persistente e de alto desempenho para o Model Context Protocol (MCP) alimentado por libSQL. Este servidor fornece recursos de busca vetorial e armazenamento eficiente de conhecimento usando libSQL como armazenamento de suporte.

Glama badge

Recursos

  • 🚀 Busca vetorial de alto desempenho usando libSQL
  • 💾 Armazenamento persistente de entidades e relações
  • 🔍 Recursos de busca semântica
  • 🔄 Gerenciamento de grafo de conhecimento
  • 🌐 Compatível com bancos de dados libSQL locais e remotos
  • 🔒 Autenticação segura baseada em token para bancos de dados remotos

Configuração

Este servidor foi projetado para ser usado como parte de uma configuração MCP. Aqui estão exemplos para diferentes ambientes:

Configuração do Cline

Adicione isto às configurações MCP do seu Cline:

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

Claude Desktop com Configuração WSL

Para um guia detalhado sobre como configurar este servidor com o Claude Desktop em WSL, consulte Getting MCP Server Working with Claude Desktop in WSL.

Adicione isto à configuração do seu Claude Desktop para ambientes 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"
			]
		}
	}
}

Configuração do Banco de Dados

O servidor suporta tanto bancos de dados SQLite locais quanto libSQL remotos através da variável de ambiente LIBSQL_URL:

Para bancos de dados SQLite locais:

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

Para bancos de dados libSQL remotos (ex.: Turso):

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

Nota: Ao usar WSL, certifique-se de que o caminho do banco de dados use o formato do sistema de arquivos Linux (ex.: /home/username/...) em vez do formato Windows.

Por padrão, se nenhuma URL for fornecida, ele usará file:/memory-tool.db no diretório atual.

API

O servidor implementa a interface de memória MCP padrão com recursos adicionais de busca vetorial:

  • Gerenciamento de Entidades
    • Criar/Atualizar entidades com embeddings
    • Excluir entidades
    • Buscar entidades por similaridade
  • Gerenciamento de Relações
    • Criar relações entre entidades
    • Excluir relações
    • Consultar entidades relacionadas

Arquitetura

O servidor usa um banco de dados libSQL com o seguinte esquema:

  • Tabela de Entidades: Armazena informações de entidades e embeddings
  • Tabela de Relações: Armazena relacionamentos entre entidades
  • Recursos de busca vetorial implementados usando as operações vetoriais integradas do libSQL

Desenvolvimento

Publicação

Devido aos requisitos de 2FA do npm, a publicação precisa ser feita manualmente:

  1. Crie um changeset (documenta suas alterações):
pnpm changeset
  1. Versione o pacote (atualiza versão e CHANGELOG):
pnpm changeset version
  1. Publique no npm (solicitará o código 2FA):
pnpm release

Contribuindo

Contribuições são bem-vindas! Por favor, leia nossas diretrizes de contribuição antes de enviar pull requests.

Licença

Licença MIT - consulte o arquivo LICENSE para detalhes.

Agradecimentos