Memory Bank MCP
Um servidor MCP (Model Context Protocol) pronto para produção que fornece um banco de memória vetorial nativo e poderoso para agentes de IA. Construído com o Protocol-Lattice Go Agent Framework, este servidor oferece memória persistente, pesquisável e compartilhável com múltiplos backends de banco de dados.
Documentação
Servidor Memory Bank MCP
Um servidor Model Context Protocol (MCP) pronto para produção que fornece um banco de memória poderoso e vetorial para agentes de IA. Construído com o Protocol-Lattice Go Agent Framework, este servidor oferece memória persistente, pesquisável e compartilhável com múltiplos backends de banco de dados.
- Nome do Servidor:
memory-bank-mcp - Versão:
0.1.0
Recursos
-
Múltiplos Backends de Armazenamento Vetorial: Persista memórias no banco de dados de sua preferência.
- Em Memória: Para testes rápidos e armazenamento efêmero.
- PostgreSQL: Usando a extensão
pgvector. - Qdrant: Um banco de dados vetorial dedicado.
- MongoDB: Usando Atlas Vector Search.
-
Gerenciamento Rico de Memória:
- Buffer de Curto Prazo: Armazene memórias temporariamente para uma sessão antes de enviá-las ao armazenamento de longo prazo.
- Persistência de Longo Prazo: Incorpore e armazene memórias para recuperação semântica entre sessões.
- Recuperação Contextual: Busque memórias relevantes com base em uma consulta, combinando resultados de curto e longo prazo.
-
Memória Compartilhada com "Espaços":
- Crie "espaços" de memória compartilhada onde múltiplos agentes ou usuários podem colaborar.
- Controle de acesso refinado (ACLs) com papéis de
reader,writereadmin. - Suporte a tempo de vida (TTL) para concessões e espaços.
-
Embeddings Dinâmicos: Usa
AutoEmbedderdo Go Agent Framework, permitindo configurar o modelo de embedding por meio de variáveis de ambiente (por exemplo, OpenAI, Gemini, modelos locais).
Configuração
Configure o servidor usando variáveis de ambiente.
Armazenamento de Memória
Defina MEMORY_STORE como um dos seguintes: inmemory, postgres, qdrant ou mongo.
- PostgreSQL:
export MEMORY_STORE="postgres" export POSTGRES_DSN="postgres://user:pass@host:port/db?sslmode=disable" - Qdrant:
export MEMORY_STORE="qdrant" export QDRANT_URL="http://localhost:6333" export QDRANT_COLLECTION="memories" export QDRANT_API_KEY="..." # Optional - MongoDB:
export MEMORY_STORE="mongo" export MONGO_URI="mongodb+srv://..." export MONGO_DATABASE="main" export MONGO_COLLECTION="memories"
Outras Configurações
SHORT_TERM_SIZE: Número máximo de itens no buffer de curto prazo por sessão. (Padrão:20)DEFAULT_SPACE_TTL_SEC: TTL padrão para espaços em segundos. (Padrão:86400/ 24 horas)
Modelo de Embedding
O servidor usa AutoEmbedder, que respeita as variáveis de ambiente ADK_EMBED_* do Go Agent Framework. Por exemplo, para usar Gemini:
export ADK_EMBED_PROVIDER="gemini"
export ADK_EMBED_MODEL="text-embedding-004"
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
Início Rápido
go install github.com/Protocol-Lattice/memory-bank-mcp@latest
# Run the server (defaults to stdio transport)
memory-bank-mcp
Ferramentas MCP Disponíveis
O servidor expõe um conjunto abrangente de ferramentas para manipulação de memória.
Memória Principal
health.ping: Verifique se o servidor está em execução.memory.embed: Obtenha o embedding vetorial para um trecho de texto.memory.add_short: Adicione uma memória ao buffer de curto prazo de uma sessão.memory.flush: Persista o buffer de curto prazo de uma sessão no armazenamento vetorial de longo prazo.memory.store_long: Incorpore e armazene diretamente uma memória no armazenamento de longo prazo.memory.retrieve_context: Recupere memórias relevantes para uma consulta de uma sessão.
Espaços (Memória Compartilhada)
spaces.upsert: Crie ou atualize um espaço compartilhado com TTL e ACL.spaces.grant: Conceda um papel (reader,writer,admin) a um principal para um espaço.spaces.revoke: Revogue o acesso de um principal a um espaço.spaces.list: Liste todos os espaços aos quais um principal tem acesso.
Sessões Compartilhadas
shared.join: Faça a visualização da sessão de um principal incluir um espaço específico.shared.leave: Remova um espaço da visualização da sessão de um principal.shared.add_short_to: Adicione uma memória de curto prazo diretamente a um espaço compartilhado.shared.retrieve: Recupere memórias da visualização mesclada de um principal (local + espaços associados).
Configuração do MCP:
{
"servers": {
"memory-bank": {
"command": "/usr/local/bin/memory-bank-mcp",
"args": ["-transport", "http", "-addr", ":8080"]
}
},
"inputs": []
}
Diagnóstico
engine.metrics: Obtenha um instantâneo das métricas de desempenho do mecanismo de memória.