AtlaCP
Una interfaz MCP para productos de Atlassian, incluyendo Jira y Bitbucket.
Documentación
atlacp
Herramientas de Bitbucket para desarrolladores y agentes de IA.
El proyecto proporciona dos puntos de entrada:
bbmd- CLI directo de Bitbucket para humanos, scripts y flujos de trabajo de agentes.bbcp- servidor MCP (Model Context Protocol) para editores y clientes compatibles con MCP.
El CLI bbmd debería ser superior a MCP cuando lo usan agentes de IA.
Instalación rápida
Instala los binarios:
npx --yes @atlacp/install
El instalador coloca bbmd y bbcp en ~/.atlacp/bin y actualiza tu perfil de shell. Reinicia el shell, o carga el perfil actualizado antes de continuar. Sigue la configuración de cuentas para configurar la(s) cuenta(s) de Bitbucket.
Usa bbmd skill para enseñar a tu agente a usar el CLI. Puedes escribirlo en la carpeta de habilidades relevante del agente o agregarlo en algún lugar de AGENTS.md.
### Bitbucket integration
Run `bbmd skill` to learn how to work with bitbucket.
O escribe la habilidad en el ámbito local del proyecto o en el ámbito global:
# Opencode
# Project-local
mkdir -p .opencode/skills/bitbucket && bbmd skill > .opencode/skills/bitbucket/SKILL.md
# Global
mkdir -p ~/.opencode/skills/bitbucket && bbmd skill > ~/.opencode/skills/bitbucket/SKILL.md
# Claude
# Project-local
mkdir -p .claude/skills/bitbucket && bbmd skill > .claude/skills/bitbucket/SKILL.md
# Global
mkdir -p ~/.claude/skills/bitbucket && bbmd skill > ~/.claude/skills/bitbucket/SKILL.md
# Codex
# Project-local
mkdir -p .codex/skills/bitbucket && bbmd skill > .codex/skills/bitbucket/SKILL.md
# Global
mkdir -p ~/.codex/skills/bitbucket && bbmd skill > ~/.codex/skills/bitbucket/SKILL.md
# Cursor
# Project-local
mkdir -p .cursor/skills/bitbucket && bbmd skill > .cursor/skills/bitbucket/SKILL.md
# Global
mkdir -p ~/.cursor/skills/bitbucket && bbmd skill > ~/.cursor/skills/bitbucket/SKILL.md
Estoy cansado de tener 20 carpetas con cosas de IA...
Configuración de cuentas
Puedes tener varias cuentas configuradas. Esto puede ser útil si quieres que la IA use una cuenta diferente para algunas tareas, como publicar revisiones de PR o similares. La cuenta name es solo una etiqueta.
Configura una cuenta de Bitbucket:
bbmd auth add \
--name user \
--default \
--token-type Bearer|Basic \
--token-value "<token>"
Consulta Bitbucket Access Tokens para más detalles sobre cómo crear tokens.
Nota: Si ya tienes atlassian-accounts.json, simplemente cópialo a ~/.atlacp/accounts.json de la siguiente manera:
cp your/path/to/atlassian-accounts.json ~/.atlacp/accounts.json
Verifica las cuentas configuradas:
bbmd auth status
Comandos compatibles
bbmd (CLI)
bbmd auth status- lista las cuentas de Atlassian configuradas con tokens enmascarados.bbmd auth add- agrega o reemplaza una cuenta en el archivo de cuentas local.bbmd auth remove- elimina una cuenta por nombre.bbmd auth set-default- elige la cuenta predeterminada.bbmd pr create- crea una solicitud de extracción (pull request).bbmd pr read- obtiene detalles de una solicitud de extracción.bbmd pr update- actualiza el título, la descripción o el estado de borrador de una solicitud de extracción.bbmd pr approve- aprueba una solicitud de extracción.bbmd pr decline- rechaza una solicitud de extracción.bbmd pr request-changes- elimina la aprobación / solicita cambios.bbmd pr merge- fusiona una solicitud de extracción.bbmd pr diffstat- lista el resumen de archivos modificados de una solicitud de extracción.bbmd pr diff- obtiene el texto del diff sin procesar.bbmd pr add-comment- agrega un comentario general o en línea a una solicitud de extracción.bbmd pr list-comments- lista los comentarios de una solicitud de extracción.bbmd pr resolve-comment- resuelve un hilo de comentarios de una solicitud de extracción.bbmd pr list-tasks- lista las tareas de una solicitud de extracción.bbmd pr create-task- crea una tarea en una solicitud de extracción.bbmd pr update-task- actualiza una tarea de una solicitud de extracción.bbmd file content- obtiene el contenido de un archivo en un commit.
bbcp (herramientas MCP)
bitbucket_add_pr_comment- agrega un comentario a una solicitud de extracción.bitbucket_approve_pr- aprueba una solicitud de extracción.bitbucket_decline_pr- rechaza una solicitud de extracción.bitbucket_create_pr- crea una solicitud de extracción.bitbucket_create_pr_task- crea una tarea en una solicitud de extracción.bitbucket_get_file_content- obtiene el contenido de un archivo de un repositorio en un commit específico.bitbucket_get_pr_diff- obtiene el diff de una solicitud de extracción.bitbucket_get_pr_diffstat- obtiene el diffstat de una solicitud de extracción.bitbucket_list_pr_comments- lista los comentarios de una solicitud de extracción.bitbucket_list_pr_tasks- lista las tareas de una solicitud de extracción.bitbucket_merge_pr- fusiona una solicitud de extracción.bitbucket_read_pr- lee una solicitud de extracción.bitbucket_resolve_pr_comment- resuelve un hilo de comentarios de una solicitud de extracción.bitbucket_request_pr_changes- solicita cambios en una solicitud de extracción.bitbucket_update_pr- actualiza una solicitud de extracción.bitbucket_update_pr_task- actualiza una tarea en una solicitud de extracción.
Servidor MCP
Transportes compatibles:
- HTTP en
http://localhost:8080. - SSE en
http://localhost:8080/sse. - STDIO mediante
bbcp stdio.
Para ejecutar el servidor HTTP/SSE:
bbcp http
O simplemente usa STDIO:
bbcp stdio
Integrar herramientas de IA
La configuración de MCP de Cursor (.cursor/mcp.json) podría verse así para el transporte STDIO:
{
"mcpServers": {
"Bitbucket": {
"command": "bbcp",
"args": ["stdio"]
}
}
}
O si prefieres el transporte HTTP:
{
"mcpServers": {
"Bitbucket": {
"url": "http://localhost:8080"
}
}
}
Una vez configurado, envía un prompt similar a:
Check titbucket pull request https://bitbucket.org/workspace/repo-slug/pull-requests/123
Deberías ver una respuesta con los detalles del PR.
Tokens de acceso de Bitbucket
Consulta la documentación oficial:
- Personal API Tokens (ten en cuenta que debes crear un token básico para uso de API). Al usar tokens de acceso personal, todas las solicitudes se realizarán en nombre del usuario.
- Bitbucket Access Tokens - bueno para bots y otras herramientas de automatización.
Token de API de usuario
- Ve a https://id.atlassian.com/manage-profile/security/api-tokens
- Crea un nuevo token, con al menos los siguientes alcances:
read:account read:issue:bitbucket read:me read:pipeline:bitbucket read:project:bitbucket read:pullrequest:bitbucket read:repository:bitbucket read:runner:bitbucket read:snippet:bitbucket read:user:bitbucket write:issue:bitbucket write:pullrequest:bitbucket - Crea un token básico a partir de él usando el siguiente comando de shell:
echo -n "<your-email>:<your-api-token>" | base64 - Agrega la cuenta de usuario al archivo de cuentas local:
bbmd auth add \ --name user \ --default \ --token-type Basic \ --token-value "<base64-email-colon-api-token>"
Token de API de bot
Si planeas que tu agente de IA opere como un bot, la mejor opción es crear un "Access token" en lugar de un "User API token".
- Ve a la configuración de tu repositorio o espacio de trabajo, haz clic en "Access tokens"
- Crea un nuevo token con los siguientes permisos:
pullrequest pipeline repository:write repository pullrequest:write - Agrega la cuenta de bot al archivo de cuentas local:
Nota: Puedes usar cualquier nombre en lugar debbmd auth add \ --name bot \ --token-type Bearer \ --token-value "<your-bot-api-token>"boten el comando anterior. Es solo una etiqueta.
Contribuir
Consulta CONTRIBUTING.md para más detalles.
Licencia
MIT