Tently
Fornece ao Claude Code e ao Cursor as decisões de arquitetura do seu time antes de escreverem código, além de análise local do raio de impacto de um símbolo. As decisões são aprendidas dos seus PRs, reviews e docs pelo Tently.
Documentação
Tently MCP: revisão de pull requests com IA, dentro do seu agente de codificação
Tently é um revisor de código com IA para pull requests do GitHub. Ele detecta as duas coisas que revisores que olham apenas o diff não percebem: regressões em código que depende da alteração e mudanças que quebram decisões de design que seu time tomou de propósito. Ele aprende essas decisões a partir dos seus pull requests mesclados, threads de revisão e documentação, e verifica cada pull request contra elas.
Este repositório é o servidor MCP do Tently: as mesmas decisões, dentro do Claude Code, Cursor ou Codex enquanto o agente escreve código, antes de existir um pull request.
Como as peças se encaixam
O Tently é um único armazenamento de decisões com dois portões:
| Portão | Quando | O que faz |
|---|---|---|
| Revisão de pull request (GitHub App) | A cada PR | Publica um check run e comentários inline para regressões e desvios de decisão, com as evidências anexadas |
| Este servidor MCP | Enquanto o agente escreve | Permite que o agente consulte as decisões aplicáveis e o raio de impacto de uma alteração |
O servidor MCP precisa de um workspace Tently. Solicite acesso antecipado em tently.dev.
Configuração
Crie uma chave de API na página Connect em app.tently.dev e execute isto a partir da raiz do seu repositório:
npx @tently/mcp init --agent claude --api-key <your key>
Ou passe a chave pelo ambiente:
TENTLY_API_KEY=<your key> npx @tently/mcp init
init adiciona o servidor tently ao .mcp.json (Claude Code) ou .cursor/mcp.json (Cursor) e
instala uma pequena skill que informa ao agente quando usá-lo. Ele faz backup de qualquer arquivo antes de editá-lo,
mantém seus outros servidores MCP e imprime cada alteração. Reinicie seu agente depois.
--agent aceita claude, cursor, both ou auto (o padrão, que detecta o que está no
repositório).
Configuração manual
{
"mcpServers": {
"tently": {
"command": "npx",
"args": ["-y", "@tently/mcp", "mcp"],
"env": { "TENTLY_API_KEY": "<your key>" }
}
}
}
O que o agente recebe
search_decisions: as decisões que se aplicam ao código que ele está prestes a alterar, do seu workspace Tently. Cada uma indica se quebrá-la é bloqueante ou apenas um aviso.query_impact_zone: o raio de impacto de um símbolo (quem o chama, do que ele depende), calculado localmente no seu checkout com CodeGraph. Seu código-fonte nunca sai da sua máquina. O índice fica em.codegraph/, queinitadiciona ao.gitignore.
Os resultados de impacto são evidências, não provas: chamadores alcançados por interfaces, dispatch dinâmico ou re-exports podem não ser detectados, e a ferramenta informa isso na sua saída.
Configuração
| Variável | Significado |
|---|---|
TENTLY_API_KEY | Chave de API do workspace (obrigatória para search_decisions) |
TENTLY_API_URL | Origem da API, padrão https://api.tently.dev |
TENTLY_WORKING_DIR | Diretório que query_impact_zone indexa, padrão o diretório atual |
Privacidade
search_decisions envia o texto da sua consulta e os caminhos de arquivo que você passar para a API do Tently. Nada
mais sai da sua máquina: query_impact_zone roda inteiramente local. Veja
tently.dev para saber como o Tently trata dados.
Desenvolvimento
npm install
npm test
npm run build
node dist/cli.js mcp # start the server on stdio
Requer Node.js 20 ou posterior.
Contribuindo
Issues e pull requests são bem-vindos. Para qualquer coisa além de uma correção pequena, abra uma issue primeiro para que possamos concordar sobre a abordagem.