Decispher

O Decispher captura as decisões, convenções e restrições das conversas que sua equipe já tem no Slack, GitHub, GitLab e Jira e as devolve para cada pessoa e cada agente que precisa delas. Automaticamente.

Documentação

Servidor MCP

Uma instalação. Toda ferramenta de IA que seu time usa ganha acesso ao vivo ao seu grafo de conhecimento. Cursor, Claude Code e VS Code Copilot consultam o mesmo contexto, sempre atualizado.

Início rápido

Configure o servidor MCP do Decispher no Claude Code em 5 minutos

Três passos: gere uma chave, registre o servidor, faça uma pergunta. O Claude Code executa o servidor via npx, então não há nada para instalar.

1. Gere uma chave de API com escopo de projeto e dê um nome a ela nesta máquina. No painel, vá em Projeto → Integrações → Servidor MCP → Gerar Chave. Copie-a agora; a chave completa é exibida apenas uma vez. Em seguida, armazene-a sob um nome:

npx decispher@latest link

O nome é público e deve ser commitado. A chave permanece em ~/.decispher/links.json e nunca chega a um arquivo do projeto.

2. Registre o servidor no Claude Code. Execute:

claude mcp add decispher \
  -e DECISPHER_LINK=acme \
  -- npx -y @decispher/mcp-server

Verifique se foi registrado com claude mcp list (ou /mcp dentro do Claude Code). Você deve ver as ferramentas do Decispher listadas.

3. Faça sua primeira pergunta. Em uma sessão do Claude Code, basta perguntar, e o Claude chamará ask_knowledge_base e responderá com base no registro do seu time, com citações:

> What did we decide about the worker queue, and why?

Decispher → ask_knowledge_base
We use BullMQ over SQS: SQS cold-starts add latency to the worker
fleet, so BullMQ + Redis keeps workers warm.
Captured from #engineering, approved 2026-06-18.  [decision:8f2c…]

Essa resposta veio do seu registro de decisões, não de um palpite, e a recuperação é registrada com os tokens que economizou. Quer o mesmo no Cursor ou no VS Code? As configurações estão abaixo, ou siga o guia de contexto de time para Cursor.

O que é?

O grafo de conhecimento do seu time, ao vivo via MCP

O Servidor MCP do Decispher é um pacote npm que implementa o Model Context Protocol, uma interface padrão que ferramentas de codificação com IA usam para buscar contexto externo no momento da consulta. Uma vez instalado, qualquer agente compatível com MCP pode chamar as ferramentas do Decispher para recuperar decisões, restrições e convenções do seu time em tempo real.

Diferente de arquivos CLAUDE.md ou .cursorrules, que são snapshots estáticos carregados uma vez no início da sessão, o servidor MCP serve dados ao vivo. Uma decisão capturada no Slack às 9h pode ser consultada pelos seus agentes às 9h01.

📄

Arquivos estáticos (CLAUDE.md, .cursorrules)

Carregados uma vez no início da sessão. Desatualizados até o próximo Git sync. Sem medição de tokens. Sem frescor por consulta.

⚡

Servidor MCP

Consultado sob demanda. Sempre atualizado. Recibo por chamada. Isolamento por escopo de projeto. Recuperação por grafo de símbolos.

Por que usar?

Porque arquivos de contexto estáticos têm um problema de frescor

Um CLAUDE.md commitado no seu repositório era preciso no dia em que foi gerado. No dia seguinte, seu time entrega três decisões, uma restrição é substituída e uma nova convenção é adotada. O arquivo commitado não faz ideia disso.

O servidor MCP resolve isso servindo contexto do grafo de conhecimento ao vivo do Decispher, a mesma fonte de verdade que seu painel consulta. O agente sempre obtém o estado atual, não um snapshot do último Git sync.

Sempre atualizado

Novo contexto capturado do Slack ou GitHub é consultável imediatamente, sem necessidade de commit, PR ou invalidação de cache.

Isolamento por escopo de projeto

Uma chave de API com escopo de projeto retorna apenas unidades de contexto ativas naquele projeto. O agente do projeto A não consegue ver decisões rejeitadas ou irrelevantes do projeto B.

Recuperação por grafo de símbolos

get_context_for_file faz correspondência com nomes de funções, identificadores de tipos e rótulos técnicos canônicos, não apenas busca por palavras-chave ou similaridade de embeddings.

