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 é executada | Nuvem da Atlassian | sua máquina, em SQLite |
| Issues abertas por épico | sem ferramenta nativa de agregação | um GROUP BY; 22 ms em 3.296 issues (2026-08-26) |
| Rede necessária para busca | sim | não, uma vez que os dados selecionados estão sincronizados |
| Busca no Jira e no Confluence | sim | sim, para os espaços que você selecionar |
| Gravações: comentário, transição, atribuição | sim | sim, através do Jira primeiro |
| Atualização | dados hospedados pela Atlassian | o último estado sincronizado, um intervalo atrás |
| Configuração local | nenhuma | um binário local e uma sincronização inicial |
| Limites de taxa | 429 e um Retry-After | nenhum em leituras — elas vêm do seu disco |
| Quem mantém | Atlassian | uma 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 Jira | gadak | ||
|---|---|---|---|
| Filtro simples, 100 issues | 583 ms | 19 ms | 31× |
| Uma issue + changelog completo | 710 ms | 28 ms | 25× |
| Busca de texto livre | 543 ms | 41 ms | 13× |
| Issues abertas por épico (GROUP BY) | 4.761 ms | 22 ms | 214× |
| Uma contagem no histórico de mudanças | sem agregação nativa | 14 ms | — |
| Limite de taxa em leituras do espelho | 429 + Retry-After | nenhum | — |
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 --servere 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 fieldsegadak api. - Onde o token está.
~/.gadak/config.json, modo0600, 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
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