Azure DevOps

Interaja com Itens de Trabalho do Azure DevOps usando a API REST do Azure DevOps.

Documentação

azure-devops-mcp-server MCP Server

Interaja com o Azure DevOps de forma mais conveniente através de linguagem natural.

Este é um servidor MCP baseado em TypeScript, projetado para interagir com Work Items do Azure DevOps usando a API REST do Azure DevOps via axios.

Recursos

Ferramentas

Este servidor fornece as seguintes ferramentas para gerenciar recursos do Azure DevOps:

Operações Principais de Work Item

  • create_work_item: Cria um novo Work Item no Azure DevOps (por exemplo, User Story, Bug, Task).
    • Parâmetros obrigatórios: type (tipo), title (título).
    • Parâmetros opcionais: projectName (nome do projeto, padrão é o primeiro projeto detectado pelo servidor), description (descrição), areaPath (caminho da área, padrão é o nome do projeto de destino), iterationPath (caminho da iteração, padrão é o nome do projeto de destino), assignedTo (responsável), tags (tags).
  • get_work_item_details: Obtém os detalhes de um Work Item do Azure DevOps pelo ID.
    • Parâmetro obrigatório: id (ID do Work Item).
    • Parâmetros opcionais: fields (lista de campos a obter, padrão retorna todos os campos), summarize (booleano, quando definido como true retorna apenas informações resumidas, padrão false).
  • update_work_item: Atualiza campos de um Work Item existente do Azure DevOps (por exemplo, status, responsável).
    • Parâmetros obrigatórios: id (ID do Work Item), updates (objeto contendo os campos e valores a atualizar).
    • Parâmetro opcional: comment (comentário da atualização).
  • delete_work_item: Exclui o Work Item especificado do Azure DevOps e o move para a lixeira. 🆕
    • Parâmetro obrigatório: id (ID do Work Item).
    • Parâmetros opcionais: destroy (se deve excluir permanentemente, padrão false), projectName (nome do projeto).

Operações em Lote 🆕

  • get_work_items_batch: Obtém em lote vários Work Items do Azure DevOps (até 200).
    • Parâmetro obrigatório: ids (lista de IDs de Work Items).
    • Parâmetros opcionais: fields (lista de campos), asOf (ponto no tempo), expand (opções de expansão).
  • batch_update_work_items: Atualiza em lote vários Work Items do Azure DevOps. Pode executar várias operações de criação, atualização ou exclusão em uma única solicitação.
    • Parâmetro obrigatório: operations (lista de operações em lote).
    • Parâmetros opcionais: bypassRules (ignorar regras), suppressNotifications (suprimir notificações).

Pesquisa e Consulta

  • search_work_items: Pesquisa Work Items do Azure DevOps. Oferece diversos filtros e opções de ordenação.
    • Parâmetros opcionais:
      • query: palavra-chave de pesquisa (pesquisa título, descrição ou ID)
      • projectName: nome do projeto (padrão é o primeiro projeto detectado pelo servidor)
      • workItemType: tipo de item de trabalho (por exemplo, 'User Story', 'Bug')
      • state: filtro de status (por exemplo, 'Active', 'Closed')
      • assignedTo: nome de exibição ou e-mail do responsável
      • tags: filtro de tags (separado por ponto e vírgula, suporta condição OR para múltiplas tags)
      • createdAfter: filtro de data de criação (formato ISO 8601, por exemplo, '2024-03-01')
      • updatedAfter: filtro de data de atualização (formato ISO 8601, por exemplo, '2024-03-01')
      • fields: lista personalizada de campos de retorno (padrão inclui ID, título, status, tipo, responsável, tags, datas de criação/atualização e pessoa)
      • orderBy: método de ordenação (suporta 'ChangedDate', 'CreatedDate', 'State', 'ID', pode adicionar 'ASC' ou 'DESC')
      • top: limite de quantidade de retorno (padrão 50, máximo 200)
    • Formato de retorno:
      • total de itens e se há mais resultados
      • detalhes de cada item, incluindo link de URL
      • exibição de resumo formatado

