GZOO Cortex MCP Server

oficial

Grafo de conhecimento local para desenvolvedores. Monitora arquivos do projeto, extrai entidades e relacionamentos via LLMs, e permite consultar entre projetos com linguagem natural e citações de fontes.

Documentação

GZOO Cortex

GZOO Cortex — Local-first knowledge graph for developers

Grafo de conhecimento local-first para desenvolvedores. Monitora os arquivos dos seus projetos, extrai entidades e relacionamentos usando LLMs e permite consultar todos os seus projetos em linguagem natural.

“Quais decisões de arquitetura tomei entre os projetos?”

O Cortex encontra decisões nos seus READMEs, arquivos TypeScript, arquivos de configuração e exportações de conversas — e então sintetiza uma resposta com citações das fontes.

Por quê

Você trabalha em vários projetos. Decisões, padrões e contexto estão espalhados por centenas de arquivos. Você esquece o que decidiu três meses atrás. Você resolve problemas que já havia resolvido em outro repositório.

O Cortex monitora os diretórios dos seus projetos, extrai conhecimento automaticamente e o devolve quando você precisa.

O que ele faz

  • Monitora seus arquivos de projeto (md, ts, js, py, json, yaml) em busca de alterações
  • Extrai entidades: decisões, padrões, componentes, dependências, restrições, itens de ação
  • Infere relacionamentos entre entidades entre projetos
  • Detecta contradições quando decisões entram em conflito
  • Consulta em linguagem natural com citações das fontes
  • Busca semanticamente — combina similaridade por palavra-chave e vetorial (embedding) para que as consultas correspondam por significado, não apenas por palavras-chave (opcional; veja Busca Semântica)
  • Roteia de forma inteligente entre LLMs locais e na nuvem
  • Respeita a privacidade — projetos restritos nunca saem da sua máquina
  • Painel web com visualização do grafo de conhecimento, feed ao vivo e explorador de consultas
  • Servidor MCP para integração direta com o Claude Code

Início Rápido

1. Instalar

npm install -g @gzoo/cortex

Se a instalação global falhar com EACCES, use um prefixo de usuário:

mkdir -p ~/.local
npm config set prefix ~/.local
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
npm install -g @gzoo/cortex

Ou instale a partir do código fonte:

git clone https://github.com/gzoonet/cortex.git
cd cortex
npm install && npm run build && npm link

Verifique: cortex --version (versão atual: 0.8.1)

2. Configuração

Execute o assistente interativo:

cortex init
cortex doctor                              # verify config, providers, and DB

Ele o guiará por:

  • Provedor LLM — Anthropic, Google Gemini, DeepSeek, Groq, OpenRouter ou Ollama (local)
  • Chave de API — salva com segurança em ~/.cortex/.env
  • Modo de roteamento — cloud-first, híbrido, local-first ou somente local
  • Diretórios monitorados — quais diretórios o Cortex deve monitorar
  • Limite de orçamento — teto de gastos mensais com LLM

cortex init grava a configuração global em ~/.cortex/cortex.config.json. As chaves de API vão em ~/.cortex/.env.

3. Registrar Projetos

cortex projects add my-app ~/projects/app
cortex projects add api ~/projects/api
cortex projects list                       # verify

4. Ingerir, Monitorar e Consultar

Preencha os arquivos existentes primeiro — o monitor só capta novas alterações:

cortex ingest "~/projects/app/src/**/*.ts"   # one-shot backfill
cortex serve                                 # dashboard + API + file watcher (recommended)
ComandoO que faz
cortex servePainel web + API + monitor de arquivos (ignoreInitial — sem reingestão ao iniciar)
cortex watchMonitor de arquivos somente CLI (sem painel)
cortex ingestIngestão única; os eventos não aparecem no Feed ao Vivo

Não execute watch e serve juntos — eles competem pelas alterações de arquivo. O Feed ao Vivo mostra eventos em tempo real apenas do cortex serve (arquivos salvos enquanto o servidor está em execução).

