Atl
FreeMaintainedAtlassian CLI and MCP server for Jira, Jira Software and Confluence Cloud, with multiple sites and the full REST API.
About
Atlassian CLI and MCP server for Jira, Jira Software and Confluence Cloud, with multiple sites and the full REST API.
README
Jira, Jira Software y Confluence Cloud desde la terminal y como servidor MCP, con varios sitios de Atlassian a la vez y la API REST completa.
- CLI con salida JSON (
--json) compacta para scripts y agentes. Es el camino por defecto: los agentes la usan a través de una skill. - Servidor MCP opcional, por stdio (un cliente) o por HTTP local (varios clientes a la vez, con token).
- Varios sitios: cada uno con su cuenta y su API token, guardado en el llavero del sistema.
- Markdown de entrada y salida: atl convierte a Atlassian Document Format (Jira) y a storage (Confluence).
- Toda la API: 47 herramientas curadas para lo de todos los días y acceso a las 1073 operaciones REST de Jira, Jira Software y Confluence (v2 y v1), generadas desde los OpenAPI oficiales.
Es parte de las herramientas @kikedealba (bita, inkwell, recap, Den), pero no
depende de ninguna: se instala y se usa sola. Si las otras están instaladas, la
encuentran por el registro de kit.
Instalación
Node 24 o superior. macOS, Windows o Linux.
npm install -g @kikedealba/atl
atl setup
atl site add https://<empresa>.atlassian.net --email <[email protected]>
atl site add pide el API token sin mostrarlo (créalo en
https://id.atlassian.com/manage-profile/security/api-tokens). También se puede
pasar por stdin: pbpaste | atl site add <url> --email <correo> --token-stdin.
atl setup registra atl en el registro de kit y lo conecta con los agentes que
encuentre:
| Agente | Qué instala |
|---|---|
| Claude Code | El plugin atl desde el marketplace KikeDeAlba/atl (claude plugin marketplace add + claude plugin install atl@atl), con la skill. |
| opencode, Codex | La skill atl. |
| Gemini CLI | La extensión atl con la skill. |
Antigravity CLI (agy) |
El plugin atl: la skill y una regla always_on corta. |
| Claude Desktop | El servidor MCP atl en claude_desktop_config.json (macOS y Windows). |
En Antigravity la regla solo dice cuándo usar atl y remite a la skill atl. El
plugin se instala con agy plugin install; sin agy en el PATH se genera
igual y el paso del plugin sale unavailable con el comando a correr.
La regla: MCP en Claude Desktop, skill en los agentes de terminal. Claude
Desktop no tiene terminal, así que solo puede usar atl por MCP; atl setup lo
registra ahí si encuentra la app, con el PATH del node que lo instaló para
que el comando arranque aunque las apps gráficas no hereden el PATH de la
terminal. Reinicia Claude Desktop después de atl setup para que lo cargue.
atl setup --no-desktop no lo toca y atl uninstall lo quita.
En Claude Code, opencode, Codex, Gemini y Antigravity no registra el servidor MCP por
defecto: el agente usa la CLI con la skill. Así no paga en cada sesión las definiciones de las 47
herramientas (unos 8.000 tokens en clientes que las cargan todas al arrancar,
como Codex u opencode). Si una instalación anterior había registrado el MCP de
atl en Claude Code, Codex, opencode, Gemini o Antigravity (mcp_config.json),
atl setup lo quita y lo reporta.
También quita los archivos sueltos que versiones anteriores dejaban en
~/.claude (la skill enlazada y sus permisos), porque ahora los trae el plugin.
En Claude Code también se puede instalar el plugin a mano:
claude plugin marketplace add KikeDeAlba/atl
claude plugin install atl@atl
Cuándo activar el MCP
atl setup --mcp stdio (o --mcp http) registra además el servidor MCP en los
agentes de terminal; Claude Desktop lo recibe siempre, con o sin --mcp.
Conviene cuando:
- el cliente no tiene terminal y no es Claude Desktop: claude.ai (conector personalizado) u otro cliente que solo habla MCP;
- quieres que varios clientes compartan un solo servidor HTTP
(
atl setup --mcp httpy despuésatl mcp serve); - el agente no puede o no debe correr comandos de shell.
Para volver al modo por defecto: atl setup (o atl setup --mcp none).
Si ya usabas bita, atl site import --from-bita copia sus sitios y tokens.
Sitios
atl site ls
atl site add https://acme.atlassian.net --email [email protected] --name acme
atl site default acme
atl site test acme
atl site rm acme
Todos los comandos y todas las herramientas MCP aceptan --site <nombre|url>
(site en MCP). Sin él se usa el sitio por defecto.
Para CI, sin configuración: ATL_SITE_URL, ATL_EMAIL y ATL_TOKEN.
| Sistema | Dónde queda el token |
|---|---|
| macOS | Llavero |
| Windows | Administrador de credenciales |
| Linux | Secret Service; si no hay, archivo 0600 |
CLI
atl jira issue get PP-123
atl jira search "project = PP AND status != Done" --limit 20 --fields key,summary,status
atl jira issue create --project PP --type Story --summary "Login con SSO" --description @historia.md --estimate 3h
atl jira issue create-many --project PP --issues @plan.json
atl jira issue transition PP-123 done --comment "Listo en develop"
atl jira worklog add PP-123 --started 2026-10-10T09:00:00-06:00 --time-spent "1h 30m"
atl jira comment add PP-123 --body @-
atl confluence page get 123456
atl confluence page upsert DOC "Despliegue" --body @despliegue.md
atl confluence search 'space = DOC AND title ~ "deploy"'
atl confluence attach 123456 ./diagrama.png
atl api search "create version"
atl api describe jira.createVersion
atl api call jira.createVersion --args '{"body":{"name":"1.4.0","projectId":10000}}'
- Los listados (
jira search,confluence search,confluence page tree,confluence space ls,jira comment ls, …) aceptan--limit <n>y--fields a,b,c. Sin--fieldsdevuelven objetos compactos (jira search:key, summary, status, assignee);--fields alltrae el objeto completo. Enjira search, atl solo le pide a Jira los campos que corresponden a las claves pedidas. Las herramientas MCP no cambian: devuelven el objeto completo. - Cualquier valor de texto acepta
@archivo, y@-lo lee de stdin. - Las listas van separadas por comas o como JSON.
atl <comando> --helplista sus opciones;atl helplista todos.
plan.json para crear una jerarquía en una llamada:
[
{ "ref": "epic", "type": "Epic", "summary": "Pagos con CoDi" },
{ "ref": "s1", "parentRef": "epic", "type": "Story", "summary": "Cobro", "estimate": "1d" },
{ "parentRef": "s1", "type": "Subtask", "summary": "Webhook", "estimate": "3h" }
]
Servidor MCP
atl mcp # stdio: lo lanza el agente
atl mcp serve # HTTP en http://127.0.0.1:7781/mcp, varios clientes
atl mcp token # token Bearer del servidor HTTP
| Opción | Qué hace |
|---|---|
--read-only |
Solo expone herramientas de lectura. |
--all-operations |
Expone además cada operación REST como herramienta propia (op_jira_createVersion, …). Por defecto se llega a ellas con api_search → api_describe → api_call, para no llenar el contexto del agente con mil herramientas. |
--port, --host |
Dónde escucha el HTTP. Fuera de localhost exige token. |
El servidor MCP es opcional (ver Cuándo activar el MCP).
Para que todos los agentes compartan un solo servidor HTTP:
atl setup --mcp http y después atl mcp serve.
Herramientas
- Jira:
jira_get_issue,jira_search,jira_create_issue,jira_create_issues,jira_edit_issue,jira_delete_issue,jira_assign,jira_transitions,jira_transition,jira_add_comment,jira_comments,jira_delete_comment,jira_add_worklog,jira_worklogs,jira_attach,jira_link,jira_link_types,jira_remote_link,jira_create_meta,jira_projects,jira_myself. - Jira Software:
jira_boards,jira_sprints,jira_move_to_sprint. - Confluence:
confluence_get_page,confluence_find_page,confluence_create_page,confluence_update_page,confluence_upsert_page,confluence_delete_page,confluence_children,confluence_descendants,confluence_search,confluence_attach,confluence_attachments,confluence_add_comment,confluence_comments,confluence_labels,confluence_add_labels,confluence_spaces. - API completa:
api_search,api_describe,api_call,api_catalog. - Utilidades:
atl_sites,convert_markdown,convert_to_markdown.
Para otras herramientas
atl se registra en kit con estas capacidades: jira.issue.read,
jira.issue.write, jira.worklog.write, confluence.page.read,
confluence.page.write, atlassian.api.call, markdown.adf,
markdown.storage, mcp.stdio, mcp.http, entre otras. Otra herramienta la
usa así, sin depender de atl en su package.json:
import { requireTool, invokeTool } from '@kikedealba/kit'
const atl = await requireTool('atl', 'npm install -g @kikedealba/atl', { capability: 'confluence.page.write' })
const { envelope } = await invokeTool(atl, ['confluence', 'page', 'upsert', 'DOC', 'Título', '--body', '@pagina.md'])
Desarrollo
pnpm install
pnpm test
pnpm generate # vuelve a generar src/api/catalog desde los OpenAPI de Atlassian
Install Atl in Claude Desktop, Claude Code & Cursor
unyly install atlInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add atl -- npx -y @kikedealba/atlStep-by-step: how to install Atl
FAQ
Is Atl MCP free?
Yes, Atl MCP is free — one-click install via Unyly at no cost.
Does Atl need an API key?
No, Atl runs without API keys or environment variables.
Is Atl hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Atl in Claude Desktop, Claude Code or Cursor?
Open Atl on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectServer Sequential Thinking
MCP server for sequential thinking and problem solving
by GitHub ActionsUnyly Deploy
Deploy sites and MCP servers to Unyly straight from your AI agent
by UnylyAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiPayMCP
Lightweight payments layer for MCP servers: turn tools into paid endpoints with a two-line decorator. [PyPI](https://pypi.org/project/paymcp/) · [npm](https://w
by blustAIServer For Power BI
Enables exploring Microsoft Fabric / Power BI workspaces and semantic models, and executing ad-hoc DAX queries.
by Mitsubishi-FusoGpt Image 2 Mcp
RunAPI GPT Image 2 MCP server for image generation: create tasks, poll results, and check pricing across 1 model from Claude Code, Codex, Cursor, and VS Code.
by runapi-aiCompare Atl with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
