mcp-azure-devops
Servidor MCP para Azure DevOps — quadros/itens de trabalho, repositórios/PRs, pipelines e projetos — com controles de governança (modos de acesso, listas de permissão de projetos, projetos protegidos, controle de exclusão, confirmação tipada, simulação, auditoria).
Documentação
mcp-azure-devops
Um servidor Model Context Protocol para Azure DevOps. Ele permite que um cliente compatível com MCP (Claude Desktop, Claude Code, Cursor, Codex, …) trabalhe em boards, repositórios, pipelines e projetos — com uma camada de governança que mantém um agente de IA dentro de limites seguros.
O que este servidor oferece
- Projetos e equipes — liste projetos/equipes/membros, inspecione modelos de processo.
- Boards / itens de trabalho — consultas WIQL, obtenha itens de trabalho, crie/atualize itens de trabalho, liste iterações (sprints).
- Repositórios / pull requests — liste repositórios e branches, liste/obtenha PRs, abra PRs.
- Pipelines / builds — liste pipelines e builds recentes, obtenha um build, enfileire uma execução.
- Administração / processo — liste modelos de processo, crie um projeto, exclua um projeto (protegido).
- Governança integrada — modos de acesso, listas de permissão de projetos, projetos protegidos, bloqueio de exclusão, confirmação tipada para operações de alto impacto, simulação (dry-run) e registro de auditoria em JSON.
Modelo de governança e segurança
| Preocupação | Flag | Padrão | Efeito |
|---|---|---|---|
| O que o servidor pode fazer? | AZDO_MODE | read-only | read-only → leituras; read-write → itens de trabalho, PRs, execuções de pipeline; admin → criar/excluir projeto. Ferramentas acima do modo nunca são registradas. |
| Quais projetos estão no escopo? | AZDO_PROJECT_ALLOWLIST | (todos) | Operações em outros projetos são recusadas. |
| Quais projetos são somente leitura para sempre? | AZDO_PROTECTED_PROJECTS | (nenhum) | Legíveis, nunca mutáveis. |
| Pode excluir? | AZDO_ALLOW_DELETE | false | delete_project exige isso e o modo administrador. |
| Confirmação tipada | AZDO_REQUIRE_CONFIRMATION | true | Operações de alto impacto exigem que confirm seja igual ao nome do alvo — não apenas um booleano. |
| Simulação (dry-run) | AZDO_DRY_RUN | false | Ferramentas de escrita/administração validam + registram a intenção e retornam. |
| Trilha de auditoria | AZDO_AUDIT_LOG | true | Linha JSON no stderr por operação protegida. |
| Confirmação interativa | (automática) | — | Ações destrutivas e de alto impacto solicitam aprovação humana via elicitação MCP antes de executar; clientes sem elicitação usam o gate *_ALLOW_* como fallback. |
Ferramentas
Leitura (read-only+): list_projects, get_project, list_teams, list_team_members, list_processes, query_work_items, get_work_item, list_iterations, list_repositories, list_branches, list_pull_requests, get_pull_request, list_pipelines, list_builds, get_build
Escrita (read-write+): create_work_item, update_work_item, create_pull_request, run_pipeline
Administração (admin): create_project, delete_project (exige AZDO_ALLOW_DELETE + confirm tipado)
Início rápido — adicione ao seu agente
Publicado no npm como @dockndevai/mcp-azure-devops. Executa via npx; exige uma organização e um PAT. Consulte docs/CLIENTS.md para cada cliente e .env.example para todas as variáveis.
Claude Code
claude mcp add azure-devops -e AZDO_ORG_URL="https://dev.azure.com/your-org" -e AZDO_PAT="your-pat" -e AZDO_MODE="read-only" -- npx -y @dockndevai/mcp-azure-devops
Claude Desktop · Cursor · Windsurf
{
"mcpServers": {
"azure-devops": {
"command": "npx",
"args": ["-y", "@dockndevai/mcp-azure-devops"],
"env": {
"AZDO_ORG_URL": "https://dev.azure.com/your-org",
"AZDO_PAT": "your-pat",
"AZDO_MODE": "read-only"
}
}
}
}
Exemplos de prompts
- "Liste pull requests ativos no repositório api do projeto Payments"
- "Consulte itens de trabalho atribuídos a mim que ainda estão Ativos"
- "Mostre os últimos 10 builds no projeto Web e quais falharam"
- "Crie um Bug em Payments intitulado 'Checkout 500 na tentativa'" (exige leitura-escrita)
Executar a partir do código-fonte (desenvolvimento)
npm install
npm run build
node dist/index.js # with the environment variables set
Desenvolvimento
npm run dev
npm test # governance policy: modes, allowlists, delete gating, confirmation
npm run typecheck
Publicação
Envia um server.json para o registro oficial do MCP e um mcpName para validação de propriedade no npm. Consulte PUBLISHING.md.
Licença
MIT