cortex query "what caching strategies am I using?"
cortex query "what decisions have I made about authentication?"
cortex find "PostgreSQL" --expand 2
cortex contradictions

5. Painel Web

cortex serve                               # open http://localhost:3710

Acesso remoto:

cortex serve --host 0.0.0.0

A autenticação é aplicada automaticamente em hosts que não sejam localhost. Um token de portador é gerado automaticamente e salvo em ~/.cortex/.env (leia-o com grep CORTEX_SERVER_AUTH_TOKEN ~/.cortex/.env). Abra o painel uma vez com http://<host>:3710/?token=<token> — o token é incorporado apenas para solicitações que já comprovem sua posse e é mantido para a aba do navegador (para que visitantes anônimos nunca o recebam). Chamadas de API/WebSocket atrás de um proxy reverso usam Authorization: Bearer <token>.

Excluindo Arquivos e Diretórios

O Cortex ignora node_modules, dist, .git e outros diretórios comuns por padrão. Para adicionar mais:

cortex config exclude add docs             # exclude a directory
cortex config exclude add "*.log"          # exclude by pattern
cortex config exclude list                 # see all excludes
cortex config exclude remove docs          # remove an exclude

Como Funciona

O Cortex executa um pipeline a cada alteração de arquivo:

  1. Analisar — o conteúdo do arquivo é dividido em partes por um analisador ciente da linguagem (tree-sitter para código, remark para markdown)
  2. Extrair — o LLM identifica entidades (decisões, componentes, padrões, etc.)
  3. Relacionar — o LLM infere relacionamentos entre entidades novas e existentes
  4. Detectar — contradições e duplicatas são sinalizadas automaticamente
  5. Armazenar — entidades, relacionamentos e vetores vão para SQLite + LanceDB
  6. Consultar — consultas em linguagem natural pesquisam o grafo e sintetizam respostas

Todos os dados permanecem locais em ~/.cortex/. Apenas as chamadas à API do LLM saem da sua máquina (e nunca para projetos restritos).

Provedores de LLM

O Cortex é agnóstico em relação ao provedor. Ele suporta:

  • Anthropic Claude (Sonnet, Haiku) — via API nativa da Anthropic
  • Google Gemini — via API compatível com OpenAI
  • DeepSeek (Reasoner, Chat) — raciocínio forte, muito acessível
  • Groq — inferência rápida com camada gratuita
  • Qualquer API compatível com OpenAI — OpenRouter, proxies locais, etc.
  • Ollama (Mistral, Llama, etc.) — totalmente local, sem necessidade de nuvem

O rastreamento de custos usa taxas cientes do provedor para modelos DeepSeek, Gemini, Groq e OpenRouter — não um fallback genérico da Anthropic.

Embeddings (para busca semântica) são configurados como um provedor separado — independente do seu modelo de chat — para que você possa executar o chat no DeepSeek e os embeddings no OpenAI. Veja Busca Semântica.

Modos de Roteamento

ModoCusto na NuvemQualidadeOllama Necessário
cloud-firstVaria por provedorMais altaNão
hybridReduzidoAltaSim
local-firstMínimoBoaSim
local-only$0BoaSim

No modo cloud-first, todas as tarefas são roteadas para o seu provedor de nuvem. O Ollama não é necessário e só é usado se o fallback de orçamento estiver habilitado. O modo híbrido roteia tarefas de alto volume (extração de entidades, classificação) para o Ollama e tarefas com raciocínio pesado (inferência de relacionamentos, consultas) para o seu provedor de nuvem.

Requisitos

  • Node.js 20+
  • Chave de API do LLM para modos em nuvem — Anthropic, Google Gemini, DeepSeek, Groq ou qualquer provedor compatível com OpenAI
  • Ollama — apenas para os modos hybrid, local-first ou local-only (instalar)

Configuração

A configuração é em camadas — fontes posteriores substituem as anteriores:

PrioridadeLocalizaçãoEscopo
1Padrões internosGlobal
2~/.cortex/cortex.config.jsonGlobal (criado por cortex init)
3./cortex.config.jsonSubstituições do projeto (opcional)
4Variáveis de ambiente CORTEX_*Sessão

