Azure DevOps

Interactúa con los elementos de trabajo de Azure DevOps usando la API REST de Azure DevOps.

Documentación

Servidor MCP de azure-devops-mcp-server

Interactúa con Azure DevOps de forma más conveniente mediante lenguaje natural.

Este es un servidor MCP basado en TypeScript, diseñado para interactuar con los Work Items de Azure DevOps utilizando la API REST de Azure DevOps a través de axios.

Características

Herramientas

Este servidor proporciona las siguientes herramientas para gestionar recursos de Azure DevOps:

Operaciones principales de Work Items

  • create_work_item: Crea un nuevo Work Item en Azure DevOps (por ejemplo, User Story, Bug, Task).
    • Parámetros requeridos: type (tipo), title (título).
    • Parámetros opcionales: projectName (nombre del proyecto, por defecto el primer proyecto detectado por el servidor), description (descripción), areaPath (ruta del área, por defecto el nombre del proyecto de destino), iterationPath (ruta de iteración, por defecto el nombre del proyecto de destino), assignedTo (persona asignada), tags (etiquetas).
  • get_work_item_details: Obtiene la información detallada de un Work Item de Azure DevOps según su ID.
    • Parámetros requeridos: id (ID del Work Item).
    • Parámetros opcionales: fields (lista de campos a obtener, por defecto devuelve todos los campos), summarize (valor booleano, cuando se establece en true solo devuelve información resumida, por defecto false).
  • update_work_item: Actualiza los campos de un Work Item existente de Azure DevOps (por ejemplo, estado, persona asignada).
    • Parámetros requeridos: id (ID del Work Item), updates (objeto que contiene los campos y valores a actualizar).
    • Parámetros opcionales: comment (comentario de la actualización).
  • delete_work_item: Elimina el Work Item especificado de Azure DevOps y lo mueve a la papelera de reciclaje. 🆕
    • Parámetros requeridos: id (ID del Work Item).
    • Parámetros opcionales: destroy (si se debe eliminar permanentemente, por defecto false), projectName (nombre del proyecto).

Operaciones por lotes 🆕

  • get_work_items_batch: Obtiene múltiples Work Items de Azure DevOps por lotes (hasta 200).
    • Parámetros requeridos: ids (lista de IDs de Work Items).
    • Parámetros opcionales: fields (lista de campos), asOf (punto en el tiempo), expand (opciones de expansión).
  • batch_update_work_items: Actualiza múltiples Work Items de Azure DevOps por lotes. Puede ejecutar múltiples operaciones de creación, actualización o eliminación en una sola solicitud.
    • Parámetros requeridos: operations (lista de operaciones por lotes).
    • Parámetros opcionales: bypassRules (omitir reglas), suppressNotifications (suprimir notificaciones).

Búsqueda y consulta

  • search_work_items: Busca Work Items de Azure DevOps. Proporciona diversas opciones de filtrado y ordenación.
    • Parámetros opcionales:
      • query: Palabra clave de búsqueda (busca en título, descripción o ID)
      • projectName: Nombre del proyecto (por defecto el primer proyecto detectado por el servidor)
      • workItemType: Tipo de elemento de trabajo (por ejemplo, 'User Story', 'Bug')
      • state: Filtro de estado (por ejemplo, 'Active', 'Closed')
      • assignedTo: Nombre para mostrar o correo electrónico de la persona asignada
      • tags: Filtro de etiquetas (separadas por punto y coma, admite condiciones OR para múltiples etiquetas)
      • createdAfter: Filtro de fecha de creación (formato ISO 8601, por ejemplo, '2024-03-01')
      • updatedAfter: Filtro de fecha de actualización (formato ISO 8601, por ejemplo, '2024-03-01')
      • fields: Lista personalizada de campos de retorno (por defecto incluye ID, título, estado, tipo, persona asignada, etiquetas, fechas de creación/actualización y persona)
      • orderBy: Método de ordenación (admite 'ChangedDate', 'CreatedDate', 'State', 'ID', se puede añadir 'ASC' o 'DESC')
      • top: Límite de cantidad de resultados (por defecto 50, máximo 200)
    • Formato de retorno:
      • Número total de registros y si hay más resultados
      • Información detallada de cada elemento, incluido el enlace URL
      • Visualización de resumen formateado

