LinkLore

Servidor MCP para memória de projeto — permite que agentes de IA registrem decisões, armadilhas e especificações enquanto trabalham, e as recuperem na próxima sessão com contexto de código anexado.

Documentação

LinkLore

PyPI Python License: Elastic 2.0 MCP

Servidor MCP para memória de projeto — permite que agentes de IA registrem decisões, armadilhas e especificações enquanto trabalham, e as recuperem na próxima sessão com contexto de código anexado.

Feito para agentes, não para humanos: cada ferramenta aqui é projetada para usabilidade por uma IA, não para legibilidade por uma pessoa.

Por que LinkLore

A cada nova sessão, um agente de IA começa do zero — decisões são re-litigadas, armadilhas são redescobertas, e "por que é feito assim?" é respondido por adivinhação. Notas em Markdown não resolvem isso: são escritas para pessoas, se afastam do código, e nenhum agente as lê de forma confiável.

LinkLore é memória estruturada que o próprio agente lê e escreve por meio de ferramentas MCP:

  • Dois tipos de registrolore (decisões, armadilhas, diário) e doc (especificações, planos), vinculados bidirecionalmente entre si e a arquivos de código.
  • Local-first — tudo fica em um armazenamento SQLite .linklore/ dentro do seu projeto. Nenhuma conta necessária para começar.
  • Contexto de código — registros vinculam a arquivos de origem; detecção de desatualização baseada em git-diff sinaliza memória que o código superou.
  • Recuperação barata — consulte por significado, tag, arquivo, status ou período; um brief() de início de sessão retorna itens abertos e pontos críticos em algumas centenas de tokens.

Início Rápido

Roda direto do PyPI — sem instalação ou clone (uvx llre).

Claude Code

claude mcp add llre -- uvx llre

Qualquer outro cliente MCP (Cursor, Codex, Windsurf, …) — adicione à configuração MCP do projeto (ex.: .mcp.json):

{
  "mcpServers": {
    "llre": {
      "command": "uvx",
      "args": ["llre"]
    }
  }
}

Em seguida, inicialize, uma vez, na raiz do projeto:

uvx llre init

Ou deixe seu agente fazer tudo — este é um servidor feito para ser configurado por um agente de IA em vez de digitado manualmente. Cole isto como sua primeira mensagem para Claude Code, Cursor, Codex ou qualquer outro agente compatível com MCP:

Configure o LinkLore (um servidor MCP para memória de projeto) neste repositório. É o pacote PyPI llre, executado via uvx llre — sem necessidade de instalação ou clone. Registre-o como um servidor MCP para o cliente que você for (Claude Code: claude mcp add llre -- uvx llre; caso contrário, adicione {"mcpServers": {"llre": {"command": "uvx", "args": ["llre"]}}} ao .mcp.json deste projeto), depois execute uvx llre init aqui. Pergunte-me primeiro antes de executar uvx llre login — ele abre um navegador para login do Google e só é necessário para backup pessoal ou compartilhamento em equipe.

O Ciclo

Como um agente realmente o usa, em ordem:

start a session       →  brief()                  open items, recent activity, hotspots
about to touch code   →  show(file=..., query=…)  decisions & pitfalls tied to that area
decided / got burned  →  add(type='lore', …)      record it, linked to the files involved
spec or plan          →  add(type='doc', …)       instead of a standalone .md
something changed     →  edit(id=..., …)          append, replace a section, or supersede
memory getting messy  →  doctor() · cleanup()     integrity check, duplicate detection
back up / share       →  push() · openbox(…)      your server space · invite-only shared boxes

Ferramentas Disponíveis

23 ferramentas. Chame qualquer uma delas com help=True para uso completo.

CategoriaFerramentaO que faz
ConfiguraçãoinitConfigura .linklore/ no diretório atual
ProjetobriefPainel de início de sessão — itens abertos, atividade recente, pontos críticos
ProjetostatusDetecção de desvio de sincronização código↔doc (baseado em git-diff)
ProjetoconfigConfigurações do projeto, fontes externas, fixação de sessão
DiagnósticodoctorVerificação de integridade de dados; action='fix' repara automaticamente
RegistroaddCria lore ou doc; items=[{...}] cria em lote
RegistroeditModifica um item — anexar (padrão), substituir uma seção, sobrescrever ou superar
RegistrormExcluir — lixeira recuperável por padrão, force=True para permanente
RegistrorestoreRecuperar da lixeira; sem id lista a lixeira
RegistrolocalMover/copiar/visualizar itens entre espaços de trabalho locais irmãos
BuscashowConsulta por id, texto, tag, status, arquivo ou período; visualizações de grafo e tag
BuscalogHistórico de alterações
LinklinkConecta dois itens (lore↔lore, doc↔doc, doc↔lore)
LinkunlinkDesconecta dois itens
Visualização de docdoc_flowRenderiza a cadeia de fluxo de um doc em ordem
Visualização de docdoc_mapVisão geral da rede completa de links de doc
Visualização de docdoc_rollupColeta lore vinculado a um doc em um rascunho de resumo de IA
LimpezacleanupDetecta candidatos a lore/doc quase duplicados
Meu servidorpushFaz backup do armazenamento local para o seu próprio espaço no servidor
Meu servidorpullRestaura do seu próprio espaço no servidor
OpenboxopenboxTodo o compartilhamento entre proprietários atrás de um único portão — push/pull, navegar, convidar/entrar, papéis
FeedbackreportEnvia feedback ou relatório de bug diretamente para a equipe

O guia completo vem dentro do produto, como lore — LinkLore se documenta com ele mesmo. Após init(), seu projeto o carrega como uma fonte somente leitura:

show(tag='guide')

Ele é atualizado com o pacote: atualize llre e brief() informa o que mudou.

Estrutura do Repositório

  • mcp/ — a parte legível do código-fonte do servidor MCP (PyPI: llre)
  • plugin/ — wrapper de plugin do Claude Code

Modelo de Código-Fonte

Majoritariamente legível, núcleo compilado. Este repositório publica o código-fonte do servidor MCP de forma clara — o ponto de entrada, catálogos i18n, utilitários base e o guia de integração — sob a Elastic License 2.0. Os módulos centrais (busca, ranqueamento, detecção de contradição, a lógica das ferramentas) são distribuídos como extensões compiladas no wheel publicado, em vez de código-fonte em texto puro, então "leia cada linha e faça um fork" não é 100% verdade — mas a maioria é legível, e você pode executá-lo, hospedá-lo você mesmo e usá-lo comercialmente dentro da sua própria organização. Preferimos ser transparentes de que a lógica principal é compilada do que fingir que é totalmente aberto.

Esta árvore não é compilável por conta própria (os módulos compilados não estão aqui) — instale o pacote publicado em vez disso: uvx llre.

Pesquisa

LinkLore é o estudo de caso do artigo "When the Agent Is the User: Agent-Driven Evolution of AI-Native Tools" — definindo a categoria AI-Native Tools, onde o agente de IA é o operador principal.

DOI: 10.5281/zenodo.21216858 · citação: CITATION.cff

Licença

Elastic License 2.0. Livre para instalar e usar; você não pode fornecer o software como um serviço gerenciado concorrente, contornar a funcionalidade de chave de licença ou remover avisos de licenciamento.

Sincronização de equipe, compartilhamento entre projetos e backup em nuvem são fornecidos pelo serviço de backend em linklore.io (não faz parte deste repositório).