/ Diretório / Playground / Memory
● Oficial modelcontextprotocol ⚡ Instantâneo

Memory

por modelcontextprotocol · modelcontextprotocol/servers

Um grafo de conhecimento persistente que Claude escreve e lê entre chats — assim ele lembra do seu projeto, equipe e preferências.

O MCP Memory de referência. Armazena entidades (pessoas, projetos, coisas), suas observações (fatos) e relações tipadas entre elas, como um grafo de conhecimento JSON local. Permite que Claude lembre fatos específicos ('nosso BD de produção é chamado api-prod-01', 'Jamie prefere descrições de PR em formato de bullets') sem depender de sua janela de contexto.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

memory.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Cursor usa o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Clique no ícone MCP Servers na barra lateral do Cline, depois "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "memory",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  ]
}

O Continue usa um array de objetos de servidor em vez de um map.

~/.config/zed/settings.json
{
  "context_servers": {
    "memory": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-memory"
        ]
      }
    }
  }
}

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

claude mcp add memory -- npx -y @modelcontextprotocol/server-memory

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: Memory

Como parar de re-explicar seu projeto para Claude toda manhã

👤 Desenvolvedores solo e usuários avançados que conversam com Claude diariamente sobre a mesma base de código ⏱ ~15 min beginner

Quando usar: Você continua colando o mesmo parágrafo de contexto: 'nossa stack é X, o BD de produção é Y, não usamos Z' — no início de cada sessão.

Pré-requisitos
  • Memory MCP rodando com um caminho de arquivo persistente — Defina MEMORY_FILE_PATH=/Users/you/.claude/memory.json para que o grafo persista após reinicializações
Fluxo
  1. Alimente o grafo com fatos principais
    Create entities for: my company (Acme), our main repo (acme-corp/api), and our prod database (api-prod-01). Add observations like 'uses Postgres 16', 'hosted on AWS RDS us-east-1', 'backup window is 03:00 UTC'. Connect them with relations.✓ Copiado
    → Entidades e relações criadas, visíveis via read_graph
  2. Adicione observações de preferência conforme avança
    Remember: when I ask you to write commit messages for this repo, use imperative mood without prefix tags. Store this as an observation on the 'acme-corp/api' entity.✓ Copiado
    → Observação adicionada sem re-criar a entidade
  3. Teste a lembrança em uma nova sessão
    What do you know about api-prod-01?✓ Copiado
    → Claude consulta o grafo e expõe os fatos, não uma resposta genérica

Resultado: Um grafo de conhecimento pessoal que fica mais inteligente a cada chat — quanto mais você usa Claude, menos código genérico você digita.

Armadilhas
  • Claude não usa automaticamente a memória; ele esquece de verificar — Adicione 'Sempre consulte o grafo de memória no início de cada tarefa sobre este projeto' ao seu prompt de sistema/projeto
  • O grafo fica bagunçado — entidades duplicadas com variações de nome ligeiras — Escolha uma convenção de nomenclatura (kebab-case) e periodicamente peça a Claude para read_graph e desduplicar
Combine com: filesystem · github

Construa um CRM leve das preferências de seus colegas

👤 Contribuidores individuais e líderes que trabalham com muitos stakeholders ⏱ ~10 min beginner

Quando usar: Você continua esquecendo quem prefere Slack vs email, quem quer bullets vs prosa, quem está em qual projeto.

Fluxo
  1. Crie uma entidade Person na primeira interação
    Create a Person entity 'jamie-chen'. Observations: 'PM on checkout team', 'prefers Loom over docs', 'reviews happen Tue/Thu mornings PT'.✓ Copiado
    → Entidade visível via open_nodes
  2. Conecte pessoas aos projetos com relações
    Add relation: jamie-chen --owns--> checkout-redesign-2026. And: alex-kim --reviews--> checkout-redesign-2026.✓ Copiado
    → Relações aparecem no grafo
  3. Consulte antes de escrever algo para eles
    I'm about to draft an update for Jamie on the checkout redesign. What do I know about their communication preferences and the project?✓ Copiado
    → Retorna preferências armazenadas, informa o tom do rascunho

Resultado: Você para de perguntar 'quem era aquele PM novamente?' e suas atualizações assíncronas acertam o tom na primeira tentativa.

Armadilhas
  • Armazenar informações sensíveis/pessoais sobre colegas reais parece estranho e pode vazar — Armazene apenas observações de preferência de trabalho; nunca detalhes pessoais. Trate o arquivo como sensível — ele sincroniza com tudo que você fizer backup
Combine com: linear · github

Mantenha um rastro de pesquisa entre muitas sessões

👤 Pesquisadores, escritores, qualquer pessoa investigando um tópico ao longo de semanas ⏱ ~20 min intermediate

Quando usar: Você está pesquisando um tópico (estudo de mercado, revisão de literatura, investigação) que se estende por muitas sessões e fontes.