Recibo por chamada

Cada chamada MCP é registrada com tokens economizados, modelo usado e escopo do projeto. Seu painel mostra exatamente o que cada agente está consumindo e o que isso economiza para você.

O que você obtém

Economia de tokens mensurável, com recibo por chamada

Cada chamada MCP que retorna contexto evita que seu agente descubra esse contexto do jeito lento, buscando, perguntando ou alucinando. O Decispher mede essa economia em cada chamada e mostra o total acumulado no seu painel.

Exemplo: uma única chamada check_intent

tokens de consulta do agente: 240

contrafactual (sem MCP): 1.840 ← custo estimado de redescoberta

tokens economizados (líquido): +1.600

nas taxas de modelos de fronteira: ≈ US$ 0,0048 economizados

O conjunto de ferramentas

Uma ferramenta para cada padrão de consulta

check_intent 1 crédito

Envie uma descrição do que o agente está prestes a fazer. O Decispher retorna regras conflitantes E unidades de contexto relevantes antes que qualquer código seja escrito. Retorna BLOCKED (conflito grave, pare), WARN (tensão, prossiga com cautela) ou CLEAR. Chame antes de cada mudança significativa.

decispher.check_intent({ description: "adicionar cache redis na busca do token de autenticação", files: ["src/auth/token-manager.ts"] })

search_decisions 1 crédito

Busca semântica em todos os 7 tipos de contexto. Passe tipos para filtrar (ex.: ["constraint", "decision"]) ou omita para buscar em tudo. Resultados classificados por relevância à consulta e frescor.

decispher.search_decisions({ query: "por que BullMQ e não SQS", types: ["decision", "rationale"] })

get_constraints 1 crédito

Busque todas as restrições arquiteturais ativas do projeto: as regras rígidas que o agente não pode violar. Suporta paginação via cursor e um orçamento de tokens. Chame uma vez por sessão e armazene em cache para a execução.

decispher.get_constraints()

check_conventions 1 crédito

Recupere todas as convenções de codificação ativas. Use para alinhar o código gerado aos padrões do time antes de enviar. Cobre nomenclatura, padrões, escolhas de bibliotecas e decisões de estilo.

decispher.check_conventions()

get_context_for_file 1 crédito

Passe um caminho de arquivo (ou até 10 via filePaths[]). O Decispher lê o arquivo do disco, extrai identificadores e símbolos, e retorna unidades de contexto cujas decisões capturadas se relacionam àquele arquivo ou àqueles símbolos. Usa pontuação híbrida de símbolos + embeddings.

decispher.get_context_for_file({ filePath: "src/auth/token-manager.ts" })

ask_knowledge_base 1–8 créditos

Faça uma pergunta em linguagem natural. O Decispher recupera unidades de contexto relevantes e sintetiza uma resposta de LLM com citações das fontes. O custo varia com o modo de esforço (Saver 1 / Balanced 2 / Pro 6). Cada resposta mostra de quais unidades ela se baseou.

decispher.ask_knowledge_base({ question: "por que usamos HNSW e não IVFFlat para índices vetoriais?" })

list_topics Grátis

Liste todos os slugs de tópicos canônicos disponíveis neste projeto. Grátis: a primitiva de descoberta. Use primeiro quando precisar explorar uma área desconhecida ou confirmar um ID de tópico antes de chamar get_context_for_topic.

decispher.list_topics()

get_context_for_topic 1 crédito

Busque o cluster de contexto curado para um tópico. Retorna unidades principais inline (as regras CRITICAL sempre carregadas) além de IDs e títulos de unidades de expansão; chame get_decision em qualquer um desses IDs para o corpo completo.

decispher.get_context_for_topic({ topic: "auth" })

get_decision Grátis

Busque o corpo completo de uma unidade de contexto específica por ID: título, declaração do problema, justificativa, alternativas consideradas, arquivos afetados e fontes. Use após qualquer ferramenta retornar um ID que valha uma busca profunda. Consulta direta, sem LLM.

decispher.get_decision({ decisionId: "0e3f1c2a-bc91-d109-..." })

get_related_context 1–4 créditos

