gadak

Mantiene Jira Cloud, Jira Server, Linear o su propio rastreador integrado (además de páginas de Confluence) en un único archivo SQLite local en tu máquina. Las herramientas MCP responden desde ese archivo: SQL, búsqueda de texto completo en incidencias, comentarios y páginas wiki, detalle de incidencias, lecturas de sprints y retrospectivas. También se distribuye como extensión de Claude Desktop (.mcpb).

Documentación

Consulta tu backlog de Jira con SQL.

gadak refleja los proyectos de Jira Cloud y los espacios de Confluence que elijas en un único archivo SQLite en tu máquina. Los títulos de incidencias, cuerpos, comentarios y páginas wiki se almacenan en un único índice de búsqueda, y buscarlo no abre ninguna conexión. SQL sobre el mismo archivo responde a los recuentos que JQL no puede expresar. La aplicación de escritorio, la pestaña del navegador, la CLI y un agente de codificación leen ese archivo; las escrituras van a Jira primero, y el archivo es una caché que puedes eliminar.

Instala Homebrew en macOS, Microsoft Store en Windows, una CLI para Linux que abre la misma interfaz en una pestaña del navegador. Demo en vivo con 534 incidencias en tu navegador. Sin instalación, sin cuenta.

Grabación: búsqueda sobre un espejo de 20,000 incidencias construido a partir de la instantánea de la demo. Captura de pantalla, no una animación.

En comparación con el servidor MCP oficial de Atlassian

¿Por qué no Rovo MCP?

Rovo MCP está alojado por Atlassian y no requiere instalación local de un servidor MCP. Busca en Jira y Confluence y tiene herramientas de escritura, pero no una herramienta nativa de agregación ni lecturas sin conexión. gadak ejecuta SQL contra un espejo local sincronizado, por lo que un recuento sobre todo el backlog o una unión a través del historial de cambios es una sola consulta. Los costos son un binario local, una sincronización inicial y lecturas que van un intervalo de sincronización por detrás de Jira.

Rovo MCP (alojado)gadak (espejo local)
Dónde se ejecuta la consultaLa nube de Atlassiantu máquina, en SQLite
Incidencias abiertas por épicasin herramienta nativa de agregaciónun GROUP BY; 22 ms en 3,296 incidencias (2026-08-26)
Red necesaria para buscarno, una vez que los datos seleccionados están sincronizados
Busca en Jira y Confluencesí, para los espacios que selecciones
Escrituras: comentario, transición, asignaciónsí, a través de Jira primero
FrescuraDatos alojados de Atlassianel último estado sincronizado, un intervalo por detrás
Configuración localningunaun binario local y una sincronización inicial
Límites de tasa429 y un Retry-Afterninguno en lecturas: salen de tu disco
Quién lo mantieneAtlassianuna persona, y Apache-2.0

La misma comparación para jira-cli, Linear y la propia interfaz de Jira: docs/FAQ.md#how-it-compares

Cuenta incidencias sin resolver por épica

JQL no tiene GROUP BY.

La API REST devuelve incidencias página a página, y sin totales. Una vez que los datos son un archivo local, el recuento es una sola 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"

Ejecuta esta consulta en la instantánea de la demo en tu navegador (Datasette Lite, sin instalar nada) →
En un sitio Cloud en vivo con 3,296 incidencias (2026-08-26, medianas): 4,761 ms sobre 8 páginas de API agregadas en el cliente, frente a 22 ms para esta consulta.

Lecturas locales comparadas con la API REST de Jira

Las mismas preguntas, medidas

API REST de Jiragadak
Filtro simple, 100 incidencias583 ms19 ms31×
Una incidencia + historial de cambios completo710 ms28 ms25×
Búsqueda de texto libre543 ms41 ms13×
Incidencias abiertas por épica (GROUP BY)4,761 ms22 ms214×
Un recuento sobre el historial de cambiossin agregado nativo14 ms
Límite de tasa en lecturas del espejo429 + Retry-Afterninguno

Medido el 2026-08-26 contra un sitio Atlassian Cloud en vivo: un proyecto de trabajo real, 3,296 incidencias. Medianas. Los números de gadak incluyen el arranque completo del proceso CLI. En esta medición, el recuento de épicas tomó 8 páginas de API, agregadas en el cliente, frente a una consulta en el espejo. El recuento del historial no tiene agregado nativo; rastrearlo y contarlo en el cliente toma unos 28 minutos. La fila de límite de tasa trata sobre lecturas, que permanecen locales. Una primera sincronización completa de ese sitio tomó 3.7 minutos (2026-09-09), y el espejo va un intervalo de sincronización por detrás de Jira. Método, re-mediciones y las filas donde gadak pierde: docs/BENCHMARKS.md.

