atlassian-cli

Servidor MCP y CLI de un solo binario para Jira y Confluence. Compatible con CI/CD, eficiente en contexto, admite tanto Cloud como Server/DC.

Documentación

atlassian-cli

Logo
Una CLI ligera y nativa en Go para Atlassian Jira y Confluence


Instalación

go install (recomendado)

Requiere Go 1.21+:

go install github.com/putcho01/atlassian-cli@latest

Si $GOPATH/bin no está en tu $PATH, agrega lo siguiente a tu configuración de shell (~/.zshrc, etc.):

export PATH="$PATH:$(go env GOPATH)/bin"

Desde el código fuente

git clone https://github.com/putcho01/atlassian-cli.git
cd atlassian-cli
go build -o atlassian-cli .

Inicio rápido

Nube (atlassian.net)

  1. Crea un token de API

  2. Establece las variables de entorno:

export JIRA_URL=https://your-domain.atlassian.net
export JIRA_EMAIL=you@example.com
export JIRA_API_TOKEN=your-api-token
  1. Verifica la autenticación:
atlassian-cli jira myself

Para usar también Confluence, establece las variables adicionales:

export CONFLUENCE_URL=https://your-domain.atlassian.net/wiki
export CONFLUENCE_EMAIL=you@example.com
export CONFLUENCE_API_TOKEN=your-api-token

Servidor/Centro de datos

export JIRA_URL=https://jira.example.com
export JIRA_PERSONAL_TOKEN=your-pat

Si JIRA_EMAIL no está configurado, se usa automáticamente la autenticación Bearer (PAT).

Autenticación

Se admiten dos métodos de autenticación:

Nube - Token de API (Basic Auth)

Se usa con Atlassian Cloud (*.atlassian.net). Autentica mediante autenticación básica usando tu dirección de correo electrónico y token de API.