As chaves de API são armazenadas separadamente em ~/.cortex/.env (nunca no JSON de configuração).

cortex config list                       # see all non-default settings
cortex config set llm.mode hybrid        # switch routing mode
cortex config set llm.budget.monthlyLimitUsd 10  # set budget
cortex config exclude add vendor         # exclude a directory from watching
cortex privacy set ~/clients restricted  # mark directory as restricted
cortex doctor                            # validate setup

Referência completa de configuração: docs/configuration.md

Busca Semântica (Embeddings)

O Cortex combina busca por palavra-chave (texto completo) com similaridade vetorial, para que as consultas correspondam por significado em vez de palavras exatas. Os embeddings são opcionais e desativados por padrão — habilite-os com um provedor de embeddings na nuvem (sem necessidade de GPU local ou Ollama):

cortex config set llm.embeddings.enabled true
cortex config set llm.embeddings.baseUrl https://api.openai.com/v1
cortex config set llm.embeddings.model text-embedding-3-small
cortex config set llm.embeddings.apiKeySource env:OPENAI_API_KEY
cortex config set llm.embeddings.dimensions 1536
# then add the key to ~/.cortex/.env:
echo 'OPENAI_API_KEY=sk-...' >> ~/.cortex/.env

O provedor de embeddings é independente do seu provedor de chat — execute o chat no DeepSeek (ou Anthropic, Groq, …) e os embeddings no OpenAI. Qualquer endpoint de embeddings compatível com OpenAI funciona.

Novos arquivos recebem embedding automaticamente conforme são ingeridos. Para construir o índice de um grafo que você ingeriu, execute uma reindexação única:

cortex reindex                 # all projects
cortex reindex my-app          # a single project

Comandos

ComandoDescrição
cortex initAssistente de configuração interativo
cortex doctorValidar configuração, provedores, projetos, segredos e banco de dados
cortex projects add/list/remove/showGerenciar projetos registrados
cortex servePainel web + API + monitor de arquivos (porta 3710)
cortex watch [project]Monitor de arquivos somente CLI
cortex ingest <file-or-glob>Ingestão única de arquivos (separada do Feed ao Vivo)
cortex reindex [project]Reconstruir o índice de busca semântica (embedding) para entidades existentes
cortex query <question>Consulta em linguagem natural com citações
cortex find <term>Encontrar entidades por nome
cortex statusEstatísticas do grafo, custos, status do provedor
cortex costsDetalhamento detalhado de custos
cortex contradictionsListar contradições ativas
cortex resolve <id>Resolver uma contradição
cortex models list/pull/test/infoGerenciar modelos do Ollama
cortex mcpIniciar servidor MCP para Claude Code
cortex reportResumo pós-ingestão
cortex privacy set/listDefinir privacidade do diretório
cortex config list/get/set/validateLer/escrever configuração
cortex config exclude add/remove/listGerenciar exclusões de arquivos/diretórios
cortex stop / cortex restartGerenciar processos de monitoramento/servidor em execução
cortex dbOperações de banco de dados

Referência completa da CLI: docs/cli-reference.md

Painel Web

Execute cortex serve para abrir um painel web completo em http://localhost:3710 com:

  • Painel Inicial — estatísticas do grafo, atividade recente, divisão por tipo de entidade
  • Grafo de Conhecimento — grafo de força D3 interativo com agrupamento, clique para explorar
  • Feed ao Vivo — eventos de alteração de arquivo e extração de entidade em tempo real via WebSocket (apenas do cortex serve)
  • Explorador de Consultas — consultas em linguagem natural com respostas em streaming
  • Resolvedor de Contradições — revisar e resolver decisões conflitantes

Implantação Remota

Para acesso além do localhost, vincule a todas as interfaces e coloque o Cortex atrás de um proxy reverso:

cortex serve --host 0.0.0.0

Exemplo de configuração nginx — proteja /api/ e /ws com autenticação básica; sirva ativos estáticos sem autenticação (o painel injeta o token de portador no HTML):

