Skip to main content
Glama

@slorenzot/mcp-azure

Servidor MCP (Model Context Protocol) para Azure DevOps. Permite interactuar con Work Items, repositorios Git, Pull Requests, sprints, áreas, comentarios y adjuntos desde cualquier cliente MCP compatible.

Instalación

npm install -g @slorenzot/mcp-azure

O usar directamente con npx:

npx @slorenzot/mcp-azure

Configuración

Variables de Entorno

El servidor se configura automáticamente usando las siguientes variables de entorno:

Variable

Alternativa

Descripción

Requerido

AZURE_DEVOPS_ORG

ADO_ORG

URL de la organización (ej: https://dev.azure.com/mi-org)

AZURE_DEVOPS_PAT

ADO_PAT

Personal Access Token

AZURE_DEVOPS_PROJECT

ADO_PROJECT

Nombre del proyecto

No

Configuración en Claude Desktop

Agrega la siguiente configuración en tu archivo claude_desktop_config.json:

{
  "mcpServers": {
    "azure-devops": {
      "command": "npx",
      "args": ["-y", "@slorenzot/mcp-azure"],
      "env": {
        "AZURE_DEVOPS_ORG": "https://dev.azure.com/tu-organizacion",
        "AZURE_DEVOPS_PAT": "tu-pat-aqui",
        "AZURE_DEVOPS_PROJECT": "tu-proyecto"
      }
    }
  }
}

Configuración en OpenCode

OpenCode utiliza el mismo MCP, pero la configuración se puede hacer de dos formas:

Opción 1: Configuración inicial con variables de entorno

  1. Configura las variables de entorno en tu sistema o en tu configuración de OpenCode:

    export AZURE_DEVOPS_ORG="https://dev.azure.com/tu-organizacion"
    export AZURE_DEVOPS_PAT="tu-pat-aqui"
    export AZURE_DEVOPS_PROJECT="tu-proyecto"
  2. O agrega el servidor MCP en tu configuración de OpenCode:

    {
      "mcpServers": {
        "azure-devops": {
          "command": "npx",
          "args": ["-y", "@slorenzot/mcp-azure"],
          "env": {
            "AZURE_DEVOPS_ORG": "https://dev.azure.com/tu-organizacion",
            "AZURE_DEVOPS_PAT": "tu-pat-aqui",
            "AZURE_DEVOPS_PROJECT": "tu-proyecto"
          }
        }
      }
    }

Opción 2: Configuración dinámica con ado_configure

OpenCode permite configurar la conexión directamente durante la sesión usando el comando ado_configure:

{
  "organization": "https://dev.azure.com/tu-organizacion",
  "project": "tu-proyecto",
  "pat": "tu-pat-aqui"
}

Esta opción es útil para cambiar entre diferentes organizaciones o proyectos sin modificar el archivo de configuración.

Nota: Cuando usas ado_configure, la conexión persiste durante la sesión actual de OpenCode.

Obtener un Personal Access Token (PAT)

  1. Ve a tu organización de Azure DevOps

  2. Haz clic en tu avatar (esquina superior derecha)

  3. Selecciona Personal Access Tokens

  4. Crea un nuevo token con los siguientes permisos:

    • Work Items: Read & Write

    • Code: Read & Write (para operaciones de repositorios y Pull Requests)

    • Project and Team: Read (opcional)

Herramientas Disponibles

Autenticación

Herramienta

Descripción

ado_configure

Configura la conexión con organización, proyecto y PAT

Work Items

Herramienta

Descripción

ado_get_work_item

Obtiene un Work Item por su ID

ado_create_work_item

Crea un nuevo Work Item (User Story, Bug, Task, etc.)

ado_update_work_item

Actualiza un Work Item existente

ado_get_work_item_type_fields

Obtiene los campos disponibles/requeridos de un tipo

Consultas

Herramienta

Descripción

ado_query_sprint

Consulta Work Items de un sprint específico

ado_query_area

Consulta Work Items de un área específica

ado_query_wiql

Ejecuta una consulta WIQL personalizada

Estructura del Proyecto

Herramienta

Descripción

ado_list_iterations

Lista las iteraciones/sprints del proyecto

ado_list_areas

Lista las áreas del proyecto

Repositorios Git

Herramienta

Descripción

ado_list_repositories

Lista todos los repositorios Git del proyecto

ado_get_repository

Obtiene detalles de un repositorio específico por nombre o ID

ado_list_branches

Lista las ramas (branches) de un repositorio

Pull Requests

Herramienta

Descripción

ado_list_pull_requests

Lista Pull Requests con filtros opcionales (status, branches, creador, revisor)

ado_get_pull_request

Obtiene detalles completos de un Pull Request

ado_create_pull_request

Crea un nuevo Pull Request

ado_update_pull_request

Actualiza propiedades de un Pull Request (título, descripción, draft)

ado_complete_pull_request

Completa (merge) un Pull Request con estrategia configurable

ado_abandon_pull_request

Abandona un Pull Request

Pull Request Reviews

Herramienta

Descripción

ado_approve_pull_request

Aprueba un Pull Request (voto: 10)

ado_reject_pull_request

Rechaza un Pull Request (voto: -10)

ado_get_pull_request_reviewers

Obtiene todos los revisores y sus votos de un Pull Request

ado_add_pull_request_reviewer

Agrega un revisor a un Pull Request

Pull Request Comments

Herramienta

Descripción

ado_get_pull_request_threads

Obtiene todos los hilos de comentarios de un Pull Request

ado_create_pull_request_thread

Crea un nuevo hilo de comentarios (general o de código)

ado_reply_to_pull_request_thread

Responde a un hilo de comentarios existente

Pull Request Info

Herramienta

Descripción

ado_get_pull_request_commits

Obtiene todos los commits de un Pull Request

ado_get_pull_request_work_items

Obtiene los Work Items vinculados a un Pull Request

ado_update_pull_request_thread_status

Actualiza el estado de un hilo de comentarios (Fixed, WontFix, etc.)

Comentarios y Discusiones

Herramienta

Descripción

ado_add_comment

Agrega un comentario a un Work Item (soporta Markdown)

ado_get_comments

Obtiene los comentarios de un Work Item

Adjuntos

Herramienta

Descripción

ado_upload_attachment

Sube un archivo y devuelve la URL del adjunto

ado_add_attachment

Agrega un adjunto a un Work Item

ado_get_attachments

Lista los adjuntos de un Work Item

Ejemplos de Uso

Crear una User Story

{
  "title": "Implementar login con OAuth",
  "type": "User Story",
  "description": "Como usuario quiero poder iniciar sesión con mi cuenta de Google",
  "areaPath": "MiProyecto\\Backend",
  "iterationPath": "MiProyecto\\Sprint 5",
  "fields": {
    "Custom.OKR": "Seguridad",
    "Custom.Prioridad": "Alta"
  }
}

Consulta WIQL Personalizada

{
  "wiql": "SELECT [System.Id], [System.Title] FROM WorkItems WHERE [System.State] = 'Active' AND [System.AssignedTo] = @Me ORDER BY [System.CreatedDate] DESC",
  "getDetails": true
}

Agregar Comentario con Markdown

{
  "id": 12345,
  "comment": "## Análisis completado\n\n- Revisado el código\n- Identificados 3 issues\n\n**Próximo paso:** Corregir validaciones"
}

Subir y Adjuntar Archivo

{
  "workItemId": 12345,
  "filePath": "/ruta/al/archivo.pdf",
  "comment": "Documento de especificaciones",
  "name": "Especificaciones Funcionales v2.0"
}

Vincular Adjunto Existente

{
  "workItemId": 12345,
  "attachmentUrl": "https://dev.azure.com/org/proj/_apis/wit/attachments/abc123",
  "comment": "Diseño de arquitectura",
  "name": "Arquitectura del Sistema"
}

Listar Repositorios

{
  "includeHidden": false,
  "top": 50
}

Listar Pull Requests Activos

{
  "status": "Active",
  "top": 20
}

Crear un Pull Request

{
  "repositoryId": "mi-repo",
  "sourceRefName": "refs/heads/feature-login",
  "targetRefName": "refs/heads/main",
  "title": "Implementar login con OAuth",
  "description": "Esta PR agrega soporte para login con Google OAuth",
  "reviewerIds": ["12345678-1234-1234-1234-1234567890ab"],
  "isDraft": false
}

Aprobar un Pull Request

{
  "pullRequestId": 12345,
  "repositoryId": "mi-repo"
}

Completar (Merge) un Pull Request

{
  "pullRequestId": 12345,
  "repositoryId": "mi-repo",
  "mergeStrategy": "Squash",
  "deleteSourceBranch": true,
  "mergeCommitMessage": "Merge de feature-login"
}

Crear Comentario en Código

{
  "pullRequestId": 12345,
  "repositoryId": "mi-repo",
  "content": "Por favor extraer esto en una función separada",
  "filePath": "/src/components/Login.tsx",
  "startLine": 45,
  "endLine": 52
}

Prompts Disponibles

El servidor incluye prompts predefinidos para facilitar tareas comunes:

Prompt

Descripción

connect

Guía para conectarse a Azure DevOps

analyze_sprint

Analiza el estado de un sprint

create_user_story

Crea una User Story estructurada

daily_standup

Genera un reporte de standup diario

plan_sprint

Ayuda a planificar un sprint

bulk_update

Actualiza múltiples Work Items

project_report

Genera un reporte del proyecto

report_bug

Crea un Bug report estructurado

Recursos

Recurso

URI

Descripción

Estado de conexión

ado://connection/status

Información del estado de conexión actual

Desarrollo

Requisitos

  • Node.js 18+

  • npm o yarn

Instalación local

git clone https://github.com/slorenzot/mcp-azure.git
cd mcp-azure
npm install
npm run build

Scripts disponibles

npm run build    # Compila TypeScript
npm run start    # Inicia el servidor
npm run dev      # Modo desarrollo con watch

Licencia

MIT

Autor

Soulberto Lorenzo - @slorenzot

Versión

2.4.1 - 34 herramientas disponibles para Azure DevOps (Work Items, Repositorios Git, Pull Requests, etc.)

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/soulberto/mcp-azure'

If you have feedback or need assistance with the MCP directory API, please join our Discord server