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
Instalación
go install (recomendado)
Requiere Go 1.21+:
go install github.com/putcho01/atlassian-cli@latest
Si
$GOPATH/binno 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)
-
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
- 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_EMAILno 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.
| Variable | Descripción |
|---|---|
JIRA_URL | URL de Jira Cloud (p. ej. https://your-domain.atlassian.net) |
JIRA_EMAIL | Tu dirección de correo electrónico de la cuenta de Atlassian |
JIRA_API_TOKEN | Token de API |
JIRA_DEFAULT_PROJECT | Clave de proyecto predeterminada usada cuando se omite --project (opcional) |
CONFLUENCE_URL | URL de Confluence Cloud (p. ej. https://your-domain.atlassian.net/wiki) |
CONFLUENCE_EMAIL | Tu dirección de correo electrónico de la cuenta de Atlassian |
CONFLUENCE_API_TOKEN | Token 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.
| Variable | Descripción |
|---|---|
JIRA_URL | URL base de Jira (p. ej. https://jira.example.com) |
JIRA_PERSONAL_TOKEN | Token de acceso personal |
JIRA_DEFAULT_PROJECT | Clave de proyecto predeterminada usada cuando se omite --project (opcional) |
CONFLUENCE_URL | URL base de Confluence |
CONFLUENCE_PERSONAL_TOKEN | Token de acceso personal |
Si
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 usuariojira_issue- Obtener incidencia, subtareasjira_search- Buscar incidencias mediante JQLjira_create- Crear incidenciasjira_update- Actualizar incidenciasjira_delete- Eliminar incidenciasjira_transition- Transicionar incidencias, obtener transiciones disponiblesconfluence_page- Obtener contenido de páginaconfluence_label- Gestión de etiquetasconfluence_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-cli | ACLI | |
|---|---|---|
| Distribución | Binario único, sin dependencias | Requiere instalación de paquete |
| Autenticación | Solo variables de entorno | Interactivo acli auth login |
| Compatibilidad con CI/CD | Alta: no se necesita flujo de navegador | Limitada: el inicio de sesión sin interfaz es engorroso |
| Soporte para Server/DC | Sí (autenticación PAT) | Enfocado en la nube |
| Público objetivo | Desarrolladores, automatización, agentes de IA | Administradores, 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