Claude Code Memory Server

Um servidor MCP baseado em Neo4j que oferece memória persistente e assistência contextual para o Claude Code.

Documentação

Claude Code Memory Server

Um servidor de Model Context Protocol (MCP) baseado em Neo4j que fornece capacidades inteligentes de memória para o Claude Code, permitindo rastreamento persistente de conhecimento, mapeamento de relacionamentos e assistência contextual ao desenvolvimento.

Visão Geral

Este servidor MCP cria um sistema de memória sofisticado que rastreia as atividades, decisões e padrões aprendidos do Claude Code para fornecer memória contextual entre sessões e projetos. Ele usa o Neo4j como banco de dados de grafos para capturar e analisar relacionamentos complexos entre conceitos de desenvolvimento, soluções e fluxos de trabalho.

Recursos

Operações Principais de Memória

  • Armazenamento Persistente de Memória - Armazene tarefas de desenvolvimento, soluções e padrões
  • Busca Inteligente - Encontre memórias relevantes por contexto, conteúdo ou relacionamentos
  • Mapeamento de Relacionamentos - Acompanhe como diferentes conceitos, arquivos e soluções se relacionam
  • Consciência Contextual - Recuperação de memória específica por projeto e tecnologia

Inteligência Avançada

  • Reconhecimento de Padrões - Identifique automaticamente padrões de desenvolvimento reutilizáveis
  • Eficácia de Soluções - Acompanhe e aprenda com abordagens bem-sucedidas
  • Memória de Fluxo de Trabalho - Lembre e sugira sequências ideais de desenvolvimento
  • Prevenção de Erros - Aprenda com erros passados para evitar problemas semelhantes

Integração com Desenvolvimento

  • Rastreamento de Execução de Tarefas - Monitore o que o Claude Code faz e como
  • Análise de Padrões de Código - Identifique e armazene padrões de código bem-sucedidos
  • Memória de Contexto do Projeto - Entenda convenções e dependências do código
  • Aprendizado Colaborativo - Compartilhe conhecimento entre sessões de desenvolvimento

Arquitetura

Tipos de Memória

  • Tarefa - Tarefas de desenvolvimento e seus padrões de execução
  • Padrão de Código - Soluções de código reutilizáveis e decisões arquiteturais
  • Problema - Problemas encontrados e seu contexto
  • Solução - Como os problemas foram resolvidos e sua eficácia
  • Projeto - Contexto do código e conhecimento específico do projeto
  • Tecnologia - Conhecimento específico de frameworks, linguagens e ferramentas

Tipos de Relacionamento

O sistema rastreia sete categorias de relacionamentos:

  1. Causal - CAUSES, TRIGGERS, LEADS_TO, PREVENTS, BREAKS
  2. Solução - SOLVES, ADDRESSES, ALTERNATIVE_TO, IMPROVES, REPLACES
  3. Contexto - OCCURS_IN, APPLIES_TO, WORKS_WITH, REQUIRES, USED_IN
  4. Aprendizado - BUILDS_ON, CONTRADICTS, CONFIRMS, GENERALIZES, SPECIALIZES
  5. Similaridade - SIMILAR_TO, VARIANT_OF, RELATED_TO, ANALOGY_TO, OPPOSITE_OF
  6. Fluxo de Trabalho - FOLLOWS, DEPENDS_ON, ENABLES, BLOCKS, PARALLEL_TO
  7. Qualidade - EFFECTIVE_FOR, INEFFECTIVE_FOR, PREFERRED_OVER, DEPRECATED_BY, VALIDATED_BY

Instalação

Pré-requisitos

  • Python 3.10 ou superior
  • Banco de dados Neo4j (local ou nuvem)
  • Claude Code com suporte a MCP

Configuração

  1. Clone o repositório:
git clone https://github.com/viralvoodoo/claude-code-memory.git
cd claude-code-memory
  1. Instale as dependências:
pip install -e .
  1. Configure a conexão com o Neo4j:
cp .env.example .env
# Edit .env with your Neo4j credentials
  1. Inicialize o esquema do banco de dados:
python -m claude_memory.setup

Configuração