Fluxo
  1. Capture cada descoberta como uma observação em uma entidade de tópico
    I'm researching 'MCP adoption in enterprises'. Create that as an entity. Now add this finding as an observation: 'Anthropic reports 60% of Claude Code customers use 3+ MCPs (source: blog 2026-03-12)'.✓ Copiado
    → Entidade de tópico cresce incrementalmente com observações citadas
  2. Conecte tópicos relacionados
    Create entity 'MCP security concerns'. Relate it to 'MCP adoption in enterprises' with relation 'blocks-adoption-when-unaddressed'.✓ Copiado
    → Grafo mostra a conexão semântica
  3. Peça síntese em qualquer ponto
    Based on all observations connected to 'MCP adoption in enterprises', draft a 1-pager summary with citations.✓ Copiado
    → Síntese com fontes por afirmação, nada fabricado

Resultado: Um ativo de pesquisa incremental citável que não depende de ginástica de janela de contexto.

Armadilhas
  • Observações armazenadas sem fontes são indistinguíveis da confabulação de modelo depois — Exija que cada observação inclua uma fonte no texto ('source: X, date: Y'); rejeite as que não têm
Combine com: firecrawl · exa-search · fetch

Combinações

Combine com outros MCPs para 10× de alavancagem

memory + filesystem

Carregue documentos de pesquisa longos, extraia fatos e armazene-os na memória para síntese posterior

Read every .md file under /research/. For each key claim, add it as an observation on the relevant topic entity in memory. Include filename as source.✓ Copiado
memory + github

Lembre convenções específicas do repo para que futuras revisões de PR as apliquem sem re-explicação

From the last 10 merged PRs in acme/api, extract tone, length, and title conventions. Store as observations on the 'acme/api' entity.✓ Copiado

Deixe sessões longas de raciocínio persistirem suas descobertas em scratchpad entre chats

Run a sequential-thinking session to plan our migration. At the end, write the conclusions as observations on the 'db-migration-q2' entity.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
create_entities entities: [{name, entityType, observations[]}] Apresente uma nova entidade (pessoa, projeto, sistema, conceito) free
create_relations relations: [{from, to, relationType}] Conecte duas entidades existentes com uma aresta tipada free
add_observations observations: [{entityName, contents[]}] Acrescente fatos a uma entidade existente (operação mais comum) free
delete_entities entityNames: str[] Remova entidades obsoletas (também remove suas relações) free
delete_observations deletions: [{entityName, observations[]}] Remova fatos específicos que se mostraram errados free
delete_relations relations: [...] Remova arestas sem deletar entidades free
read_graph none Despeje o grafo completo — use com moderação quando crescer free
search_nodes query: str Encontre entidades por palavra-chave entre nomes/tipos/observações free
open_nodes names: str[] Obtenha entidades específicas por nome exato free

Custo e limites

O que custa rodar

Cota de API
Ilimitado — JSON local
Tokens por chamada
Pequeno — operações de grafo retornam apenas nós alterados por padrão
Monetário
Grátis
Dica
Prefira search_nodes e open_nodes em vez de read_graph uma vez que você tenha >50 entidades, ou você pagará para carregar o grafo inteiro a cada turno.

Segurança

Permissões, segredos, alcance

Armazenamento de credenciais: Sem credenciais. O arquivo de grafo é o que MEMORY_FILE_PATH aponta.
Saída de dados: Nenhum do servidor. Observações são enviadas para seu provedor de LLM como contexto quando Claude as lê.

Solução de problemas

Erros comuns e correções

Memória não persiste entre reinicializações

Defina a variável de ambiente MEMORY_FILE_PATH para um caminho absoluto como /Users/you/.claude/memory.json. Sem ela, o servidor usa um caminho temporário.

Verificar: Verifique a configuração do cliente MCP para variáveis de ambiente; após reinicialização, chame `read_graph` e verifique se entidades antigas retornam
Claude nunca consulta memória por sua conta

O servidor expõe ferramentas; o modelo ainda precisa de prompting. Adicione uma instrução de nível de projeto como 'Antes de responder perguntas sobre <project>, chame search_nodes para contexto relevante.'

Entidades duplicadas como 'Jamie' e 'jamie-chen'

Adote uma convenção de nomenclatura (kebab-case ou full-name). Periodicamente execute read_graph e delete_entities em duplicatas após add_observations mesclando fatos.

Relação falha com 'entity not found'

Ambas as entidades de endpoint devem existir primeiro. Crie-as com create_entities antes de create_relations.

Alternativas

Memory vs. outros

AlternativaQuando usarTroca
Qdrant MCPVocê precisa de busca semântica em milhares de notas, não um grafo curado manualmenteRequer rodar Qdrant; ótimo para lembrança difusa, pior para fatos estruturados explícitos
Notion MCPSua 'memória' é realmente uma base de conhecimento compartilhada do timeVinculado a rede, mais lento, precisa de chave de API — mas humanos também podem ler/editar
Neo4j MCPVocê está construindo um grafo de conhecimento sério com consultas complexasMais pesado — precisa de banco de dados; excessivo para memória pessoal

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills