gadak

Mantém Jira Cloud, Jira Server, Linear ou seu próprio rastreador integrado (além de páginas do Confluence) em um único arquivo SQLite local na sua máquina. As ferramentas MCP respondem a partir desse arquivo: SQL, busca em texto completo em issues, comentários e páginas wiki, detalhes de issues, leituras de sprints e retros. Também é distribuído como uma extensão do Claude Desktop (.mcpb).

Documentação

Consulte seu backlog do Jira com SQL.

O gadak espelha os projetos do Jira Cloud e os espaços do Confluence que você escolher em um único arquivo SQLite na sua máquina. Títulos de issues, corpos, comentários e páginas wiki ficam em um único índice de busca, e pesquisar nele não abre conexão. SQL sobre o mesmo arquivo responde às contagens que o JQL não consegue expressar. O aplicativo desktop, a aba do navegador, a CLI e um agente de codificação leem esse arquivo; gravações vão para o Jira primeiro, e o arquivo é um cache que você pode excluir.

Instale o Homebrew no macOS, a Microsoft Store no Windows, uma CLI para Linux que abre a mesma interface em uma aba do navegador. Demonstração ao vivo com 534 issues no seu navegador. Sem instalação, sem conta.

Gravação: busca em um espelho de 20.000 issues construído a partir do snapshot da demonstração. Captura de tela, não uma animação.

Comparado com o servidor MCP oficial da Atlassian

Por que não o Rovo MCP?

O Rovo MCP é hospedado pela Atlassian e não precisa de instalação local de servidor MCP. Ele busca no Jira e no Confluence e tem ferramentas de gravação, mas sem ferramenta nativa de agregação e sem leituras offline. O gadak executa SQL contra um espelho local sincronizado, então uma contagem sobre todo o backlog ou uma junção no histórico de mudanças é uma única consulta. Os custos são um binário local, uma sincronização inicial e leituras que ficam um intervalo de sincronização atrás do Jira.

Rovo MCP (hospedado)gadak (espelho local)
Onde a consulta é executadaNuvem da Atlassiansua máquina, em SQLite
Issues abertas por épicosem ferramenta nativa de agregaçãoum GROUP BY; 22 ms em 3.296 issues (2026-08-26)
Rede necessária para buscasimnão, uma vez que os dados selecionados estão sincronizados
Busca no Jira e no Confluencesimsim, para os espaços que você selecionar
Gravações: comentário, transição, atribuiçãosimsim, através do Jira primeiro
Atualizaçãodados hospedados pela Atlassiano último estado sincronizado, um intervalo atrás
Configuração localnenhumaum binário local e uma sincronização inicial
Limites de taxa429 e um Retry-Afternenhum em leituras — elas vêm do seu disco
Quem mantémAtlassianuma pessoa, e Apache-2.0

A mesma comparação para jira-cli, Linear e a própria interface do Jira: docs/FAQ.md#how-it-compares

Conte issues não resolvidas por épico

JQL não tem GROUP BY.

A API REST retorna issues uma página por vez, e sem totais. Uma vez que os dados são um arquivo local, a contagem é uma única consulta:

gadak sql "select epic_key, count(*) from issues_full where resolved_at is null
           and epic_key <> '' group by epic_key order by 2 desc"

Execute esta consulta no snapshot da demonstração no seu navegador (Datasette Lite, nada instalado) →
Em um site Cloud ao vivo com 3.296 issues (2026-08-26, medianas): 4.761 ms em 8 páginas de API agregadas no lado do cliente, contra 22 ms para esta consulta.

Leituras locais comparadas com a API REST do Jira

As mesmas perguntas, medidas

API REST do Jiragadak
Filtro simples, 100 issues583 ms19 ms31×
Uma issue + changelog completo710 ms28 ms25×
Busca de texto livre543 ms41 ms13×
Issues abertas por épico (GROUP BY)4.761 ms22 ms214×
Uma contagem no histórico de mudançassem agregação nativa14 ms
Limite de taxa em leituras do espelho429 + Retry-Afternenhum

Medido em 2026-08-26 contra um site Atlassian Cloud ao vivo: um projeto de trabalho real, 3.296 issues. Medianas. Os números do gadak incluem a inicialização completa do processo da CLI. Nesta medição, a contagem de épicos levou 8 páginas de API, agregadas no lado do cliente, contra uma única consulta no espelho. A contagem do histórico não tem agregação nativa; rastrear e contar no lado do cliente leva cerca de 28 minutos. A linha de limite de taxa é sobre leituras, que permanecem locais. Uma primeira sincronização completa desse site levou 3,7 minutos (2026-09-09), e o espelho fica um intervalo de sincronização atrás do Jira. Método, re-medições e as linhas onde o gadak perde: docs/BENCHMARKS.md.

Agentes de codificação no mesmo espelho

Use a CLI do seu agente de codificação

Você e seu agente leem o mesmo arquivo. A CLI é a interface do agente: criar, assumir, transicionar e SQL sobre o espelho, enquanto o quadro à sua frente é atualizado. Gravações passam pelo Jira primeiro, e os comentários de um agente e as issues que ele cria carregam seu nome. Um agente que lê seu espelho envia o que lê para o modelo com o qual conversa; limite o espelho ao que o agente deve ver.

Uma sessão do Claude Code no próprio painel de terminal do gadak filtra a lista de issues e depois salva e abre um dashboard na mesma janela. Acelerado enquanto o agente trabalha.

Instale a skill para o Claude Code:

gadak skill install

Para o Claude Desktop, registre o servidor MCP:

gadak mcp install claude-desktop

Um colar por host → docs/AGENT_SETUP.md
Mais gravações: dashboards, um tema de equipe, um lançador, uma sessão MCP ao vivo → docs/SHOWCASE.md

Antes de conectar dados de trabalho

O que é copiado, onde fica e o que sai da sua máquina

  • Qual Jira. Atlassian Cloud com um token de API, ou Jira Server / Data Center com gadak init --server e um token de acesso pessoal. Um token Cloud cobre Jira e Confluence no mesmo site; Confluence Server não tem cliente, então um workspace Server espelha apenas issues.
  • Quanto é copiado. Os projetos que você nomeia com --projects, como sua conta já os vê. A wiki fica desativada até você nomear espaços com --spaces.
  • O que fica aqui e quão atualizado. Um único arquivo SQLite na sua máquina. Uma primeira sincronização completa, depois um intervalo de sincronização atrás do Jira. Exclua e sincronize novamente; nada é perdido.
  • O que sai desta máquina. Sem telemetria, sem análises, sem conta gadak. O gadak abre apenas as conexões que você configurou, e as leituras vêm do arquivo. Quatro verbos ainda perguntam à origem: visualizar um anexo, gadak issue --editmeta, gadak fields e gadak api.
  • Onde o token está. ~/.gadak/config.json, modo 0600, enviado apenas ao seu próprio site. Ele nunca chega ao SQLite, a um log ou a um snapshot.
  • O que uma gravação faz. Ela vai para o Jira primeiro, e o cache é atualizado depois que o Jira aceita. Uma gravação que o Jira rejeita falha na hora; nada é enfileirado localmente.
  • O que muda com um agente. Um agente que lê o cache envia o que lê para seu próprio modelo. O gadak não envia nada. Limite o cache ao que o agente deve ver.

Cada destino de saída e sua condição → SECURITY.md
Cada conexão e seu interruptor de desligamento → docs/NETWORK.md

Instalação e primeira sincronização

Instalação

O aplicativo desktop, CLI incluída:

brew install --cask midagedev/tap/gadak

Somente CLI, no macOS ou Linux. A mesma interface abre em uma aba do navegador via gadak serve:

brew install midagedev/tap/gadak-cli

No Windows, o aplicativo desktop está na Microsoft Store.

Conecte-se ao site Jira Cloud da sua equipe. Ele pede o site, seu e-mail, um token de API e os projetos a espelhar; adicione --spaces para incluir a wiki:

gadak init && gadak serve

Todas as plataformas →

Onde o projeto está

Status e limites

  • Status: 0.22, ainda 0.x. Sincronização, leituras, gravação direta, desktop, web, CLI e MCP são verificados contra um site ao vivo.
  • Um mantenedor, atualmente. Apache-2.0. O espelho é SQLite comum: se o gadak desaparecesse amanhã, o arquivo abre em qualquer cliente SQLite e suas issues ainda estão nele.
  • Mantenha planejamento de sprint, administração, edição de páginas em uma interface e qualquer coisa que não tolere um atraso de intervalo de sincronização no Jira.
  • Quatro origens, um conjunto de verbos: Atlassian Cloud, Jira Server / Data Center, Linear e o rastreador integrado. O que cada uma recusa está em uma tabela, medida célula por célula.

O que cada origem suporta · Projetos anteriores nesta área · Perguntas difíceis · Quem mantém isso · Código-fonte

Relate o que aconteceu

Se você usou no seu próprio projeto, diga

Qual pergunta o gadak respondeu, e você voltou a ele?

Mantenha dados reais de issues, tokens e URLs de sites fora de relatórios públicos.

Abra uma issue no GitHub · Envie e-mail para midagedev@gmail.com