Gestión de proyectos

  • list_projects: Lista todos los proyectos de la organización de Azure DevOps.
  • get_project_details: Obtiene la información detallada de un proyecto de Azure DevOps según su ID o nombre.
    • Parámetros requeridos: projectIdOrName (ID o nombre del proyecto).

Integración y vinculación

  • link_commit_to_work_item: Vincula un Commit de Git a un Work Item de Azure DevOps.
    • Parámetros requeridos: workItemId (ID del Work Item), commitSha (SHA del Commit), repositoryName (nombre del repositorio).
    • Parámetros opcionales: projectName (nombre del proyecto), comment (descripción del enlace).
    • Nota: Se ha corregido el error de vinculación que podía ocurrir en versiones anteriores debido a la barra diagonal final en la URL de la organización.
  • link_parent_work_item: Crea una relación padre-hijo entre Work Items (establece childId como hijo de parentId).
    • Parámetros requeridos: childId (ID del Work Item hijo), parentId (ID del Work Item padre)
    • Parámetros opcionales: comment (descripción del enlace)
    • Descripción de la función: Establece el Work Item especificado como hijo de otro Work Item y puede adjuntar texto descriptivo.

Archivos adjuntos y comentarios

  • list_work_item_attachments: Obtiene la lista de archivos adjuntos del Work Item especificado de Azure DevOps, incluida la URL de descarga.
    • Parámetros requeridos: workItemId (ID del Work Item).
    • Parámetros opcionales: projectName (nombre del proyecto).
  • add_issue_comment: Añade un comentario a un Work Item existente de Azure DevOps.
    • Parámetros requeridos: workItemId (ID del Work Item), comment (contenido del comentario).

🆕 Actualizaciones de la versión 0.2.0

Nuevas características

  • Soporte de operaciones por lotes: Se añadieron las herramientas get_work_items_batch y batch_update_work_items, mejorando significativamente la eficiencia al procesar grandes cantidades de Work Items
  • Función de eliminación: Se añadió la herramienta delete_work_item, que admite eliminación suave (mover a la papelera de reciclaje) y eliminación permanente
  • Actualización de la versión de la API: Se actualizó de 7.2-preview a la versión estable 7.2

Mejoras de rendimiento

  • La obtención por lotes admite hasta 200 Work Items
  • La actualización por lotes admite operaciones mixtas (creación, actualización, eliminación)
  • Se optimizó el manejo de errores y el formato de respuesta

Compatibilidad de la API

  • Totalmente compatible con Azure DevOps REST API 7.2
  • Admite todas las operaciones principales de Work Items
  • Mantiene la compatibilidad hacia atrás

Desarrollo

Instalar dependencias:

npm install

Compilar el servidor:

npm run build

Para desarrollo con recompilación automática:

npm run watch

Instalación

Para usar con Claude Desktop, añada la configuración del servidor:

En MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json En Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "azure-devops-mcp-server": {
      "command": "C:\\Program Files\\nodejs\\node.exe", // Or your Node.js path
      "args": [
        "C:\\Tools\\Cline\\MCP\\azure-devops-mcp-server\\build\\index.js" // Adjust path if needed
      ],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "YOUR_ORG_URL", // e.g., https://dev.azure.com/YourOrganizationName
        "AZURE_DEVOPS_PAT": "YOUR_PERSONAL_ACCESS_TOKEN"
      }
    }
  }
}

Importante: Debe reemplazar YOUR_ORG_URL con la URL de su organización de Azure DevOps y YOUR_PERSONAL_ACCESS_TOKEN con un Personal Access Token (PAT) válido que tenga permisos de lectura y escritura de Work Items.

Depuración

Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser un desafío. Recomendamos usar el Inspector MCP, que está disponible como script de paquete:

npm run inspector

El Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.

Referencias