Percorra o grafo de conhecimento ao redor de uma unidade antes de alterá-la ou contradizê-la: o que ela substitui, estende, deriva, documenta, confirma ou conflita, retornado como um subgrafo limitado em vez de uma cadeia de consultas por ID. Profundidade 1 ou 2, filtrável por tipo de relação. Unidades fora do escopo do projeto da sua chave aparecem como stubs apenas de relação e nunca são expandidas, então um conflito que você não pode ler ainda é um conflito sobre o qual você é informado. Travessia determinística, sem LLM.

decispher.get_related_context({ decisionId: "0e3f1c2a-…", depth: 2 })

capture_decision Grátis

Escreva novo conhecimento de volta na base de conhecimento do time. Use apenas para conhecimento durável e reutilizável que valha ser lembrado na próxima sessão. Se um quase-duplicado já existir, o ID da unidade existente é retornado com alreadyExists: true e nada é inserido, então um agente recapturando a mesma coisa é seguro em vez de ruidoso. Capturas de agentes são rotuladas como tal para que humanos revisando o registro possam diferenciá-las.

decispher.capture_decision({ type: "constraint", title: "Use HNSW not IVFFlat for new vector indexes", decision: "...", rationale: "..." })

copy_chat 1–8 créditos

Comprima a conversa atual de IA em um snapshot portátil. O servidor retorna uma clipKey aleatória que você pode compartilhar entre máquinas, IDEs ou ferramentas de IA. O modelo destila um resumo estruturado: título, objetivo, status, o que estava em andamento, decisões, código e arquivos, restrições, erros e correções, perguntas em aberto, as alternativas exploradas, cada turno do usuário verbatim, e próximos passos rastreados até a solicitação que os autorizou. Armazenado apenas no Redis, nunca entra no grafo de conhecimento. TTL de 7 dias. Cobrado por cópia, mais uma pequena sobretaxa para transcrições muito grandes.

decispher.copy_chat({ messages: history }) // → { clipKey: "dsk-clip-…", estimatedReadySeconds: 30 }

paste_chat Grátis

Restaure um snapshot pela clipKey. O conteúdo retornado se torna a memória de trabalho da nova sessão, então o agente o lê a frio e continua exatamente de onde a sessão anterior parou. Seções que não cabem no orçamento de resposta são nomeadas e mantidas atrás de um cursor de continuação gratuito, ou buscadas uma a uma. Sempre grátis. Funciona em qualquer máquina e qualquer ferramenta de IA conectada ao Decispher. Retorna um estado vazio elegante se a chave estiver errada ou o snapshot tiver expirado.

decispher.paste_chat({ clipKey: "dsk-clip-…" }) decispher.paste_chat({ clipKey: "dsk-clip-…", section: "errors_fixes" })

list_clips Grátis

Liste os snapshots que seu time salvou, do mais recente ao mais antigo, com suas chaves, títulos, tamanhos e expiração. Uma clipKey é lida uma vez de um terminal e fácil de perder; é assim que você a recupera. Apenas metadados, nunca os corpos dos snapshots.

decispher.list_clips({ status: "ready" })

update_context_metadata Grátis

Atualize os metadados do ciclo de vida de uma unidade existente: expiração, tags, arquivos afetados, severidade. Ou defina stillAccurate para redefinir o relógio de frescor após revalidá-la. Corpos nunca são editados aqui; uma decisão que realmente mudou deve ser capturada como uma nova unidade substituta. Desativado por padrão até um administrador habilitar atualizações de agentes.

decispher.update_context_metadata({ contextId: "0e3f1c2a-…", stillAccurate: true })

store_read Grátis

Leia o armazenamento de branch: a memória de trabalho compartilhada para um branch git. Retorna o cabeçalho de resumo (último estado e perguntas em aberto), unidades em estágio aguardando revisão, entradas atribuídas recentes de outros agentes e humanos, e unidades vinculadas do grafo de conhecimento. Chame no início de uma sessão em um branch existente para começar aquecido em vez de frio.

decispher.store_read({ repo: "acme/api", branch: "feat/token-refresh" })

store_write Grátis

Adicione uma entrada atribuída ao armazenamento de branch. entryType direciona o cabeçalho de resumo: state e handoff substituem o último estado, question abre uma, answer fecha uma, note é apenas linha do tempo. Escreva um handoff antes de parar para que o próximo agente continue exatamente de onde você parou.

decispher.store_write({ repo: "acme/api", branch: "feat/token-refresh", entryType: "handoff", content: "Caminho de refresh concluído, rotação ainda em aberto" })

