MemoryRouter

Memória de IA persistente compartilhada entre Claude, ChatGPT, agentes de codificação e clientes MCP compatíveis.

Documentação

Integrações Frameworks e protocolos

O servidor MCP remoto do MemoryRouter, suporte a protocolos, escopos OAuth, ferramentas, modelo de vault e configuração de plataforma.

O MemoryRouter executa um servidor remoto Model Context Protocol que oferece memória durável e portátil para qualquer cliente compatível com MCP. Um vault, muitos aplicativos de IA.

https://mcp.memoryrouter.ai/mcp

Este é o endereço que você cola no ChatGPT, Claude, Claude Cowork, Codex ou qualquer outro cliente MCP. A autenticação é OAuth 2.1 com PKCE; você nunca cola uma chave de API em um conector.


Pré-requisitos e primeira conexão

Crie uma conta no MemoryRouter e escolha um vault que você tenha permissão de usar. Seu cliente deve suportar MCP remoto via HTTP Streamable e OAuth. Um cliente stdio somente local precisa de uma ponte compatível; adicionar este URL HTTPS como executável não funcionará.

Adicione https://mcp.memoryrouter.ai/mcp como servidor remoto, conclua a autorização no navegador e selecione o vault desejado. Siga a interface exata do host em ChatGPT, Claude ou Cowork. A configuração OAuth não exige chave de API do provedor de modelo.

Prova entre sessões

  1. Em uma conversa conectada, peça: "Armazene este fato de teste sintético no MemoryRouter: a frase de lançamento do projeto demo é ORCHID-7419."
  2. Aprove a gravação e inspecione o resultado bem-sucedido de store_memory.
  3. Abra uma nova conversa com o MemoryRouter habilitado, sem copiar o chat antigo.
  4. Pergunte: "Pesquise no MemoryRouter a frase de lançamento do projeto demo." Verifique se o resultado contém ORCHID-7419.

Este é um teste que você executa, não uma garantia de que um modelo chamará ferramentas sem solicitação. A recuperação é classificada por relevância, não o vault inteiro a cada solicitação. Conexões somente leitura não podem executar o passo 1. Use uma conexão gravável para semear o mesmo vault primeiro.

Suporte a protocolos

Versão
Revisão atual2026-07-28
Também aceita2025-11-25, 2025-06-18, 2025-03-26

O servidor implementa a revisão 2026-07-28, que é stateless: cada solicitação se descreve e não há handshake de sessão a perder. Concretamente:

  • server/discover informa versões suportadas, capacidades e dicas de cache.
  • Cada solicitação moderna carrega versão de protocolo _meta e capacidades do cliente, espelhadas pelos cabeçalhos MCP-Protocol-Version, Mcp-Method e Mcp-Name.
  • Cada resultado bem-sucedido carrega um discriminador resultType e informações de servidor por resposta.
  • Os catálogos de ferramentas e recursos são determinísticos e armazenáveis em cache.

Clientes mais antigos da era do handshake ainda funcionam: eles enviam initialize, e o servidor negocia uma versão legada sem nunca alegar uma moderna. Nenhum cliente é descartado.

Por que stateless importa para a memória

MCP baseado em sessão acopla sua memória a uma conexão ativa. Se a conexão cair ou o cliente reiniciar, a sessão desaparece. A durabilidade do MemoryRouter vive no vault, não em uma sessão, então um protocolo stateless é a escolha certa. Qualquer solicitação, de qualquer cliente, a qualquer momento, alcança as mesmas memórias.


Ferramentas

O servidor expõe exatamente dez ferramentas. Se um cliente mostrar algo diferente, não está vindo do MemoryRouter.

FerramentaExigeO que faz
search_memoriesmemories:readRecuperação semântica do vault conectado, com filtros opcionais tiers e importance
date_search_memoriesmemories:readRecuperação por janela de tempo com filtros opcionais query, tiers e importance, além de cursores de continuação
store_memorymemories:writeSalva uma memória durável e concisa
memory_statusmemories:readEstado da conexão, referência opaca do vault, contagens, escopos concedidos, débito de reflexão
forget_all_memoriesmemories:deleteExclui todas as memórias do vault conectado
consolidate_memoriesmemories:reflectRetira um lote de memórias não consolidadas para reflexão
commit_reflectionsmemories:reflectConfirma as entradas de reflexão que o modelo escreveu
inspect_memorymemories:readMostra as memórias-fonte a partir das quais uma reflexão foi construída
delete_memoriesmemories:deleteExclui memórias específicas por id, em qualquer camada
searchmemories:readAlias de compatibilidade para clientes que exigem uma ferramenta chamada search