location /api/ {
    auth_basic "Cortex";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://127.0.0.1:3710;
    proxy_set_header Authorization "Bearer $CORTEX_TOKEN";
}

location /ws {
    auth_basic "Cortex";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://127.0.0.1:3710;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

location / {
    auth_basic off;
    proxy_pass http://127.0.0.1:3710;
}

Defina CORTEX_SERVER_AUTH_TOKEN ou server.auth.token na configuração. Quando a autenticação está habilitada, o Cortex injeta o token no HTML do painel para que as chamadas de API e WebSocket se autentiquem automaticamente.

Servidor MCP (Integração com Claude Code)

O Cortex inclui um servidor MCP para que o Claude Code possa consultar seu grafo de conhecimento diretamente:

claude mcp add cortex --scope user -- npx @gzoo/cortex mcp

Isso fornece ao Claude Code 12 ferramentas:

FerramentaDescrição
cortex_askPerguntas em linguagem natural sobre seus projetos
get_statusStatus do sistema e estatísticas do grafo
list_projectsListar projetos registrados
find_entityProcurar entidades por nome
query_cortexConsultas estruturadas ao grafo de conhecimento
get_contradictionsListar contradições detectadas
resolve_contradictionResolver uma contradição
search_entitiesPesquisar entidades com filtros
ingest_fileAcionar ingestão de arquivos
add_projectRegistrar um novo projeto
remove_projectCancelar o registro de um projeto
session_briefResumo do contexto para a sessão atual

Arquitetura

Monorepo com oito pacotes:

  • @cortex/core — tipos, EventBus, carregador de configuração, classes de erro
  • @cortex/ingest — analisadores de arquivo (tree-sitter + remark), divisor, monitor, pipeline
  • @cortex/graph — armazenamento SQLite, vetores LanceDB, mecanismo de consulta
  • @cortex/llm — provedores Anthropic/Gemini/compatível com OpenAI/Ollama, roteador, prompts, cache
  • @cortex/cli — CLI Commander.js
  • @cortex/mcp — servidor Model Context Protocol (transporte stdio, 12 ferramentas)
  • @cortex/server — API REST Express + retransmissão WebSocket
  • @cortex/web — Painel web React + Vite + D3

Documentação de arquitetura: docs/

Privacidade e Segurança

  • Arquivos classificados como restricted nunca são enviados para LLMs na nuvem
  • Arquivos sensíveis (.env, .pem, .key) são detectados e bloqueados automaticamente
  • Segredos de chave de API são escaneados e redigidos antes de qualquer transmissão para a nuvem
  • Todos os dados armazenados localmente em ~/.cortex/ — nada é enviado para casa

Arquitetura de segurança completa: docs/security.md

Construído Com

  • SQLite via better-sqlite3 — armazenamento de entidades e relacionamentos
  • LanceDB — embeddings vetoriais para busca semântica
  • Anthropic Claude — provedor de LLM em nuvem
  • Google Gemini — provedor de LLM em nuvem (via API compatível com OpenAI)
  • DeepSeek — provedor de LLM em nuvem (raciocínio + chat)
  • Groq — inferência rápida em nuvem
  • Ollama — inferência local de LLM
  • tree-sitter — análise de arquivos com reconhecimento de linguagem
  • Chokidar — monitoramento de arquivos multiplataforma
  • Commander.js — framework CLI
  • React + Vite — painel web
  • D3 — visualização de grafo de conhecimento

Contribuindo

Consulte CONTRIBUTING.md para diretrizes.

Licença

MIT — veja LICENSE

Sobre

Criado pela GZOO — uma plataforma de automação de negócios baseada em IA.

O Cortex começou como uma ferramenta interna para manter o contexto entre vários projetos de clientes. Nós o tornamos open-source porque todo desenvolvedor que trabalha em mais de uma coisa perde contexto, e acreditamos que esta abordagem — monitoramento automático de arquivos + grafo de conhecimento + consultas em linguagem natural — é a maneira certa de resolver isso.