Gerenciamento de Projetos

  • list_projects: Lista todos os projetos na organização do Azure DevOps.
  • get_project_details: Obtém os detalhes de um projeto do Azure DevOps pelo ID ou nome.
    • Parâmetro obrigatório: projectIdOrName (ID ou nome do projeto).

Integração e Vinculação

  • link_commit_to_work_item: Vincula um commit do Git a um Work Item do Azure DevOps.
    • Parâmetros obrigatórios: workItemId (ID do Work Item), commitSha (SHA do commit), repositoryName (nome do repositório).
    • Parâmetros opcionais: projectName (nome do projeto), comment (descrição do link).
    • Nota: Corrigido o erro de vinculação que poderia ocorrer em versões anteriores devido à barra final na URL da organização.
  • link_parent_work_item: Cria uma relação pai-filho de Work Item (define childId como filho de parentId).
    • Parâmetros obrigatórios: childId (ID do Work Item filho), parentId (ID do Work Item pai)
    • Parâmetro opcional: comment (descrição do link)
    • Descrição: Define o Work Item especificado como filho de outro Work Item, podendo anexar texto de descrição.

Anexos e Comentários

  • list_work_item_attachments: Obtém a lista de anexos de um Work Item específico do Azure DevOps, incluindo URLs de download.
    • Parâmetro obrigatório: workItemId (ID do Work Item).
    • Parâmetro opcional: projectName (nome do projeto).
  • add_issue_comment: Adiciona um comentário a um Work Item existente do Azure DevOps.
    • Parâmetros obrigatórios: workItemId (ID do Work Item), comment (conteúdo do comentário).

🆕 Atualizações da Versão 0.2.0

Novos Recursos

  • Suporte a operações em lote: Novas ferramentas get_work_items_batch e batch_update_work_items aumentam significativamente a eficiência no processamento de muitos Work Items.
  • Recurso de exclusão: Nova ferramenta delete_work_item suporta exclusão suave (mover para a lixeira) e exclusão permanente.
  • Atualização da versão da API: Atualizado de 7.2-preview para a versão estável 7.2.

Melhorias de Desempenho

  • Obtenção em lote suporta até 200 Work Items.
  • Atualização em lote suporta operações mistas (criação, atualização, exclusão).
  • Otimização do tratamento de erros e formato de resposta.

Compatibilidade da API

  • Totalmente compatível com a API REST do Azure DevOps 7.2.
  • Suporta todas as principais operações de Work Item.
  • Mantém compatibilidade retroativa.

Desenvolvimento

Instalar dependências:

npm install

Compilar o servidor:

npm run build

Para desenvolvimento com recompilação automática:

npm run watch

Instalação

Para usar com o Claude Desktop, adicione a configuração do servidor:

No MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json No Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "azure-devops-mcp-server": {
      "command": "C:\\Program Files\\nodejs\\node.exe", // Or your Node.js path
      "args": [
        "C:\\Tools\\Cline\\MCP\\azure-devops-mcp-server\\build\\index.js" // Adjust path if needed
      ],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "YOUR_ORG_URL", // e.g., https://dev.azure.com/YourOrganizationName
        "AZURE_DEVOPS_PAT": "YOUR_PERSONAL_ACCESS_TOKEN"
      }
    }
  }
}

Importante: Você precisa substituir YOUR_ORG_URL pela URL da sua organização do Azure DevOps e YOUR_PERSONAL_ACCESS_TOKEN por um Personal Access Token (PAT) válido com permissões de leitura e gravação em Work Items.

Depuração

Como os servidores MCP se comunicam via stdio, a depuração pode ser desafiadora. Recomendamos usar o MCP Inspector, que está disponível como script de pacote:

npm run inspector

O Inspector fornecerá uma URL para acessar as ferramentas de depuração no seu navegador.

Referências