Agentes de codificación en el mismo espejo

Usa la CLI desde tu agente de codificación

Tú y tu agente leen el mismo archivo. La CLI es la interfaz del agente: crear, reclamar, transicionar y SQL sobre el espejo, mientras el tablero frente a ti se actualiza. Las escrituras van a través de Jira primero, y los comentarios de un agente y las incidencias que crea llevan su nombre. Un agente que lee tu espejo envía lo que lee al modelo con el que habla; limita el espejo a lo que el agente debería ver.

Una sesión de Claude Code en el propio panel de terminal de gadak filtra la lista de incidencias, luego guarda y abre un panel en la misma ventana. Con lapso de tiempo mientras el agente trabaja.

Instala la habilidad para Claude Code:

gadak skill install

Para Claude Desktop, registra el servidor MCP:

gadak mcp install claude-desktop

Un pegado por host → docs/AGENT_SETUP.md
Más grabaciones: paneles, un tema de equipo, un lanzador, una sesión MCP en vivo → docs/SHOWCASE.md

Antes de conectar datos de trabajo

Qué se copia, dónde vive y qué sale de tu máquina

  • Qué Jira. Atlassian Cloud con un token de API, o Jira Server / Data Center con gadak init --server y un token de acceso personal. Un token de Cloud cubre Jira y Confluence en el mismo sitio; Confluence Server no tiene cliente, por lo que un espacio de trabajo de Server refleja solo incidencias.
  • Cuánto se copia. Los proyectos que nombres con --projects, tal como tu cuenta ya los ve. La wiki permanece apagada hasta que nombres espacios con --spaces.
  • Qué permanece aquí y qué tan fresco. Un único archivo SQLite en tu máquina. Una primera sincronización completa, luego un intervalo de sincronización por detrás de Jira. Elimínalo y sincroniza de nuevo; nada se pierde.
  • Qué sale de esta máquina. Sin telemetría, sin análisis, sin cuenta de gadak. gadak solo abre las conexiones que configuraste, y las lecturas salen del archivo. Cuatro verbos aún preguntan al origen: ver un adjunto, gadak issue --editmeta, gadak fields y gadak api.
  • Dónde está el token. ~/.gadak/config.json, modo 0600, enviado solo a tu propio sitio. Nunca llega a SQLite, a un registro o a una instantánea.
  • Qué hace una escritura. Va a Jira primero, y la caché se actualiza después de que Jira acepta. Una escritura que Jira rechaza falla en ese momento; nada se pone en cola localmente.
  • Qué cambia con un agente. Un agente que lee la caché envía lo que lee a su propio modelo. gadak no envía nada. Limita la caché a lo que el agente debería ver.

Cada destino saliente y su condición → SECURITY.md
Cada conexión y su interruptor de apagado → docs/NETWORK.md

Instalación y primera sincronización

Instalación

La aplicación de escritorio, CLI incluida:

brew install --cask midagedev/tap/gadak

Solo CLI, en macOS o Linux. La misma interfaz se abre en una pestaña del navegador mediante gadak serve:

brew install midagedev/tap/gadak-cli

En Windows, la aplicación de escritorio está en Microsoft Store.

Conéctate al sitio de Jira Cloud de tu equipo. Pide el sitio, tu correo electrónico, un token de API y los proyectos a reflejar; agrega --spaces para incluir la wiki:

gadak init && gadak serve

Todas las plataformas →

Dónde está el proyecto

Estado y límites

  • Estado: 0.22, todavía 0.x. Sincronización, lecturas, escritura directa, escritorio, web, CLI y MCP están verificados contra un sitio en vivo.
  • Un mantenedor, actualmente. Apache-2.0. El espejo es SQLite ordinario: si gadak desapareciera mañana, el archivo se abre en cualquier cliente SQLite y tus incidencias siguen en él.
  • Mantén la planificación de sprints, la administración, la edición de páginas en una interfaz, y cualquier cosa que no pueda tolerar un intervalo de sincronización de retraso en Jira.
  • Cuatro orígenes, un conjunto de verbos: Atlassian Cloud, Jira Server / Data Center, Linear y el rastreador integrado. Lo que cada uno rechaza está en una tabla, medido celda por celda.

Qué admite cada origen · Proyectos anteriores en esta área · Preguntas difíciles · Quién mantiene esto · Fuente

Informa lo que sucedió

Si lo usaste en tu propio proyecto, dilo

¿Qué pregunta respondió gadak, y volviste a él?

Mantén datos reales de incidencias, tokens y URLs de sitios fuera de los informes públicos.

Abre un issue en GitHub · Correo electrónico midagedev@gmail.com