mcp-azure-devops
Servidor MCP para Azure DevOps: tableros/elementos de trabajo, repositorios/PRs, pipelines y proyectos, con controles de gobernanza (modos de acceso, listas de permitidos de proyectos, proyectos protegidos, control de eliminación, confirmación tipada, simulación y auditoría).
Documentación
mcp-azure-devops
Un servidor de Model Context Protocol para Azure DevOps. Permite que un cliente compatible con MCP (Claude Desktop, Claude Code, Cursor, Codex, …) trabaje en boards, repos, pipelines y proyectos — con una capa de gobernanza que mantiene a un agente de IA dentro de límites seguros.
Qué ofrece
- Proyectos y equipos — lista proyectos/equipos/miembros, inspecciona plantillas de proceso.
- Boards / elementos de trabajo — consultas WIQL, obtén elementos de trabajo, crea/actualiza elementos de trabajo, lista iteraciones (sprints).
- Repos / pull requests — lista repositorios y ramas, lista/obtén PRs, abre PRs.
- Pipelines / builds — lista pipelines y builds recientes, obtén un build, encola una ejecución.
- Administración / proceso — lista plantillas de proceso, crea un proyecto, elimina un proyecto (protegido).
- Gobernanza integrada — modos de acceso, listas blancas de proyectos, proyectos protegidos, control de eliminación, confirmación tipada para operaciones de alto impacto, dry-run y registro de auditoría JSON.
Modelo de gobernanza y seguridad
| Aspecto | Flag | Predeterminado | Efecto |
|---|---|---|---|
| ¿Qué puede hacer el servidor? | AZDO_MODE | read-only | read-only → lecturas; read-write → elementos de trabajo, PRs, ejecuciones de pipeline; admin → crear/eliminar proyecto. Las herramientas por encima del modo nunca se registran. |
| ¿Qué proyectos están en alcance? | AZDO_PROJECT_ALLOWLIST | (todos) | Se rechazan operaciones sobre otros proyectos. |
| ¿Qué proyectos son de solo lectura para siempre? | AZDO_PROTECTED_PROJECTS | (ninguno) | Legibles, nunca mutables. |
| ¿Puede eliminar? | AZDO_ALLOW_DELETE | false | delete_project necesita esto y modo administrador. |
| Confirmación tipada | AZDO_REQUIRE_CONFIRMATION | true | Las operaciones de alto impacto requieren que confirm sea igual al nombre del objetivo — no solo un booleano. |
| Vista previa | AZDO_DRY_RUN | false | Las herramientas de escritura/administración validan + registran la intención y luego retornan. |
| Rastro de auditoría | AZDO_AUDIT_LOG | true | Línea JSON a stderr por operación protegida. |
| Confirmación interactiva | (automática) | — | Las acciones destructivas y de alto impacto solicitan la aprobación humana mediante elicitación MCP antes de ejecutarse; los clientes sin elicitación recurren a la compuerta *_ALLOW_*. |
Herramientas
Lectura (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
Escritura (read-write+): create_work_item, update_work_item, create_pull_request, run_pipeline
Administración (admin): create_project, delete_project (necesita AZDO_ALLOW_DELETE + confirm tipado)
Inicio rápido — añádelo a tu agente
Publicado en npm como @dockndevai/mcp-azure-devops. Se ejecuta mediante npx; necesita una organización y un PAT. Consulta docs/CLIENTS.md para cada cliente y .env.example para todas las variables.
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"
}
}
}
}
Ejemplos de prompts
- "Lista los pull requests activos en el repo api del proyecto Payments"
- "Consulta los elementos de trabajo asignados a mí que sigan Activos"
- "Muestra los últimos 10 builds del proyecto Web y cuáles fallaron"
- "Crea un Bug en Payments titulado 'Checkout 500 al reintentar'" (requiere lectura-escritura)
Ejecutar desde el código fuente (desarrollo)
npm install
npm run build
node dist/index.js # with the environment variables set
Desarrollo
npm run dev
npm test # governance policy: modes, allowlists, delete gating, confirmation
npm run typecheck
Publicación
Incluye un server.json para el registro oficial de MCP y un mcpName para la validación de propiedad en npm. Consulta PUBLISHING.md.
Licencia
MIT