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

CI License: MIT npm

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

AspectoFlagPredeterminadoEfecto
¿Qué puede hacer el servidor?AZDO_MODEread-onlyread-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_DELETEfalsedelete_project necesita esto y modo administrador.
Confirmación tipadaAZDO_REQUIRE_CONFIRMATIONtrueLas operaciones de alto impacto requieren que confirm sea igual al nombre del objetivo — no solo un booleano.
Vista previaAZDO_DRY_RUNfalseLas herramientas de escritura/administración validan + registran la intención y luego retornan.
Rastro de auditoríaAZDO_AUDIT_LOGtrueLí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