VariableDescripción
JIRA_URLURL de Jira Cloud (p. ej. https://your-domain.atlassian.net)
JIRA_EMAILTu dirección de correo electrónico de la cuenta de Atlassian
JIRA_API_TOKENToken de API
JIRA_DEFAULT_PROJECTClave de proyecto predeterminada usada cuando se omite --project (opcional)
CONFLUENCE_URLURL de Confluence Cloud (p. ej. https://your-domain.atlassian.net/wiki)
CONFLUENCE_EMAILTu dirección de correo electrónico de la cuenta de Atlassian
CONFLUENCE_API_TOKENToken de API

Servidor/Centro de datos - Token de acceso personal (Bearer)

Se usa con Jira/Confluence Server/DC autoalojados. Autentica mediante autenticación Bearer usando un PAT.

VariableDescripción
JIRA_URLURL base de Jira (p. ej. https://jira.example.com)
JIRA_PERSONAL_TOKENToken de acceso personal
JIRA_DEFAULT_PROJECTClave de proyecto predeterminada usada cuando se omite --project (opcional)
CONFLUENCE_URLURL base de Confluence
CONFLUENCE_PERSONAL_TOKENToken de acceso personal

Si EMAIL está configurado, se usa autenticación básica (Cloud); de lo contrario, se usa autenticación Bearer (Server/DC).

Solo se requieren las variables del servicio que uses. Por ejemplo, si solo usas Jira, no necesitas configurar las variables de Confluence.

Comandos

Jira

# Authentication
atlassian-cli jira myself                # Show authenticated user

# Issues
atlassian-cli jira issue get PROJ-123    # Get issue (includes description)
atlassian-cli jira issue open PROJ-123   # Open issue in browser
atlassian-cli jira issue search "project = PROJ"       # Search issues via JQL
atlassian-cli jira issue search "project = PROJ" -i    # Interactive TUI picker (↑/↓ navigate, enter detail, o open, q quit)
atlassian-cli jira issue create --project PROJ --summary "New task"  # or omit --project if JIRA_DEFAULT_PROJECT is set
atlassian-cli jira issue update PROJ-123 --field summary="Updated summary"
atlassian-cli jira issue delete PROJ-123
atlassian-cli jira issue subtasks PROJ-123
atlassian-cli jira issue transition PROJ-123 "In Progress"

# Comments
atlassian-cli jira issue comment list PROJ-123
atlassian-cli jira issue comment add PROJ-123 --body "Looks good to me"

Confluence

# Pages
atlassian-cli confluence page get 12345          # Get page content
atlassian-cli confluence page create --space PROJ --title "New Page" --body "<p>Hello</p>"
atlassian-cli confluence page create --space PROJ --title "Child Page" --parent 12345 --body "<p>Child</p>"
atlassian-cli confluence page update 12345 --title "Updated Title" --body "<p>New content</p>"           # version auto-detected
atlassian-cli confluence page update 12345 --title "Updated Title" --body "<p>New content</p>" --version 3  # explicit version

# Labels
atlassian-cli confluence label list 12345
atlassian-cli confluence label add 12345 important,reviewed
atlassian-cli confluence label remove 12345 outdated

# Page Restrictions
atlassian-cli confluence restriction list 12345
atlassian-cli confluence restriction add 12345 --operation update --type user --name <account-id>
atlassian-cli confluence restriction remove 12345 --operation update --type user --name <account-id>

Formatos de salida

Todos los comandos admiten tres formatos de salida mediante la bandera --output / -o:

# Default: human-readable table
atlassian-cli jira issue search "project = PROJ" -o table

# Machine-readable JSON
atlassian-cli jira issue search "project = PROJ" -o json

# GitHub-flavored Markdown (great for Claude Code)
atlassian-cli jira issue search "project = PROJ" -o markdown

Conversión de HTML a Markdown

Al usar -o markdown, el contenido HTML (descripciones de Jira, cuerpos de páginas de Confluence y comentarios) se convierte automáticamente a Markdown limpio con sabor a GitHub. También se manejan las macros de formato de almacenamiento de Confluence:

  • Bloques de código (ac:structured-macro name="code") -> bloques de código delimitados
  • Admoniciones (nota, información, advertencia, consejo) -> citas en bloque con etiquetas
  • Enlaces de página (ac:link) -> texto enfatizado
  • Macros de tabla de contenido -> eliminadas

Servidor MCP

Inicia como servidor MCP para la integración con asistentes de IA:

atlassian-cli mcp-server

Filtrado de grupos de herramientas

Filtra las herramientas disponibles usando la bandera --tools:

# Only enable Jira issue and search tools
atlassian-cli mcp-server --tools jira_issue,jira_search

# Only enable Confluence tools
atlassian-cli mcp-server --tools confluence_page,confluence_label

Grupos de herramientas disponibles:

  • jira_user - Autenticación de usuario
  • jira_issue - Obtener incidencia, subtareas
  • jira_search - Buscar incidencias mediante JQL
  • jira_create - Crear incidencias
  • jira_update - Actualizar incidencias
  • jira_delete - Eliminar incidencias
  • jira_transition - Transicionar incidencias, obtener transiciones disponibles
  • confluence_page - Obtener contenido de página
  • confluence_label - Gestión de etiquetas
  • confluence_restriction - Gestión de restricciones de página

Integración con Claude Code

Agrega a tu configuración de MCP de Claude Code:

{
  "mcpServers": {
    "atlassian": {
      "command": "atlassian-cli",
      "args": ["mcp-server"],
      "env": {
        "JIRA_URL": "https://your-domain.atlassian.net",
        "JIRA_EMAIL": "you@example.com",
        "JIRA_API_TOKEN": "your-api-token",
        "CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
        "CONFLUENCE_EMAIL": "you@example.com",
        "CONFLUENCE_API_TOKEN": "your-api-token"
      }
    }
  }
}

¿Por qué no la ACLI oficial?

Atlassian proporciona una CLI oficial (ACLI) y un servidor MCP remoto para la integración con IA. Así es como esta herramienta se diferencia:

vs. ACLI

atlassian-cliACLI
DistribuciónBinario único, sin dependenciasRequiere instalación de paquete
AutenticaciónSolo variables de entornoInteractivo acli auth login
Compatibilidad con CI/CDAlta: no se necesita flujo de navegadorLimitada: el inicio de sesión sin interfaz es engorroso
Soporte para Server/DCSí (autenticación PAT)Enfocado en la nube
Público objetivoDesarrolladores, automatización, agentes de IAAdministradores, operaciones masivas

vs. servidor MCP remoto de Atlassian

El servidor MCP remoto de Atlassian alcanzó disponibilidad general en febrero de 2026, pero conlleva compensaciones:

  • Consume mucho contexto — carga 73 esquemas de herramientas de antemano, consumiendo del 40 al 50% de la ventana de contexto antes de cualquier trabajo real
  • Requiere OAuth — flujo de autenticación basado en navegador; no es adecuado para entornos sin interfaz o CI/CD
  • Dependencia de red — requiere una conexión saliente al servidor remoto de Atlassian

La bandera --tools de esta herramienta te permite cargar solo los grupos que necesitas, manteniendo el uso de tokens mínimo para los agentes de IA.

Cuándo elegir esta herramienta

  • Ejecución en canalizaciones de CI/CD o scripts de automatización (autenticación solo mediante variables de entorno)
  • Uso tanto de Server/Data Center como Cloud con una sola interfaz
  • Integración como servidor MCP en agentes de IA donde la eficiencia del contexto es importante

Licencia

MIT