Dois recursos MCP também estão disponíveis quando o host expõe recursos: memory://vault/stats e memory://vault/recent.

Exclusão: o que é e o que não é possível

Existem duas ferramentas de exclusão, e elas são deliberadamente diferentes:

  • delete_memories remove memórias específicas por seus ids (até 500 por chamada). Os ids vêm de resultados de search_memories ou inspect_memory. Exige o escopo memories:delete e um argumento explícito confirmation, e o host deve mostrar ao usuário o que será excluído antes de chamá-la. Excluir uma memória bruta não exclui reflexões construídas a partir dela.
  • forget_all_memories é somente para o vault inteiro. Exige o escopo memories:delete, a frase exata de confirmação DELETE ALL MEMORIES, e retorna um resultado confirmando que tanto o armazenamento primário quanto o espelhado foram limpos. Qualquer coisa aquém disso retorna "nada foi excluído" e nunca chega ao armazenamento.

Um recibo de store_memory não é um identificador de exclusão. O painel em app.memoryrouter.ai também suporta exclusão por memória.

Reflexões neste servidor

A Hierarquia de Reflexão está ativa de ponta a ponta: três camadas de memória, consolidação, linhagem e exclusão por memória, tudo utilizável dentro de um chat.

O ciclo de consolidação funciona assim:

  1. O modelo chama consolidate_memories. O servidor retira as memórias não consolidadas mais antigas sob uma concessão de 15 minutos e retorna seus textos, datas e as instruções reflection_contract escritas pelo servidor.
  2. O modelo lê os textos e escreve de 5 a 10 entradas de reflexão independentes, classificando a importância de cada entrada de 1 a 10, seguindo o contrato literalmente.
  3. O modelo chama commit_reflections com o id do lote e suas entradas. O servidor incorpora e armazena na camada acima, vincula a linhagem a cada fonte e marca as fontes como consolidadas.

Então, no ChatGPT ou no Claude, você pode literalmente dizer "consolide minhas memórias" e o modelo com quem você já está conversando faz a reflexão. Se a concessão expirar antes da confirmação, nada se perde: as memórias voltam ao pool e a próxima retirada as pega.

memory_status informa o débito de reflexão (quanto material não consolidado o vault carrega), e resultados de search_memories incluem consolidation_available quando o vault cruza o limite de consolidação, para que o modelo saiba quando vale sugerir reflexão.

inspect_memory é a ferramenta de recibos: dê a ela qualquer id de memória de um resultado de busca e ela retorna as memórias de camada inferior a partir das quais a reflexão foi construída, encadeável até o nível bruto. Pergunte "por que você acredita nisso?" e o modelo pode mostrar.

Filtros de busca

search_memories aceita dois filtros opcionais além da consulta:

  • tiers: um subconjunto não vazio de [1, 2, 3] para restringir resultados a memórias brutas, reflexões ou reflexões de alto nível. Omita para buscar todas as camadas misturadas.
  • importance: um limite mínimo inteiro de 1 a 10. Apenas reflexões carregam classificações de importância, então isso filtra para conteúdo das camadas 2 e 3.

Guia de camadas: a camada 3 contém as reflexões consolidadas de mais alto nível (identidade, princípios, o que mais importa); a camada 2 contém reflexões de eventos significativos específicos; a camada 1 contém memórias brutas verbatim. Combine filtros à pergunta em vez de aplicar uma receita rígida:

  • Perguntas amplas de "coisas mais importantes que fizemos": camadas [3], importância 8 ou superior, um limite grande como 250. Variantes com limite de tempo ("coisas mais importantes no mês passado") usam busca por data com os mesmos filtros.
  • Visões gerais de grande escala ("o que você sabe sobre esta área ou período"): camadas [3] apenas, sem filtro de importância. Filtrar por importância é opcional e pode excluir contexto útil.
  • Consultas de tópico específico ("encontre a decisão sobre X"): omita camadas inteiramente para que bruto, camada 2 e camada 3 sejam pesquisados juntos, e deixe a importância não definida. Um filtro de importância alto esconde o detalhe específico procurado.
  • Eventos significativos específicos onde ruído bruto é indesejado: camadas [2] (opcionalmente [2, 3]).
  • Detalhe verbatim exato ou forense: se o detalhe não estiver já em contexto, aprofunde pela linhagem: pesquise camadas [3] para encontrar o fio relevante, depois use inspect_memory no resultado para ver as reflexões da camada 2 que ele consolidou, e então inspecione-as para alcançar as memórias brutas subjacentes. Busca direta nas camadas [1] funciona quando você sabe a redação exata para corresponder.

