Azure DevOps

Integre com os serviços do Azure DevOps para gerenciar itens de trabalho, repositórios e pipelines.

Documentação

Servidor MCP do Azure DevOps

smithery badge

Este servidor Model Context Protocol (MCP) fornece integração com o Azure DevOps, permitindo que o Claude Desktop/Cline interaja com os serviços do Azure DevOps.

Pré-requisitos

  • Node.js (v20 LTS ou superior)
  • npm (incluído com Node.js)
  • Um cliente compatível com MCP
  • Conta do Azure DevOps com tokens de acesso

Instalação

Instalando via Smithery

Para instalar o Azure DevOps Server para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @RainyCodeWizard/azure-devops-mcp-server --client claude

Instalação Manual

  1. Clone este repositório:
git clone https://github.com/RainyCodeWizard/azure-devops-mcp-server.git
cd azure-devops-mcp-server
  1. Instale as dependências:
npm install
  1. Compile o servidor:
npm run build

Observação: A saída da compilação (diretório build/) não está incluída no controle de versão. Você deve executar o comando de compilação após clonar o repositório.

Configuração

1. Obter o Token de Acesso Pessoal (PAT) do Azure DevOps

  1. Acesse o Azure DevOps e faça login
  2. Clique na sua foto de perfil no canto superior direito
  3. Selecione "Security"
  4. Clique em "New Token"
  5. Dê um nome ao seu token e selecione os escopos necessários:
    • Code (read, write) - Para operações de Pull Request
    • Work Items (read, write) - Para gerenciamento de Work Items
    • Build (read, execute) - Para operações de Pipeline
    • Wiki (read, write) - Para operações de Wiki
    • Project and Team (read) - Para informações de Projeto e Board
  6. Copie o token gerado

2. Configurar as Configurações MCP para Aplicativos Clientes

Adicione a configuração do servidor ao seu arquivo de configurações MCP do Cline:

  • Para a extensão Cline VSCode: %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  • Para o aplicativo de desktop Claude: %LOCALAPPDATA%/Claude/claude_desktop_config.json

Adicione a seguinte configuração ao objeto mcpServers:

{
  "mcpServers": {
    "azure-devops": {
      "command": "node",
      "args": ["/absolute/path/to/azure-devops-server/build/index.js"],
      "env": {
        "AZURE_DEVOPS_ORG": "your-organization",
        "AZURE_DEVOPS_PAT": "your-personal-access-token",
        "AZURE_DEVOPS_PROJECT_ID": "your-project-id"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Substitua os seguintes valores:

  • /absolute/path/to/azure-devops-server: O caminho absoluto para onde você clonou este repositório
  • your-organization: O nome da sua organização no Azure DevOps
  • your-project-id: O ID do seu projeto no Azure DevOps
  • your-personal-access-token: O PAT que você gerou no passo 1

Ferramentas Disponíveis

Work Items

  • get_work_item: Obter um work item por ID
  • list_work_items: Consultar work items usando WIQL
  • create_work_item: Criar um novo work item (Bug, Task, User Story)
  • update_work_item: Atualizar um work item existente

Boards

  • get_boards: Obter os boards disponíveis no projeto

Git

  • list_repositories: Listar todos os repositórios Git no projeto
    • Retorna: Lista de repositórios com ID, nome, branch padrão, tamanho e URLs
  • get_file: Obter o conteúdo de um arquivo específico do repositório
    • Parâmetros:
      • repositoryId: ID do repositório
      • path: Caminho para o arquivo no repositório (ex.: "src/index.ts")
      • branch: Nome do branch para obter o arquivo (opcional, padrão é main)
      • version: Versão específica (ID do commit) para obter o arquivo (opcional)
    • Retorna: Conteúdo do arquivo com metadados incluindo:
      • Caminho do arquivo
      • Tamanho do arquivo
      • Conteúdo do arquivo
      • ID do último commit
      • Data da última modificação
  • compare_branches: Comparar dois branches e obter o histórico de commits entre eles
    • Parâmetros:
      • repositoryId: ID do repositório para comparar branches
      • sourceBranch: Nome do branch de origem (ex.: "develop")
      • targetBranch: Nome do branch de destino (ex.: "main")
      • maxCommits: Número máximo de commits a retornar (opcional, padrão é 100)
      • historyMode: Modo de histórico Git a usar (opcional, padrão é "simplified")
        • simplified: Comportamento padrão do git log (padrão)
        • first-parent: Mostrar apenas o primeiro pai de commits de merge
        • full: Mostrar todos os commits incluindo commits de merge
        • full-simplify-merges: Mostrar todos os commits, mas simplificar o histórico de merges
      • includeDetails: Incluir informações detalhadas do commit (opcional, padrão é false)
        • Quando true, inclui:
          • Mensagem completa do commit
          • Lista de arquivos alterados com:
            • Caminho do arquivo
            • Tipo de alteração (add, edit, delete)
            • Número de linhas adicionadas/removidas
    • Retorna: Lista de commits com ID do commit, autor, data e mensagem

Pipelines

  • list_pipelines: Listar todos os pipelines no projeto
  • trigger_pipeline: Executar um pipeline

Pull Requests

  • list_pull_requests: Listar pull requests
  • create_pull_request: Criar um novo pull request
  • update_pull_request: Atualizar um pull request
  • get_pull_request: Obter detalhes do pull request

Wiki

  • get_wikis: Listar todas as wikis no projeto
  • get_wiki_page: Obter uma página da wiki
  • create_wiki: Criar uma nova wiki
  • update_wiki_page: Criar ou atualizar uma página da wiki

Projetos

  • list_projects: Listar todos os projetos na organização do Azure DevOps

Verificação

  1. Reinicie o Cline (ou VSCode) após adicionar a configuração
  2. O servidor MCP do Azure DevOps deve agora estar listado nas capacidades do Cline
  3. Você pode verificar a instalação usando o MCP Inspector:
npm run inspector

Solução de Problemas

  1. Se o servidor não estiver conectando:

    • Verifique se o caminho nas suas configurações MCP está correto
    • Verifique suas credenciais do Azure DevOps
    • Verifique os logs do Cline para mensagens de erro
  2. Se você receber erros de autenticação:

    • Verifique se o seu PAT não expirou
    • Garanta que o PAT tenha todos os escopos necessários
    • Verifique novamente a organização e o ID do projeto
  3. Para outros problemas:

    • Execute a ferramenta inspector para verificar se o servidor está funcionando corretamente
    • Verifique os logs do servidor para mensagens de erro

Desenvolvimento

Para modificar ou estender o servidor:

  1. Faça suas alterações no diretório src
  2. Execute npm run watch para desenvolvimento
  3. Compile com npm run build quando estiver pronto
  4. Teste usando o inspector: npm run inspector

Licença

Licença MIT - Consulte LICENSE para detalhes