Variáveis de Ambiente

  • NEO4J_URI - URI do banco de dados Neo4j (padrão: bolt://localhost:7687)
  • NEO4J_USER - Nome de usuário do banco de dados (padrão: neo4j)
  • NEO4J_PASSWORD - Senha do banco de dados
  • MEMORY_LOG_LEVEL - Nível de registro (padrão: INFO)

Integração com Claude Code

Adicione à configuração MCP do seu Claude Code:

{
  "mcpServers": {
    "claude-memory": {
      "command": "python",
      "args": ["-m", "claude_memory.server"],
      "env": {
        "NEO4J_URI": "bolt://localhost:7687",
        "NEO4J_USER": "neo4j",
        "NEO4J_PASSWORD": "your-password"
      }
    }
  }
}

Uso

Ferramentas MCP Disponíveis

Operações Principais de Memória

  • store_memory - Armazene novas memórias de desenvolvimento com contexto
  • get_memory - Recupere memória específica por ID com relacionamentos
  • search_memories - Encontre memórias por conteúdo, contexto ou relacionamentos
  • update_memory - Modifique conteúdo de memória existente
  • delete_memory - Remova memória e limpe relacionamentos

Gerenciamento de Relacionamentos

  • create_relationship - Vincule memórias com tipos específicos de relacionamento
  • get_related_memories - Encontre memórias conectadas a uma memória específica
  • analyze_relationships - Descubra padrões de relacionamento no grafo de memória

Inteligência de Desenvolvimento

  • analyze_codebase - Escaneie o projeto e crie grafo de memória contextual
  • track_task_execution - Registre fluxo de trabalho e padrões de desenvolvimento
  • suggest_similar_solutions - Encontre soluções passadas análogas
  • predict_solution_effectiveness - Estime probabilidade de sucesso de abordagens

Análises Avançadas

  • get_memory_graph - Visualize rede de conhecimento e relacionamentos
  • find_memory_paths - Descubra cadeias de conexão entre conceitos
  • memory_effectiveness - Acompanhe e analise taxas de sucesso de soluções

Desenvolvimento

Estrutura do Projeto

claude-code-memory/
├── src/claude_memory/          # Main source code
│   ├── __init__.py
│   ├── server.py              # MCP server implementation
│   ├── models.py              # Data models and schemas
│   ├── database.py            # Neo4j database operations
│   ├── memory_store.py        # Core memory logic
│   ├── relationships.py       # Relationship management
│   ├── search.py              # Search and retrieval
│   └── intelligence.py        # Pattern recognition and analytics
├── tests/                     # Test suite
├── docs/                      # Documentation
├── scripts/                   # Utility scripts
└── pyproject.toml            # Project configuration

Configuração de Desenvolvimento

# Install development dependencies
pip install -e ".[dev]"

# Install pre-commit hooks
pre-commit install

# Run tests
pytest

# Format code
black src/ tests/
ruff --fix src/ tests/

# Type checking
mypy src/

Contribuição

Aceitamos contribuições! Consulte nosso Guia de Contribuição para detalhes.

Fluxo de Trabalho de Desenvolvimento

  1. Verifique as Issues do GitHub existentes
  2. Faça um fork do repositório e crie um branch de funcionalidade
  3. Faça alterações seguindo nossos padrões de codificação
  4. Adicione testes para novas funcionalidades
  5. Envie um pull request com uma descrição clara

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.

Roteiro

Fase 1: Fundação (Atual)

  • ✅ Configuração do projeto e servidor MCP básico
  • 🔄 Operações principais de memória (CRUD)
  • ⏳ Gerenciamento básico de relacionamentos

Fase 2: Inteligência

  • ⏳ Sistema avançado de relacionamentos
  • ⏳ Reconhecimento de padrões
  • ⏳ Consciência contextual

Fase 3: Integração

  • ⏳ Integração com fluxo de trabalho do Claude Code
  • ⏳ Captura automática de memória
  • ⏳ Sugestões proativas

Fase 4: Análises

  • ⏳ Rastreamento de eficácia de memória
  • ⏳ Visualização de grafo de conhecimento
  • ⏳ Otimização de desempenho

Suporte

Agradecimentos