Misturas de camadas são legítimas; ajuste o limite de importância à pergunta em vez de sempre defini-lo alto. Apenas reflexões (camadas 2 e 3) carregam classificações de importância.

As descrições de ferramentas servidas ensinam este manual a cada modelo conectado automaticamente.

Cada linha de resultado é marcada com seu tier, e linhas de reflexão incluem seu importance.

Busca por data

date_search_memories recupera memórias de uma janela de tempo específica: from (data ou datetime ISO 8601 obrigatório), opcionais to, query, tiers, importance e max_tokens (1000 a 200000). Omita query para uma revisão cronológica; inclua-o para classificar por relevância dentro da janela. Páginas truncadas retornam cursores de continuação next_to / next_from. Frases relativas como "ultimamente" devem ser resolvidas para datas ISO concretas antes da chamada.


Autenticação e escopos

O MemoryRouter executa um servidor de autorização OAuth 2.1 completo com PKCE (S256), registro dinâmico de clientes, Documentos de Metadados de ID de Cliente, rotação de tokens de atualização e revogação.

Existem quatro escopos, e eles são independentes:

EscopoConcede
memories:readRecuperação, status e inspeção de linhagem
memories:writeSalvar novas memórias
memories:reflectRetirada e confirmação de consolidação
memories:deleteExclusão por memória e do vault inteiro

Deliberadamente não há hierarquia nem escopo de administrador. memories:write não concede recuperação, autoridade de reflexão não concede exclusão, e autoridade de exclusão nunca é herdada de gravação. Um conector configurado para salvar notas, portanto, não pode apagar seu vault.

A autorização padrão é somente leitura. Clientes solicitam mais apenas quando precisam, e o servidor responde a uma chamada subescopada com um desafio de reautorização em vez de executar a ação.

A aplicação de somente leitura é em camadas

Um token OAuth somente leitura também é rebaixado na camada downstream de chave de API, então mesmo um erro interno de roteamento não pode transformar uma conexão de leitura em gravação. Convenções existentes de chave somente leitura (modos mk_ro_, mk-ro- e :read /:off) continuam funcionando e nunca são ampliadas.


Vaults: pessoal, de projeto e de organização

Uma conexão OAuth está vinculada a um vault, escolhido durante o login.

Esse é todo o modelo de isolamento, e vale ser preciso:

  • Vaults pessoais, de projeto e de organização são vaults separados. Você escolhe qual um conexão usa ao autorizá-la.
  • Para trocar de vault, desconecte e reconecte o conector e escolha um vault diferente.
  • "Identificadores" de projeto e organização que aparecem em uma conversa são rótulos comportamentais para compatibilidade, não argumentos verificados pelo servidor. As ferramentas MCP atualmente não aceitam um parâmetro de projeto ou vault, então um modelo não pode selecionar ou escapar de um escopo pedindo.

Se você precisa de isolamento estrito, use um vault separado e uma conexão separada. Não confie em rótulos de escopo conversacionais como fronteira de segurança.


Configuração por plataforma

O seletor canônico separa conexão, captura e importação histórica:

PlataformaCaminho recomendadoCapturaImportação histórica
ClaudeRevise e adicione o conector personalizado; o Free suporta umDirecionado pelo modeloNão
Claude CoworkConector personalizado (+ skill/plugin de repositório opcional)Direcionado pelo modeloNenhum importador de arquivo suportado
ChatGPTConfiguração manual do MCP no modo Developer; não listado no diretório de PluginsDirecionado pelo modeloNão
Claude Codenpx -y memoryrouter-claude initHooks automáticos de prompt/final tipadosNão
Codexnpx -y memoryrouter-codex init --scope user mais OAuthHooks automáticos de ciclo de vidaNenhum importador de arquivo ChatGPT suportado
OpenClawopenclaw plugins install npm:mr-memoryHooks automáticos de relaySim, openclaw mr upload separado
Outros clientes MCPAdicione o endpoint de acordo com o clienteDepende do clienteNão

