Azure DevOps MCP

Integra-se com o Azure DevOps, permitindo interação com seus serviços. Requer um Token de Acesso Pessoal (PAT) para autenticação.

Documentação

Azure DevOps MCP (ADO-MCP-Server) for Cline

smithery badge

Este servidor Model Context Protocol (MCP) fornece integração com o Azure DevOps, permitindo que Cline e Roo Code interajam com os serviços do Azure DevOps.

O repositório do projeto está localizado em: https://github.com/cakriwut/ado-mcp-server

Pré-requisitos

  • Node.js (v20 LTS ou superior)
  • npm (vem com o Node.js)
  • Uma instalação do Cline
  • Conta do Azure DevOps com tokens de acesso

Instalação

Instalação via Smithery

Para instalar o Azure DevOps MCP Server (ADO-MCP-Server) automaticamente via Smithery:

npx -y @smithery/cli install @cakriwut/ado-mcp-server --client claude

Instalação Manual

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

Nota: 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. Obtenha o Personal Access Token (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. Configure as Configurações do MCP

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

Para Roo Code (extensão do VSCode)

Localização do arquivo de configuração: %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json

Para o Cline Desktop App

Localização do arquivo de configuração: %LOCALAPPDATA%/Claude/claude_desktop_config.json

Adicione a seguinte configuração ao objeto mcpServers:

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

Substitua os seguintes valores:

  • C:/absolute/path/to/ado-mcp-server: O caminho absoluto para onde você clonou este repositório (use barras normais)
  • your-organization: O nome da sua organização no Azure DevOps
  • your-project-name: O nome do seu projeto no Azure DevOps
  • your-personal-access-token: O PAT que você gerou no passo 1

Notas Importantes para Usuários do Windows

  • Use barras normais (/) no caminho, não barras invertidas ()
  • Forneça o caminho absoluto completo para o arquivo build/index.js
  • Reinicie o Roo Code ou o Cline após fazer alterações na configuração

Ferramentas Disponíveis

Work Items

  • get_work_item: Obter um work item pelo 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
  • search_work_items: Pesquisar work items usando busca por texto
  • add_work_item_comment: Adicionar um comentário a um work item
  • get_work_item_comments: Obter comentários de um work item

Boards

  • get_boards: Obter os boards disponíveis no projeto

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

Wiki

  • get_wikis: Listar todos os wikis no projeto
  • list_wiki_pages: Listar páginas em um wiki
  • get_wiki_page: Obter uma página de wiki pelo caminho
  • create_wiki: Criar um novo wiki
  • update_wiki_page: Criar ou atualizar uma página de wiki
  • create_wiki_page: Criar uma nova página de wiki
  • search_wiki_page: Pesquisar páginas em um wiki por texto

Projetos

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

Interface de Linha de Comando (CLI)

O ADO-MCP-Server inclui uma interface de linha de comando que permite interagir com o Azure DevOps diretamente do terminal. A CLI está disponível como azure-devops-cli após compilar o projeto.

Configuração do Ambiente

Antes de usar a CLI, configure suas variáveis de ambiente:

# PowerShell
$env:AZURE_DEVOPS_ORG = "your-organization"
$env:AZURE_DEVOPS_PROJECT = "your-project-name"
$env:AZURE_DEVOPS_PAT = "your-personal-access-token"

Comandos Comuns da CLI

Work Items

# Get a work item by ID
node .\build\cli\index.js work-item get -i 42

# Search for work items
node .\build\cli\index.js work-item search -s "bug"

# Create a new task
node .\build\cli\index.js work-item create -t "Task" -d '[{"op":"add","path":"/fields/System.Title","value":"New Task"}]'

# Add a comment to a work item
node .\build\cli\index.js work-item add-comment -i 42 -t "This is a comment added via CLI"

# Get comments from a work item
node .\build\cli\index.js work-item get-comments -i 42

Wiki

# List all wikis in the project
node .\build\cli\index.js wiki list

# Get a wiki page
node .\build\cli\index.js wiki page -w <wikiIdentifier> -p "/path/to/page" --include-content

# Search wiki pages
node .\build\cli\index.js wiki search -w <wikiIdentifier> -s "search term"

Para exemplos mais detalhados de uso da CLI, consulte docs/wiki-cli-usage.md e docs/command-list.md.

Verificação

  1. Reinicie o Cline (ou o VSCode) após adicionar a configuração
  2. O servidor Azure DevOps MCP agora deve 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 do 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 os nomes da organização e 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

Testes

O projeto inclui scripts de teste para todos os comandos do MCP Server. Esses testes ajudam a verificar se o servidor pode se comunicar corretamente com o Azure DevOps.

Pré-requisitos para Testes

  1. Certifique-se de ter um arquivo .env válido no diretório raiz com as seguintes variáveis:

    AZURE_DEVOPS_ORG=your-organization
    AZURE_DEVOPS_PROJECT=your-project
    AZURE_DEVOPS_PAT=your-personal-access-token
    
  2. Instale as dependências:

    npm install
    

Executando Testes

Testes Rápidos

Para um teste rápido da sua conexão com o Azure DevOps:

npm run test:quick

Isso executa um teste JavaScript simples que testa apenas o comando list_projects.

Para um teste mais abrangente de todos os comandos do MCP Server:

npm run test:simple

Isso executa um teste JavaScript simples que testa todos os comandos principais em um único arquivo.

Testes TypeScript

Para executar todos os testes TypeScript:

npm test

Para executar testes para categorias específicas de comandos:

npm run test:work-item     # Test Work Item Tools
npm run test:board         # Test Board Tools
npm run test:wiki          # Test Wiki Tools
npm run test:project       # Test Project Tools
npm run test:pipeline      # Test Pipeline Tools
npm run test:pull-request  # Test Pull Request Tools

Consulte o arquivo tests/README.md para mais informações sobre os testes.

Licença

Licença MIT - Consulte LICENSE para detalhes