Azure DevOps MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Azure DevOps MCP Server show current sprint tasks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Azure DevOps MCP Server
Servidor MCP que permite que agentes de IA interajam naturalmente com o Azure DevOps
Instalação • Recursos • Configuração • Exemplos • Permissões
📖 O Que É Este Projeto?
Este é um servidor MCP (Model Context Protocol) que conecta agentes de IA (como Claude, ChatGPT via Cursor) ao Azure DevOps, permitindo que você converse em linguagem natural para:
✅ Consultar e criar Work Items (Tasks, Bugs, User Stories)
✅ Executar queries WIQL personalizadas
✅ Gerenciar Sprints (Iterations) e Boards
✅ Criar e revisar Pull Requests
✅ Gerenciar Teams e Repositories
✅ Editar Wiki Pages
Em vez de:
Abrir browser → Login Azure DevOps → Boards → New Work Item → Preencher formulário...Você faz:
User: "Crie uma task para implementar autenticação JWT com prioridade alta"
Agent: ✅ Task #456 criada com sucesso!Related MCP server: Azure DevOps MCP Server
🏗️ Arquitetura
┌─────────────────────────────────────────────────────────────────┐
│ CURSOR / AI AGENT │
│ (Claude, ChatGPT, etc) │
└────────────────────────────┬────────────────────────────────────┘
│
│ Model Context Protocol (MCP)
│
┌────────────────────────────▼────────────────────────────────────┐
│ MCP SERVER (este projeto) │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ MCP Layer │ │
│ │ ├─ 12 Resources (read-only data sources) │ │
│ │ └─ 27 Tools (executable actions) │ │
│ └──────────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Business Logic Layer │ │
│ │ ├─ Work Items API ├─ Pull Requests API │ │
│ │ ├─ WIQL API ├─ Teams API │ │
│ │ ├─ Boards API ├─ Repositories API │ │
│ │ ├─ Iterations API └─ Wikis API │ │
│ └──────────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Core Infrastructure │ │
│ │ ├─ Retry Policy (exponential backoff) │ │
│ │ ├─ Circuit Breaker (failure protection) │ │
│ │ ├─ Rate Limiter (token bucket) │ │
│ │ ├─ Logger (with credential redaction) │ │
│ │ └─ Telemetry (performance metrics) │ │
│ └──────────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Providers Layer │ │
│ │ ├─ HTTP Provider (axios + REST API) │ │
│ │ └─ SDK Provider (azure-devops-node-api) │ │
│ └──────────────────────────────────────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────┘
│
│ HTTPS + Personal Access Token (PAT)
│
┌────────────────────────────▼────────────────────────────────────┐
│ AZURE DEVOPS REST API │
│ https://dev.azure.com/{organization}/{project} │
└──────────────────────────────────────────────────────────────────┘📁 Estrutura de Pastas
mcp-azure-devops/
├── src/ # Código-fonte TypeScript
│ ├── index.ts # Entry point (inicialização do servidor)
│ ├── server.ts # Configuração do MCP Server
│ │
│ ├── mcp/ # MCP Layer
│ │ ├── resources/ # 12 Resources (data sources)
│ │ │ └── index.ts # Handlers de resources
│ │ ├── tools/ # 27 Tools (actions)
│ │ │ └── index.ts # Handlers de tools
│ │ └── schemas/ # JSON Schemas de validação
│ │ └── index.ts # Schemas dos tools
│ │
│ └── wrapper/ # Backend Wrapper
│ ├── index.ts # Client principal
│ │
│ ├── config/ # Configuração
│ │ ├── env.ts # Leitura de variáveis de ambiente
│ │ └── index.ts # Config object (frozen)
│ │
│ ├── core/ # Core Infrastructure
│ │ ├── auth.ts # Authentication Manager
│ │ ├── resilience.ts # Retry Policy + Circuit Breaker
│ │ └── rules.ts # Rate Limiter + Validation
│ │
│ ├── logging/ # Logging & Telemetry
│ │ ├── logger.ts # Logger (pino + redaction)
│ │ └── telemetry.ts # Performance metrics
│ │
│ ├── providers/ # Providers Layer
│ │ ├── base.provider.ts # Interface abstrata
│ │ ├── http.provider.ts # HTTP Client (axios)
│ │ ├── sdk.provider.ts # SDK Client (oficial)
│ │ └── index.ts # Factory
│ │
│ ├── api/ # Business Logic APIs
│ │ ├── work-items.ts # Work Items CRUD + WIQL
│ │ ├── wiql.ts # WIQL Queries
│ │ ├── boards.ts # Boards Management
│ │ ├── iterations.ts # Iterations/Sprints
│ │ ├── pull-requests.ts # Pull Requests
│ │ ├── repositories.ts # Git Repositories
│ │ ├── teams.ts # Teams Management
│ │ └── wiki.ts # Wiki Pages
│ │
│ └── types/ # TypeScript Types
│ ├── index.ts # Exports
│ ├── work-items.ts # Work Item types
│ ├── boards.ts # Board types
│ ├── iterations.ts # Iteration types
│ ├── pull-requests.ts # PR types
│ ├── teams.ts # Team types
│ ├── wiki.ts # Wiki types
│ └── providers.ts # Provider types
│
├── dist/ # JavaScript compilado (gerado)
├── tests/ # Testes
│ ├── integration/ # Testes de integração
│ └── mcp/ # Testes MCP
│
├── docs/ # Documentação adicional
│
├── package.json # Dependências e scripts
├── tsconfig.json # Configuração TypeScript
├── .gitignore # Arquivos ignorados
├── cursor-mcp-config-example.json # Exemplo de config
├── README.md # Este arquivo
├── QUICKSTART.md # Guia rápido
├── ARCHITECTURE.md # Arquitetura detalhada
└── LICENSE # Licença MIT🚀 Instalação
Pré-requisitos
Node.js >= 18.0.0
npm >= 9.0.0
Conta no Azure DevOps
Personal Access Token (PAT) com permissões apropriadas
Cursor (ou outro cliente MCP)
Passo 1: Clone o Repositório
git clone https://github.com/seu-usuario/mcp-azure-devops.git
cd mcp-azure-devopsPasso 2: Instale as Dependências
npm installDependências principais:
@modelcontextprotocol/sdk- SDK oficial do MCPazure-devops-node-api- SDK oficial do Azure DevOpsaxios- HTTP clientpino- Logger profissionaldotenv- Gerenciamento de variáveis de ambiente
Passo 3: Compile o Projeto
npm run buildIsso irá:
Compilar TypeScript → JavaScript
Gerar pasta
dist/com código compiladoGerar source maps e type definitions
Passo 4: Verifique a Instalação
ls dist/
# Deve mostrar: index.js, server.js, mcp/, wrapper/, etc⚙️ Configuração
Passo 1: Crie um Personal Access Token (PAT)
Acesse Azure DevOps:
https://dev.azure.com/{sua-org}Clique em User Settings (ícone de usuário) → Personal Access Tokens
Clique em New Token
Configure:
Name:
MCP Server TokenOrganization: Sua organização
Expiration: 90 dias (ou custom)
Scopes: Ver seção Permissões
Clique em Create e copie o token (não será mostrado novamente!)
Passo 2: Configure o Cursor
Edite o arquivo de configuração do Cursor:
macOS/Linux: ~/.cursor/mcp.json
Windows: %USERPROFILE%\.cursor\mcp.json
{
"mcpServers": {
"azure-devops": {
"command": "node",
"args": [
"/caminho/completo/para/mcp-azure-devops/dist/index.js"
],
"env": {
"AZURE_DEVOPS_PAT": "seu_personal_access_token_aqui",
"AZURE_DEVOPS_ORG": "sua_organizacao",
"AZURE_DEVOPS_PROJECT": "seu_projeto",
"LOG_LEVEL": "info",
"NODE_ENV": "production"
}
}
}
}⚠️ IMPORTANTE:
Substitua
/caminho/completo/para/pelo path absoluto do projetoSubstitua
seu_personal_access_token_aquipelo PAT geradoSubstitua
sua_organizacaopelo nome da sua org no Azure DevOpsSubstitua
seu_projetopelo nome do projeto
📌 Exemplo:
{
"mcpServers": {
"azure-devops": {
"command": "node",
"args": [
"/home/usuario/projetos/mcp-azure-devops/dist/index.js"
],
"env": {
"AZURE_DEVOPS_PAT": "abc123xyz789...",
"AZURE_DEVOPS_ORG": "minha-empresa",
"AZURE_DEVOPS_PROJECT": "Projeto-Principal"
}
}
}
}Passo 3: Reinicie o Cursor
Feche completamente o Cursor e reabra.
Passo 4: Teste a Conexão
No Cursor, pergunte ao agente:
"Quais são minhas tasks pendentes no Azure DevOps?"Se tudo estiver correto, o agente irá acessar o resource azure://work-items/my-tasks e listar suas tasks!
📦 Recursos (Resources)
Resources são fontes de dados read-only que o agente pode consultar. Funcionam como "páginas web" que o agente acessa para obter informações.
URI | Descrição | Retorna | Limite |
| Tasks atribuídas ao usuário atual | Work Items onde | 50 itens |
| Todos os bugs abertos do projeto | Work Items onde | 100 itens |
| Todos os work items (recentes) | Todos os Work Items ordenados por data de modificação | 200 itens |
| Health do servidor e informações do projeto | Status de conexão, circuit breaker, rate limit, provider ativo | - |
| Lista de boards do projeto | Todos os boards com ID, nome e URL | - |
| Configuração de um board específico | Colunas, settings, visibilidade de backlog | - |
| Todas as iterations (sprints) | Iterations passadas, atual e futuras | - |
| Sprint atual com work items | Iteration atual + lista de work items da sprint | - |
| Capacity planning de uma iteration | Capacidade por usuário, atividade e time | - |
| Pull Requests ativos | PRs com status | - |
| Teams do projeto | Todos os teams com ID, nome, descrição | - |
| Wikis do projeto | Todas as wikis com ID, nome, tipo (project/code) | - |
💡 Como o agente usa:
User: "Quais são os bugs críticos abertos?"
Agent:
1. Acessa resource: azure://work-items/bugs
2. Filtra por prioridade crítica
3. Retorna: "🔥 Encontrei 3 bugs críticos: #123, #456, #789"🛠️ Tools (Ações Executáveis)
Tools são ações que modificam dados no Azure DevOps. O agente as executa quando você pede para criar, atualizar ou deletar algo.
📋 Work Items (7 tools)
Tool | Descrição | Permissão Necessária | Alertas |
| Cria um novo work item (Task, Bug, User Story, etc) | ✅ Work Items: Read & Write | ⚠️ Cria no projeto configurado. Tipo deve existir no process template. |
| Atualiza campos de um work item existente | ✅ Work Items: Read & Write | ⚠️ Estados devem ser válidos para o workflow. |
| Deleta um work item (move para Recycle Bin) | ✅ Work Items: Read & Write | 🔴 CRÍTICO: Ação irreversível (pode recuperar da lixeira em 30 dias). |
| Busca um work item por ID | ✅ Work Items: Read | - |
| Executa query WIQL customizada | ✅ Work Items: Read | ⚠️ Limite de 20.000 resultados por query. Sintaxe WIQL deve ser válida. |
| Busca tasks do usuário atual | ✅ Work Items: Read | - |
| Busca bugs com prioridade crítica | ✅ Work Items: Read | - |
Exemplo de uso:
// Criação de task
User: "Crie uma task 'Implementar login JWT' com prioridade alta"
Agent: Chama azure_create_work_item({
type: "Task",
title: "Implementar login JWT",
priority: 1
})
Result: ✅ Task #456 criada!📊 Boards (3 tools)
Tool | Descrição | Permissão Necessária | Alertas |
| Lista todos os boards do projeto | ✅ Work Items: Read | - |
| Obtém configuração de um board | ✅ Work Items: Read | - |
| Atualiza configuração de board | ✅ Work Items: Read & Write + Project & Team: Read, Write & Manage | ⚠️ Requer permissão de Project Admin. Alterações afetam todo o team. |
🏃 Iterations / Sprints (5 tools)
Tool | Descrição | Permissão Necessária | Alertas |
| Lista todas as iterations (sprints) | ✅ Work Items: Read | - |
| Cria uma nova iteration/sprint | ✅ Work Items: Read & Write + Project & Team: Read, Write & Manage | ⚠️ Requer permissão de Team Admin. Datas devem ser futuras. |
| Obtém sprint atual com work items | ✅ Work Items: Read | - |
| Deleta uma iteration | ✅ Work Items: Read & Write + Project & Team: Read, Write & Manage | 🔴 CRÍTICO: Work items não são deletados, apenas desassociados da sprint. |
| Obtém capacity planning de uma sprint | ✅ Work Items: Read | - |
🔀 Pull Requests (2 tools)
Tool | Descrição | Permissão Necessária | Alertas |
| Lista PRs de um repositório | ✅ Code: Read | - |
| Cria um novo Pull Request | ✅ Code: Read & Write | ⚠️ Source branch e target branch devem existir. Title é obrigatório. |
👥 Teams (3 tools)
Tool | Descrição | Permissão Necessária | Alertas |
| Lista todos os teams do projeto | ✅ Project & Team: Read | - |
| Obtém detalhes de um team | ✅ Project & Team: Read | - |
| Cria um novo team | ✅ Project & Team: Read, Write & Manage | ⚠️ Requer permissão de Project Admin. Nome deve ser único. |
📚 Repositories (2 tools)
Tool | Descrição | Permissão Necessária | Alertas |
| Lista todos os repositórios do projeto | ✅ Code: Read | - |
| Obtém detalhes de um repositório | ✅ Code: Read | - |
📖 Wikis (7 tools)
Tool | Descrição | Permissão Necessária | Alertas |
| Lista todas as wikis do projeto | ✅ Wiki: Read | - |
| Obtém detalhes de uma wiki | ✅ Wiki: Read | - |
| Cria uma nova wiki | ✅ Wiki: Read & Write | ⚠️ Nome deve ser único. Tipo pode ser |
| Lista páginas de uma wiki | ✅ Wiki: Read | - |
| Obtém conteúdo de uma página | ✅ Wiki: Read | - |
| Cria uma nova página na wiki | ✅ Wiki: Read & Write | ⚠️ Path deve ser único. Conteúdo em Markdown. |
| Atualiza uma página existente | ✅ Wiki: Read & Write | ⚠️ Requer |
🔐 Permissões do Azure DevOps
Permissões Mínimas (Read-Only)
Para apenas consultar dados (resources):
✅ Work Items: Read
✅ Code: Read
✅ Wiki: Read
✅ Project & Team: ReadComo configurar:
Azure DevOps → User Settings → Personal Access Tokens
New Token → Custom defined
Selecione apenas: Work Items (Read), Code (Read), Wiki (Read)
Permissões Recomendadas (Produtividade)
Para criar e modificar dados (tools):
✅ Work Items: Read & Write
✅ Code: Read & Write
✅ Wiki: Read & Write
✅ Project & Team: ReadPermissões Avançadas (Administração)
Para gerenciar boards, sprints e teams:
✅ Work Items: Read & Write
✅ Code: Read & Write
✅ Wiki: Read & Write
✅ Project & Team: Read, Write & Manage⚠️ ATENÇÃO: Permissões de Manage devem ser dadas apenas para usuários confiáveis, pois permitem:
Criar/deletar teams
Modificar configuração de boards
Criar/deletar sprints
Alterar estrutura do projeto
Verificando Permissões
Teste cada permissão:
# Read-only test
User: "Liste meus work items"
→ Se funcionar: ✅ Work Items Read OK
# Write test
User: "Crie uma task de teste"
→ Se funcionar: ✅ Work Items Write OK
→ Se erro 403: ❌ Falta permissão de Write
# Admin test
User: "Crie um novo sprint"
→ Se funcionar: ✅ Project & Team Manage OK
→ Se erro 403: ❌ Falta permissão de Manage💡 Exemplos de Uso
1. Consultando Work Items
User: "Quais são minhas tasks pendentes?"
Agent: [Acessa azure://work-items/my-tasks]
📋 Você tem 3 tasks pendentes:
1. #456 - Implementar autenticação JWT (To Do) - Prioridade: 1
2. #457 - Corrigir parser de markdown (In Progress) - Prioridade: 2
3. #789 - Refatorar componente de login (To Do) - Prioridade: 32. Criando Work Items
User: "Crie uma task para implementar cache Redis com prioridade alta"
Agent: [Chama azure_create_work_item]
✅ Task criada com sucesso!
📋 ID: #890
📝 Título: Implementar cache Redis
⏰ Estado: To Do
⚡ Prioridade: 1 (Alta)
🔗 URL: https://dev.azure.com/sua-org/projeto/_workitems/edit/8903. Atualizando Work Items
User: "Marque a task #456 como Done"
Agent: [Chama azure_update_work_item]
✅ Task #456 atualizada!
📋 ID: #456
📝 Título: Implementar autenticação JWT
⏰ Estado: To Do → Done ✅4. Queries WIQL Customizadas
User: "Me mostre todos os bugs criados nos últimos 7 dias com prioridade crítica"
Agent: [Chama azure_query_work_items]
🔍 Query WIQL:
SELECT [System.Id], [System.Title], [System.State]
FROM WorkItems
WHERE [System.WorkItemType] = 'Bug'
AND [Microsoft.VSTS.Common.Priority] = 1
AND [System.CreatedDate] >= @Today - 7
🔥 Encontrados 2 bugs críticos:
1. #891 - Login falha no iOS 17 (New)
2. #892 - Crash ao abrir perfil (New)5. Gerenciando Sprints
User: "Crie um sprint de 2 semanas começando segunda-feira"
Agent: [Chama azure_create_iteration]
✅ Sprint criado com sucesso!
📅 Nome: Sprint 15
📆 Início: 2025-11-10
📆 Fim: 2025-11-24
🔗 URL: https://dev.azure.com/sua-org/projeto/_sprints/...6. Pull Requests
User: "Crie um PR da branch feature/login para main com título 'Implementa autenticação JWT'"
Agent: [Chama azure_create_pull_request]
✅ Pull Request criado!
🔀 ID: #42
📝 Título: Implementa autenticação JWT
🌿 Source: feature/login → main
👤 Autor: Você
🔗 URL: https://dev.azure.com/sua-org/projeto/_git/repo/pullrequest/427. Wiki Management
User: "Crie uma página 'Getting Started' na wiki do projeto"
Agent: [Chama azure_create_wiki_page]
✅ Página criada!
📖 Wiki: Project Wiki
📄 Path: /Getting-Started
🔗 URL: https://dev.azure.com/sua-org/projeto/_wiki/wikis/...🔍 Troubleshooting
Server não aparece no Cursor
Sintomas:
Cursor não mostra o servidor MCP na lista
Agente não consegue acessar resources
Soluções:
Verifique que o path no
mcp.jsonestá correto (caminho absoluto)Confirme que executou
npm run build(pastadist/existe)Verifique sintaxe JSON do arquivo
mcp.jsonReinicie o Cursor completamente (feche todas as janelas)
Verifique logs do Cursor:
Help → Show Logs
Erro 401 - Unauthorized
Sintomas:
Error: Request failed with status code 401Causas:
PAT inválido ou expirado
PAT não configurado corretamente
Soluções:
Verifique que o PAT está correto no
mcp.jsonGere um novo PAT no Azure DevOps
Confirme que o PAT não expirou
Teste o PAT manualmente:
curl -u :SEU_PAT https://dev.azure.com/sua-org/_apis/projectsErro 403 - Forbidden
Sintomas:
Error: Request failed with status code 403Causas:
PAT sem permissões suficientes
Usuário sem acesso ao projeto
Soluções:
Verifique permissões do PAT (ver seção Permissões)
Confirme que seu usuário tem acesso ao projeto no Azure DevOps
Para ações de Write: PAT precisa de Read & Write
Para ações de Manage: PAT precisa de Read, Write & Manage
Work Item não é criado
Sintomas:
Error: Work item type 'Task' not foundCausas:
Tipo de work item não existe no process template do projeto
Soluções:
Verifique os tipos disponíveis no seu projeto:
Azure DevOps → Project Settings → Process
Process templates comuns:
Agile: Task, Bug, User Story, Epic, Feature
Scrum: Task, Bug, Product Backlog Item, Epic, Feature
CMMI: Task, Bug, Requirement, Epic, Feature
Basic: Issue, Task, Epic
Use o tipo correto para o seu project template
Query WIQL falha
Sintomas:
Error: Invalid WIQL query syntaxCausas:
Sintaxe WIQL inválida
Campo não existe no projeto
Operador inválido
Soluções:
Valide a sintaxe WIQL:
-- ✅ Correto
SELECT [System.Id], [System.Title]
FROM WorkItems
WHERE [System.State] = 'Active'
-- ❌ Errado (falta FROM)
SELECT [System.Id], [System.Title]
WHERE [System.State] = 'Active'Teste a query no Azure DevOps:
Boards → Queries → New Query → Editor
Confirme que campos existem:
[System.FieldName]Use campos padrão quando possível
Circuit Breaker Ativo
Sintomas:
Error: Circuit breaker is OPEN - too many failuresCausas:
Muitas requisições falharam recentemente
Azure DevOps pode estar indisponível
Soluções:
Aguarde 1 minuto (circuit breaker se reseta automaticamente)
Verifique status do Azure DevOps: https://status.dev.azure.com
Verifique sua conexão de internet
Consulte health do servidor:
User: "Qual o status do servidor?"
Agent: [Acessa azure://project/info]Rate Limit Excedido
Sintomas:
Error: Rate limit exceeded - too many requestsCausas:
Muitas requisições em curto período
Rate limiter protege contra spam
Soluções:
Aguarde alguns segundos
Evite fazer muitas requisições simultâneas
Rate limit padrão: 100 requisições/minuto
Logs de Debug
Para investigar problemas, ative logs detalhados:
{
"mcpServers": {
"azure-devops": {
"env": {
"LOG_LEVEL": "debug",
"NODE_ENV": "development"
}
}
}
}Logs serão exibidos no stderr do Cursor.
🔧 Desenvolvimento
Setup Local
# Clone
git clone https://github.com/seu-usuario/mcp-azure-devops.git
cd mcp-azure-devops
# Instale
npm install
# Build
npm run build
# Watch mode (rebuild automático)
npm run devScripts Disponíveis
npm run dev # Modo desenvolvimento (tsx watch)
npm run build # Compila TypeScript → JavaScript
npm run start # Inicia servidor (node dist/index.js)
npm run test # Executa testes (jest)
npm run test:watch # Testes em watch mode
npm run lint # ESLint
npm run clean # Remove dist/Testes
# Todos os testes
npm test
# Testes específicos
npm test -- work-items
# Cobertura
npm test -- --coverageEstrutura de Testes
tests/
├── integration/ # Testes de integração com Azure DevOps real
│ └── work-items.test.ts
└── mcp/ # Testes de handlers MCP
├── resources.test.ts
└── tools.test.ts📚 Documentação Adicional
QUICKSTART.md - Guia rápido de 5 minutos
ARCHITECTURE.md - Arquitetura detalhada e decisões de design
Links Úteis
Model Context Protocol (MCP) - Especificação oficial
Azure DevOps REST API - Documentação da API
WIQL Syntax Reference - Referência de queries
Azure DevOps Node API - SDK oficial
🤝 Contribuindo
Contribuições são muito bem-vindas! Este projeto é open source e livre para uso.
Como Contribuir
Fork o repositório
Clone seu fork
Crie uma branch:
git checkout -b feature/minha-featureFaça suas alterações
Commit:
git commit -m "feat: adiciona nova feature"Push:
git push origin feature/minha-featureAbra um Pull Request
Convenções
Commits: Seguimos Conventional Commits
feat:- Nova funcionalidadefix:- Correção de bugdocs:- Documentaçãorefactor:- Refatoraçãotest:- Testeschore:- Tarefas de manutenção
Code Style: ESLint + Prettier (automático)
Type Safety: TypeScript strict mode
Áreas para Contribuir
🐛 Bug Fixes - Reporte ou corrija bugs
✨ Features - Novas funcionalidades
📖 Documentação - Melhore ou traduza docs
🧪 Testes - Aumente cobertura de testes
🎨 UX - Melhore mensagens e exemplos
🌍 i18n - Traduções para outros idiomas
📄 Licença
MIT License - Livre para uso comercial e pessoal
Copyright (c) 2025
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.Em Resumo 🎉
Pode:
✅ Usar comercialmente
✅ Modificar como quiser
✅ Distribuir
✅ Usar em projetos privados
✅ Vender (se quiser)
Não precisa:
❌ Pedir permissão
❌ Dar créditos (mas é legal se fizer!)
❌ Compartilhar suas modificações
❌ Usar a mesma licença
Tradução livre: "Pega, clona, mexe e não me incomoda!" 😎
Feito com ❤️ para a comunidade de desenvolvimento
Available Tools
30 toolsazure_create_iterationB
Cria uma nova iteration/sprint
Inputs: name (required), startDate (required), finishDate (required), path, +1 more.
azure_create_pull_requestC
Cria um novo Pull Request
Inputs: title (required), repositoryId (required), sourceRefName (required), targetRefName (required), +1 more.
azure_create_teamB
Cria um novo team no projeto
Inputs: name (required), description.
azure_create_wikiC
Cria uma nova wiki no projeto
Inputs: name (required), projectId (required), type, mappedPath, +1 more.
azure_create_wiki_pageB
Cria uma nova página na wiki
Inputs: path (required), content (required), wikiIdentifier (required).
azure_create_work_itemB
Cria um novo work item no Azure DevOps (Task, Bug, User Story, Epic, Feature, Issue)
Inputs: type (required), title (required), tags, state, +8 more.
azure_delete_iterationB
Deleta uma iteration (WARNING: use com cautela)
Inputs: iterationId (required), team.
azure_delete_work_itemC
Deleta um work item
Inputs: id (required).
azure_get_board_configB
Obter configuração de board por ID
Inputs: boardId (required).
azure_get_critical_bugsB
Busca bugs críticos (prioridade 1) não concluídos
Inputs: maxResults.
azure_get_current_iterationA
Obtém a iteration/sprint atual ativa com work items
Inputs: no named parameters.
azure_get_iteration_capacityC
Obtém capacity planning de uma iteration
Inputs: iterationId (required), team.
azure_get_my_tasksB
Busca tasks atribuídas ao usuário atual (helper)
Inputs: limit, state, includeCompleted.
azure_get_repositoryA
Obtém detalhes de um repositório Git específico
Inputs: repositoryId (required).
azure_get_teamA
Obtém detalhes de um team específico
Inputs: teamId (required).
azure_get_wikiB
Obtém detalhes de uma wiki específica
Inputs: wikiIdentifier (required).
azure_get_wiki_pageC
Obtém uma página específica da wiki
Inputs: path (required), wikiIdentifier (required), includeContent.
azure_get_work_itemB
Obtém detalhes de um work item específico
Inputs: id (required), fields.
azure_get_work_item_statesA
Consulta os estados válidos para um tipo de work item no projeto. Use ANTES de criar ou atualizar work items com estado específico.
Inputs: type (required).
azure_list_boardsA
Lista todos os boards do projeto
Inputs: no named parameters.
azure_list_iterationsB
Lista todas as iterations (sprints) do time
Inputs: team.
azure_list_pull_requestsC
Lista Pull Requests de um repositório
Inputs: repositoryId (required), status.
azure_list_repositoriesA
Lista todos os repositórios Git do projeto
Inputs: no named parameters.
azure_list_teamsA
Lista todos os teams do projeto
Inputs: no named parameters.
azure_list_wiki_pagesC
Lista páginas de uma wiki
Inputs: wikiIdentifier (required), path.
azure_list_wikisA
Lista todas as wikis do projeto
Inputs: no named parameters.
azure_query_work_itemsC
Executa uma query WIQL customizada sobre work items
Inputs: query (required), limit, fields, fetchDetails.
azure_update_boardC
Atualizar configurações de board
Inputs: boardId (required), settings (required).
azure_update_wiki_pageB
Atualiza uma página existente na wiki
Inputs: path (required), content (required), wikiIdentifier (required).
azure_update_work_itemC
Atualiza um work item existente
Inputs: id (required), state, title, parentId, +7 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 30 tools
Most tools are clearly separated by resource (work items, boards, iterations, PRs, teams, repos, wikis), but some overlap exists within work items (e.g., azure_get_work_item vs azure_query_work_items vs azure_get_my_tasks). Helpers like get_my_tasks and get_critical_bugs are essentially specialized queries, which could cause slight confusion.
Tool names generally follow the verb_noun pattern (e.g., azure_create_work_item, azure_list_boards), but there are minor inconsistencies like azure_get_board_config vs azure_update_board (not update_board_config) and azure_get_work_item_states. Overall predictable but not perfectly uniform.
With 30 tools, the server exceeds the recommended range and feels heavy. While it covers multiple Azure DevOps domains, many subdomains have only a few operations, making the high count unnecessary and potentially overwhelming.
Work items and wikis have decent lifecycle coverage, but other areas are incomplete: pull requests only support list/create (no get/update/merge), repositories have only list/get (no create/delete), and teams lack update/delete. These gaps will force agents to work around missing functionality.
Maintenance
Related MCP Connectors
Crie épicos, features, histórias e tasks no Azure DevOps a partir de uma conversa.
Tasks, sprints, releases and docs for engineering teams with AI coding agents.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Create and manage AI agents that collaborate and solve problems through natural language interacti…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query and interact with Azure DevOps data, including work items, projects, ticket statistics, and backlog information through natural language commands.8,497 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Azure DevOps to manage work items, Git repositories, branches, commits, and projects through natural language commands.958 npm5MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Azure DevOps APIs for managing projects, work items, repositories, pull requests, and pipelines through natural language.51 npm1MIT

Azure DevOps MCP Serverofficial
AlicenseNot gradedqualityAmaintenanceProvides Azure DevOps tooling for AI agents, enabling interaction with projects, work items, repositories, and pipelines through natural language.126,923 npm2,086MIT