"Direcionado pelo modelo" significa que a IA decide se e quando pesquisar ou salvar. Não é garantido em todas as interações. Uma conexão torna possíveis chamadas de ferramentas futuras; isso nunca implica que conversas históricas foram importadas. A compatibilidade genérica com MCP deve ser comprovada por cliente: o suporte a Streamable HTTP sozinho não comprova descoberta/callback OAuth, escopo, ferramenta ou comportamento de recurso.

Claude Code, Codex e OpenClaw usam hooks locais fora do transporte MCP remoto genérico. O Claude Code 2.1.0 captura de forma durável um prompt tipado mais uma resposta final visível ao usuário para uma interação concluída e exclui dados de transcrição intermediária de ferramentas. Os hooks do Codex exigem uma chave de API do MemoryRouter além do OAuth. O OpenClaw usa hooks de relay; chaves de inferência e de provedor permanecem no OpenClaw.

Veja a comparação de plataformas para planos, estado de distribuição/listagem, unidades de captura exatas, limitações e limites atuais de aceitação manual.


Solução de problemas

O cliente diz que a autenticação é necessária. Esperado no primeiro uso. O servidor responde a chamadas protegidas não autenticadas com um 401 e um desafio WWW-Authenticate para que seu cliente abra o fluxo de conexão. Entre e tente novamente.

Um salvamento ou exclusão é recusado por escopo insuficiente. A conexão não tem memories:write ou memories:delete. Isso não é repetível; desconecte, reconecte e aprove o escopo. O ChatGPT apresenta isso como um prompt de reautorização.

A recuperação não retorna nada. Confirme com memory_status que você está conectado ao vault que espera. Uma causa comum é estar conectado a um vault diferente daquele que contém as memórias.

Claude ou ChatGPT nunca usam memória. Nessas superfícies, o uso de ferramentas é direcionado pelo modelo. Peça explicitamente ("verifique minha memória para…") ou use Claude Code / Codex, onde os hooks tornam isso determinístico.

Uma ferramenta sobre a qual você leu não existe. Apenas as dez ferramentas acima existem. Argumentos de projeto no lado do servidor não são implementados.

A consolidação é recusada por escopo insuficiente. consolidate_memories e commit_reflections precisam do escopo memories:reflect. Desconecte, reconecte e aprove o acesso de reflexão quando seu cliente solicitar.

Para clientes com um comando de diagnóstico, execute npx memoryrouter-claude doctor ou npx memoryrouter-codex doctor para um diagnóstico local.


Endpoints de descoberta

EndpointFinalidade
/.well-known/oauth-protected-resource/mcpMetadados de recurso protegido RFC 9728
/.well-known/oauth-authorization-serverMetadados do servidor de autorização RFC 8414

O valor anunciado de resource é a URL completa de /mcp, correspondendo ao que você digita no cliente, e os tokens de acesso são vinculados a esse mesmo recurso RFC 8707.


Privacidade e exclusão

  • As memórias são armazenadas no vault que você selecionou durante o OAuth; elas não são compartilhadas entre vaults.
  • memory_status retorna uma referência de vault opaca. Sua chave de memória nunca é exposta ao modelo, na saída da ferramenta ou em uma declaração de token legível pelo cliente.
  • A exclusão de todo o vault é permanente e confirmada contra o armazenamento primário e espelhado.
  • A exclusão por memória está disponível via ferramenta delete_memories ou no painel.

Próximos passos

Ver a integração · Criar uma conta · Todas as integrações

[

Ferramentas de Codificação

Conecte clientes de codificação por meio de configurações de proxy ou MCP suportadas, com configuração específica do cliente e limites de compatibilidade.

](https://docs.memoryrouter.ai/coding-tools)[

LangChain

Adicione ferramentas explícitas de retenção e recuperação a aplicações Python LangChain com langchain-memoryrouter.

](https://docs.memoryrouter.ai/langchain)