AtlaCP

Uma interface MCP para produtos Atlassian, incluindo Jira e Bitbucket.

Documentação

atlacp

Build Coverage

Ferramentas Bitbucket para desenvolvedores e agentes de IA.

O projeto fornece dois pontos de entrada:

  • bbmd - CLI Bitbucket direto para humanos, scripts e fluxos de trabalho de agentes.
  • bbcp - servidor MCP (Model Context Protocol) para editores e clientes compatíveis com MCP.

A CLI bbmd deve ser superior ao MCP quando usada por agentes de IA.

Instalação Rápida

Instale os binários:

npx --yes @atlacp/install

O instalador coloca bbmd e bbcp em ~/.atlacp/bin e atualiza seu perfil de shell. Reinicie o shell, ou carregue o perfil atualizado antes de continuar. Siga a configuração de contas para configurar a(s) conta(s) Bitbucket.

Use bbmd skill para ensinar seu agente a usar a CLI. Você pode escrevê-lo na pasta de habilidades relevante do agente ou adicioná-lo em algum lugar no AGENTS.md.

### Bitbucket integration

Run `bbmd skill` to learn how to work with bitbucket.

Ou escreva a habilidade no escopo local do projeto ou no escopo 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

Estou cansado de ter 20 pastas com coisas de IA...

Configuração de Conta

Você pode ter várias contas configuradas. Isso pode ser útil se você quiser que a IA use uma conta diferente para algumas tarefas, como postar revisões de PR ou algo similar. A conta name é apenas um rótulo.

Configure uma conta Bitbucket:

bbmd auth add \
  --name user \
  --default \
  --token-type Bearer|Basic \
  --token-value "<token>"

Veja Bitbucket Access Tokens para mais detalhes sobre como criar tokens.

Nota: Se você já tem atlassian-accounts.json, basta copiá-lo para ~/.atlacp/accounts.json da seguinte forma:

cp your/path/to/atlassian-accounts.json ~/.atlacp/accounts.json

Verifique as contas configuradas:

bbmd auth status

Comandos Suportados

bbmd (CLI)

  • bbmd auth status - lista as contas Atlassian configuradas com tokens mascarados.
  • bbmd auth add - adiciona ou substitui uma conta no arquivo de contas local.
  • bbmd auth remove - remove uma conta pelo nome.
  • bbmd auth set-default - escolhe a conta padrão.
  • bbmd pr create - cria um pull request.
  • bbmd pr read - obtém detalhes do pull request.
  • bbmd pr update - atualiza título, descrição ou estado de rascunho do pull request.
  • bbmd pr approve - aprova um pull request.
  • bbmd pr decline - recusa um pull request.
  • bbmd pr request-changes - remove aprovação / solicita alterações.
  • bbmd pr merge - mescla um pull request.
  • bbmd pr diffstat - lista o resumo dos arquivos alterados de um pull request.
  • bbmd pr diff - obtém o texto bruto do diff.
  • bbmd pr add-comment - adiciona um comentário geral ou inline no pull request.
  • bbmd pr list-comments - lista comentários do pull request.
  • bbmd pr resolve-comment - resolve uma thread de comentário do pull request.
  • bbmd pr list-tasks - lista tarefas do pull request.
  • bbmd pr create-task - cria uma tarefa no pull request.
  • bbmd pr update-task - atualiza uma tarefa do pull request.
  • bbmd file content - obtém o conteúdo de um arquivo em um commit.

bbcp (ferramentas MCP)

  • bitbucket_add_pr_comment - adiciona um comentário a um pull request.
  • bitbucket_approve_pr - aprova um pull request.
  • bitbucket_decline_pr - recusa um pull request.
  • bitbucket_create_pr - cria um pull request.
  • bitbucket_create_pr_task - cria uma tarefa em um pull request.
  • bitbucket_get_file_content - obtém o conteúdo de um arquivo de um repositório em um commit específico.
  • bitbucket_get_pr_diff - obtém o diff de um pull request.
  • bitbucket_get_pr_diffstat - obtém o diffstat de um pull request.
  • bitbucket_list_pr_comments - lista comentários do pull request.
  • bitbucket_list_pr_tasks - lista tarefas em um pull request.
  • bitbucket_merge_pr - mescla um pull request.
  • bitbucket_read_pr - lê um pull request.
  • bitbucket_resolve_pr_comment - resolve uma thread de comentário do pull request.
  • bitbucket_request_pr_changes - solicita alterações em um pull request.
  • bitbucket_update_pr - atualiza um pull request.
  • bitbucket_update_pr_task - atualiza uma tarefa em um pull request.

Servidor MCP

Transportes suportados:

  • HTTP em http://localhost:8080.
  • SSE em http://localhost:8080/sse.
  • STDIO via bbcp stdio.

Para executar o servidor HTTP/SSE:

bbcp http

Ou apenas use STDIO:

bbcp stdio

Integrar Ferramentas de IA

A configuração MCP do Cursor (.cursor/mcp.json) pode ser assim para transporte STDIO:

{
  "mcpServers": {
    "Bitbucket": {
      "command": "bbcp",
      "args": ["stdio"]
    }
  }
}

Ou se você preferir transporte HTTP:

{
  "mcpServers": {
    "Bitbucket": {
      "url": "http://localhost:8080"
    }
  }
}

Uma vez configurado, envie um prompt semelhante a:

Check titbucket pull request https://bitbucket.org/workspace/repo-slug/pull-requests/123

Você deve ver uma resposta com os detalhes do PR.

Bitbucket Access Tokens

Por favor, revise a documentação oficial:

  • Personal API Tokens (lembre-se de criar um token básico para uso na API). Ao usar tokens de acesso pessoal, todas as solicitações serão feitas em nome do usuário.
  • Bitbucket Access Tokens - bom para bots e outras ferramentas de automação.

Token de API do Usuário

  • Vá para https://id.atlassian.com/manage-profile/security/api-tokens
  • Crie um novo token, com pelo menos os seguintes escopos:
    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
    
  • Crie um token básico a partir dele usando o comando de shell abaixo:
    echo -n "<your-email>:<your-api-token>" | base64
    
  • Adicione a conta de usuário ao arquivo de contas local:
    bbmd auth add \
      --name user \
      --default \
      --token-type Basic \
      --token-value "<base64-email-colon-api-token>"
    

Token de API de Bot

Se você planeja que seu agente de IA opere como um bot, a melhor opção é criar um "Access token" em vez de "User API token".

  • Vá para as configurações do seu repositório ou workspace, clique em "Access tokens"
  • Crie um novo token com as seguintes permissões:
    pullrequest
    pipeline
    repository:write
    repository
    pullrequest:write
    
  • Adicione a conta de bot ao arquivo de contas local:
    bbmd auth add \
      --name bot \
      --token-type Bearer \
      --token-value "<your-bot-api-token>"
    
    Nota: Você pode usar qualquer nome no lugar de bot no comando acima. É apenas um rótulo.

Contribuir

Por favor, veja CONTRIBUTING.md para mais detalhes.

Licença

MIT