store_list Grátis

Liste os armazenamentos de branch visíveis para esta chave: branch, repositório, último estado, contagem de perguntas em aberto, última atividade. Use para encontrar onde o trabalho já está em andamento antes de pegar um branch.

decispher.store_list()

store_link Grátis

Vincule o branch a uma unidade existente do grafo de conhecimento por ID, como uma decisão que este branch implementa ou da qual depende. Unidades vinculadas aparecem então por título em todo store_read nesse branch.

decispher.store_link({ repo: "acme/api", branch: "feat/token-refresh", decisionId: "0e3f1c2a-…" })

session_record Grátis

Auto-relate um momento notável desta sessão: uma decisão não óbvia, uma restrição descoberta do jeito difícil, uma abordagem tentada e abandonada, ou uma pergunta esclarecedora cuja resposta moldou o trabalho. O relato é colocado em estágio para um humano promover, nunca escrito diretamente no registro. Use com moderação para conhecimento durável; use store_write para notas de progresso.

decispher.session_record({ repo: "acme/api", branch: "feat/token-refresh", type: "history", statement: "Tentei rotacionar a cada requisição, atingi o limite de taxa do provedor" })

remember 1–3 créditos Salve uma memória durável pessoal ou de equipe: uma preferência, um estilo de trabalho, um fato do ambiente, uma norma do time. Solicitações humanas explícitas são salvas como ativas; qualquer coisa que o agente oferecer por conta própria vira uma proposta que o dono confirma. O escopo padrão é a memória privada do usuário, e compartilhar de forma mais ampla é uma solicitação que um administrador aprova. Requer que a Memória esteja habilitada para a sua empresa.

decispher.remember({ body: "Use pnpm, never npm, in this org", userRequested: true })

get_memory Grátis

Desreferencie uma memória por ID a partir de um manifesto servido, retornando o corpo completo e a proveniência. Deliberadamente não há ferramenta de busca de memória: a memória relevante é injetada na sessão para você, então o agente apenas desreferencia.

decispher.get_memory({ memoryId: "b41c7e90-…" })

Instalação

Um pacote npm, três arquivos de configuração

O servidor é distribuído como @decispher/mcp-server. Você não precisa instalá-lo globalmente; todos os três exemplos de configuração abaixo usam npx para puxar a versão mais recente automaticamente.

Configuração do Cursor

Escopo do projeto ou global

Adicione ao .cursor/mcp.json na raiz do seu projeto (escopo deste repositório) ou ~/.cursor/mcp.json (todos os projetos).

{
  "mcpServers": {
    "decispher": {
      "command": "npx",
      "args": ["-y", "@decispher/mcp-server"],
      "env": {
        "DECISPHER_LINK": "acme"
      }
    }
  }
}

Confirmar este arquivo compartilha o nome, nunca a chave. Cada colega de equipe executa npx decispher@latest link uma vez e suas próprias credenciais respondem a ele.

Configuração do Claude Code

Via a CLI do Claude Code

claude mcp add decispher \
  -e DECISPHER_LINK=acme \
  -- npx -y @decispher/mcp-server

Ou adicione diretamente pela interface do Claude Code: Configurações → Servidores MCP → Adicionar servidor.

Configuração do VS Code

GitHub Copilot + MCP

Adicione ao .vscode/mcp.json na raiz do seu workspace:

{
  "servers": {
    "decispher": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@decispher/mcp-server"],
      "env": {
        "DECISPHER_LINK": "acme"
      }
    }
  }
}

Chaves na configuração

A saída de emergência, e os três lugares onde ela é a resposta certa

Tudo acima coloca um nome no arquivo e mantém a chave na sua máquina. Colocar a chave na própria configuração é totalmente suportado e não vai desaparecer, porque três situações realmente precisam disso:

  • O Decispher Worker injeta credenciais por execução em um sandbox que não tem diretório home para armazenar um repositório de links, e nunca deveria ter.
  • CI e contêineres são reconstruídos do zero a cada execução, então uma variável de ambiente é a única coisa que sobrevive.
  • Testar o MCP antes de instalar a CLI, onde ainda não há link para nomear.

Toda configuração existente continua funcionando sem alterações. As mesmas três formas:

{
  "mcpServers": {
    "decispher": {
      "command": "npx",
      "args": ["-y", "@decispher/mcp-server"],
      "env": {
        "DECISPHER_API_URL": "https://api.decispher.com",
        "DECISPHER_API_KEY": "dsk_your_key_here",
        "DECISPHER_COMPANY_ID": "your-company-uuid"
      }
    }
  }
}
claude mcp add decispher \
  -e DECISPHER_API_KEY=dsk_your_key_here \
  -e DECISPHER_API_URL=https://api.decispher.com \
  -e DECISPHER_COMPANY_ID=your-company-uuid \
  -- npx -y @decispher/mcp-server
{
  "servers": {
    "decispher": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@decispher/mcp-server"],
      "env": {
        "DECISPHER_API_URL": "https://api.decispher.com",
        "DECISPHER_API_KEY": "dsk_your_key_here",
        "DECISPHER_COMPANY_ID": "your-company-uuid"
      }
    }
  }
}

DECISPHER_COMPANY_ID agora é opcional. Presente, é usado e uma ida e volta é pulada; ausente, o servidor o resolve a partir da chave na primeira chamada de ferramenta. A Memória também funciona aqui, via DECISPHER_IDENTITY_KEY e DECISPHER_SET_KEY.

Definir tanto um link quanto uma variável de ambiente é aceitável: eles se compõem campo por campo, com cada variável sobrescrevendo apenas aquele campo do link.

Chaves de API

Escopo da empresa ou do projeto

Gere chaves na página de Integrações do seu projeto: Projeto → Integrações → Servidor MCP → Gerar chave. As chaves são mostradas apenas uma vez, então copie imediatamente.

Chave da empresa dsk_co_…

Retorna resultados em todos os projetos. Use para um ambiente de desenvolvimento pessoal onde você trabalha em vários repositórios.

Chave do projeto dsk_pr_…

Retorna apenas unidades de contexto ativas neste projeto. Use para CI por repositório, configuração de IDE específica do projeto ou pipelines de agente com escopo em um único serviço.

Variáveis de ambiente: DECISPHER_LINK (um link nesta máquina) · DECISPHER_SET (conjuntos de memória para anexar, por nome) · DECISPHER_API_KEY (em vez de um link, para CI e contêineres) · DECISPHER_API_URL · DECISPHER_COMPANY_ID (opcional, resolvido a partir da chave quando ausente)

Custos de crédito

Pague apenas pelo que consultar

Custos por chamada

  • list_topics GrátisDescoberta de namespace somente leitura, sem LLM ou consulta vetorial
  • get_decision GrátisBusca direta por ID, sem chamada de LLM
  • capture_decision GrátisGravação é gratuita: queremos que agentes registrem o que aprendem
  • update_context_metadata GrátisPatch de ciclo de vida ou redefinição de frescor, sem chamada de LLM
  • store_read / store_write GrátisMemória de trabalho de branch, sempre gratuita
  • store_list / store_link GrátisDescoberta e vinculação de branch, sempre gratuitas
  • session_record GrátisEnfileirado para revisão humana, sempre gratuito
  • get_memory GrátisDesreferencie uma memória servida, sem chamada de LLM
  • paste_chat GrátisLeia a área de transferência, sempre gratuito, páginas de continuação incluídas (TTL de 7 dias)
  • list_clips GrátisEncontre um snapshot cuja chave você perdeu, apenas metadados
  • check_intent 1 créditoVarredura de conflito vetorial + palavra-chave (Saver/Balanced 1 · Pro 2)
  • search_decisions 1 créditoBusca semântica em todos os 7 tipos de contexto
  • get_constraints 1 créditoConsulta filtrada somente leitura
  • check_conventions 1 créditoConsulta filtrada somente leitura
  • get_context_for_file 1 créditoHíbrido de grafo de símbolos + incorporação
  • get_context_for_topic 1 créditoCluster de tópico curado com espinha inline
  • remember 1–3 créditosIncorporação e fusão antes de retornar: Saver 1 · Balanced 2 · Pro 3
  • ask_knowledge_base 1–8 créditosResposta sintetizada por LLM: Saver 1 · Balanced 2 · Pro 6
  • copy_chat 1–8 créditosLLM comprime conversa para a área de transferência: Saver 1 · Balanced 2 · Pro 4 · Super 8, mais 1–4 para transcrição muito grande

Pronto para conectar seus agentes?

Solicite acesso beta e obtenha sua primeira chave de API em minutos.

Request Access