Integración de Azure DevOps MCP
Historia de las estrellas
Una potente integración para Azure DevOps que proporciona acceso sin inconvenientes a elementos de trabajo, repositorios, proyectos, tableros y sprints a través del servidor del Protocolo de contexto de modelo (MCP).
Descripción general
Este servidor proporciona una API práctica para interactuar con los servicios de Azure DevOps, lo que permite que los asistentes de IA y otras herramientas administren elementos de trabajo, repositorios de código, tableros, sprints y más. Desarrollado con el Protocolo de Contexto de Modelo, proporciona una interfaz estandarizada para la comunicación con Azure DevOps.
Manifestación
Características
La integración está organizada en ocho categorías principales de herramientas:
Herramientas de elementos de trabajo
Enumere elementos de trabajo mediante consultas WIQL
Obtener detalles del elemento de trabajo por ID
Buscar elementos de trabajo
Obtenga elementos de trabajo actualizados recientemente
Obtenga sus elementos de trabajo asignados
Crear nuevos elementos de trabajo
Actualizar elementos de trabajo existentes
Agregar comentarios a los elementos de trabajo
Actualizar el estado del elemento de trabajo
Asignar elementos de trabajo
Crear vínculos entre elementos de trabajo
Crear/actualizar elementos de trabajo de forma masiva
Herramientas para tableros y sprints
Obtener tableros de equipo
Obtener columnas del tablero
Obtener elementos del tablero
Mover cartas en los tableros
Consigue sprints
Obtener el sprint actual
Obtener elementos de trabajo del sprint
Obtener capacidad de sprint
Conseguir miembros del equipo
Herramientas del proyecto
Lista de proyectos
Obtener detalles del proyecto
Crear nuevos proyectos
Obtener áreas
Obtener iteraciones
Crear áreas
Crear iteraciones
Obtener plantillas de procesos
Obtener tipos de elementos de trabajo
Obtener campos de tipo de elemento de trabajo
Herramientas de Git
Lista de repositorios
Obtener detalles del repositorio
Crear repositorios
Lista de sucursales
Código de búsqueda
Explorar repositorios
Obtener el contenido del archivo
Obtener el historial de confirmaciones
Lista de solicitudes de extracción
Crear solicitudes de extracción
Obtener detalles de la solicitud de extracción
Obtener comentarios de solicitudes de extracción
Aprobar solicitudes de extracción
Fusionar solicitudes de extracción
Herramientas de capacidades de prueba
Ejecutar pruebas automatizadas
Obtener el estado de la automatización de pruebas
Configurar agentes de prueba
Crear generadores de datos de prueba
Administrar entornos de prueba
Obtenga un análisis de descamación de la prueba
Obtenga un análisis de brechas de prueba
Análisis de impacto de la prueba de ejecución
Obtener el panel de control de salud de la prueba
Ejecutar optimización de pruebas
Crear sesiones exploratorias
Registrar los resultados de las pruebas exploratorias
Convertir hallazgos en elementos de trabajo
Obtener estadísticas de pruebas exploratorias
Herramientas DevSecOps
Ejecutar análisis de seguridad
Obtener resultados del análisis de seguridad
Seguimiento de vulnerabilidades de seguridad
Generar informes de cumplimiento de seguridad
Integrar los resultados del SARIF
Ejecutar comprobaciones de cumplimiento
Obtener el estado de cumplimiento
Crear informes de cumplimiento
Administrar políticas de seguridad
Concienciación sobre la seguridad en la pista
Rotar secretos
Uso del secreto de auditoría
Configurar la integración de la bóveda
Herramientas de gestión de artefactos
Lista de fuentes de artefactos
Obtener versiones de paquetes
Publicar paquetes
Promocionar paquetes
Eliminar versiones de paquetes
Lista de imágenes de contenedores
Obtener etiquetas de imágenes de contenedores
Escanear imágenes de contenedores
Administrar políticas de contenedores
Administrar paquetes universales
Crear informes de descarga de paquetes
Comprobar las dependencias del paquete
Herramientas de desarrollo asistido por IA
Obtenga revisiones de código impulsadas por IA
Sugerir optimizaciones de código
Identificar olores de código
Obtenga análisis predictivo de errores
Obtenga métricas de productividad del desarrollador
Obtenga estimaciones predictivas del esfuerzo
Obtenga tendencias de calidad del código
Sugerir mejoras en los elementos de trabajo
Sugerir oportunidades de automatización
Crear alertas inteligentes
Predecir fallos de compilación
Optimizar la selección de pruebas
Instalación
Instalación mediante herrería
Para instalar azuredevops-mcp para Claude Desktop automáticamente a través de Smithery :
Prerrequisitos
Node.js (v16 o posterior)
TypeScript (v4 o posterior)
Una cuenta de Azure DevOps con un token de acceso personal (PAT) o credenciales locales adecuadas
Configuración
Clonar el repositorio:
git clone <repository-url> cd AzureDevOpsInstalar dependencias:
npm installConfigurar variables de entorno (crear un archivo
.env
o configúrelas directamente):Para Azure DevOps Services (nube):
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization AZURE_DEVOPS_PROJECT=your-default-project AZURE_DEVOPS_IS_ON_PREMISES=false AZURE_DEVOPS_AUTH_TYPE=pat # or 'entra' AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-tokenPara Azure DevOps Server (local):
AZURE_DEVOPS_ORG_URL=https://your-server/tfs AZURE_DEVOPS_PROJECT=your-default-project AZURE_DEVOPS_IS_ON_PREMISES=true AZURE_DEVOPS_COLLECTION=your-collection AZURE_DEVOPS_API_VERSION=6.0 # Adjust based on your server version # Authentication (choose one): # For PAT authentication: AZURE_DEVOPS_AUTH_TYPE=pat AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-token # For NTLM authentication: AZURE_DEVOPS_AUTH_TYPE=ntlm AZURE_DEVOPS_USERNAME=your-username AZURE_DEVOPS_PASSWORD=your-password AZURE_DEVOPS_DOMAIN=your-domain # For Basic authentication: AZURE_DEVOPS_AUTH_TYPE=basic AZURE_DEVOPS_USERNAME=your-username AZURE_DEVOPS_PASSWORD=your-passwordConstruir el proyecto:
npm run buildSi encuentra errores de TypeScript pero desea continuar de todos modos:
npm run build:ignore-errorsIniciar el servidor:
npm run start
Configuración
Token de acceso personal (PAT)
Para Azure DevOps Services (nube), deberá crear un token de acceso personal con los permisos adecuados:
Vaya a su organización de Azure DevOps
Haz clic en el icono de tu perfil en la parte superior derecha.
Seleccione "Tokens de acceso personal"
Haga clic en "Nuevo token"
Asígnele un nombre y seleccione los ámbitos apropiados:
Elementos de trabajo: leer y escribir
Código: Leer y escribir
Proyecto y equipo: Leer y escribir
Construir: Leer
Comunicado: Leer
Para Azure DevOps Server (local), tiene tres opciones de autenticación:
Token de acceso personal (PAT):
Similar a la configuración en la nube, pero crea el PAT en tu instancia local
Establezca
AZURE_DEVOPS_AUTH_TYPE=pat
Autenticación NTLM:
Utilice sus credenciales de dominio de Windows
Establecer
AZURE_DEVOPS_AUTH_TYPE=ntlm
Proporcionar nombre de usuario, contraseña y dominio
Autenticación básica:
Utilice sus credenciales locales
Establezca
AZURE_DEVOPS_AUTH_TYPE=basic
Proporcionar nombre de usuario y contraseña
Servicios de Azure DevOps frente a Azure DevOps Server
Esta integración es compatible tanto con Azure DevOps Services alojados en la nube como con Azure DevOps Server local:
Servicios de Azure DevOps (nube)
Configuración sencilla con URL de la organización y PAT
La configuración predeterminada espera el formato:
https://dev.azure.com/your-organization
Siempre utiliza la autenticación PAT
Archivos de configuración de muestra proporcionados en
.env.cloud.example
Azure DevOps Server (local)
Requiere configuración adicional para la URL del servidor, la recopilación y la autenticación
El formato de la URL varía según la configuración de su servidor:
https://your-server/tfs
Requiere especificar un nombre de colección
Admite múltiples métodos de autenticación (PAT, NTLM, Básico)
Puede requerirse la especificación de la versión API para versiones de servidor más antiguas
Archivos de configuración de muestra proporcionados en
.env.on-premises.example
Diferencias clave
Característica | Servicios de Azure DevOps | Servidor Azure DevOps |
Formato de URL | ||
Recopilación | No requerido | Requerido |
Métodos de autenticación | PAT, ID de entrada (credencial Azure predeterminada) | PAT, NTLM, Básico |
Versión de API | Último (automático) | Puede que sea necesario especificarlo |
Conexión | Siempre internet | Puede tener un espacio de aire |
Entrada Auth
Asegúrese de tener instalado az cli y que esté autenticado. Los módulos azd y AZ Powershell también deberían funcionar, siempre que esté autenticado.
Ejemplo de configuración
Copie .env.cloud.example
o .env.on-premises.example
en .env
y actualice los valores según sea necesario.
Variables de entorno
El servidor se puede configurar utilizando las siguientes variables de entorno:
Variable | Descripción | Requerido | Por defecto |
URL DE LA ORGANIZACIÓN AZURE_DEVOPS | URL de su organización o servidor de Azure DevOps | Sí | - |
PROYECTO AZURE_DEVOPS | Proyecto predeterminado a utilizar | Sí | - |
AZURE_DEVOPS_ESTÁ_EN_LAS_INSTALACIONES | Si se utiliza Azure DevOps Server | No | FALSO |
COLECCIÓN AZURE_DEVOPS | Nombre de la colección para instalaciones locales | No* | - |
VERSIÓN DE API DE AZURE DEVOPS | Versión de API para instalaciones locales | No | - |
TIPO DE AUTORIZACIÓN DE AZURE DEVOPS | Tipo de autenticación (pat/ntlm/basic/entra) | No | palmadita |
TOKEN DE ACCESO PERSONAL DE AZURE DEVOPS | Token de acceso personal (para autenticación 'pat') | No** | - |
NOMBRE DE USUARIO DE AZURE_DEVOPS | Nombre de usuario para autenticación NTLM/básica | No** | - |
CONTRASEÑA DE AZURE_DEVOPS | Contraseña para autenticación NTLM/básica | No** | - |
DOMINIO AZURE_DEVOPS | Dominio para autenticación NTLM | No | - |
HERRAMIENTAS PERMITIDAS | Lista separada por comas de métodos de herramientas para habilitar | No | Todas las herramientas |
* Obligatorio si AZURE_DEVOPS_IS_ON_PREMISES=true
** Obligatorio según el tipo de autenticación elegido
Filtrado de herramientas con ALLOWED_TOOLS
La variable de entorno ALLOWED_TOOLS
permite restringir los métodos de herramienta disponibles. Esto es completamente opcional: si no se especifica, se habilitarán todas las herramientas.
Formato: Lista de nombres de métodos separados por comas sin espacios.
Ejemplo:
Esto solo habilitaría los métodos de elementos de trabajo especificados y deshabilitaría todos los demás.
Uso
Una vez que el servidor esté en ejecución, puede interactuar con él mediante el protocolo MCP. El servidor expone varias herramientas para diferentes funcionalidades de Azure DevOps.
Herramientas disponibles
Nota: De forma predeterminada, solo se registra un subconjunto de herramientas en el archivo
index.ts
para simplificar la implementación inicial. Consulte la sección "Registro de herramientas" para obtener información sobre cómo registrar herramientas adicionales.
Ejemplo: Lista de elementos de trabajo
Ejemplo: Crear un elemento de trabajo
Ejemplo: Lista de repositorios
Ejemplo: crear una solicitud de extracción
Arquitectura
El proyecto se estructura de la siguiente manera:
src/
Interfaces/
: Definiciones de tipos para parámetros y respuestasServices/
: Clases de servicio para interactuar con las API de Azure DevOpsTools/
: Implementaciones de herramientas que exponen la funcionalidad a los clientesindex.ts
: Punto de entrada principal que registra herramientas e inicia el servidorconfig.ts
: Manejo de configuración
Capa de servicio
La capa de servicio maneja la comunicación directa con la API de Azure DevOps:
WorkItemService
: Operaciones de elementos de trabajoBoardsSprintsService
: Operaciones de tableros y sprintsProjectService
: Operaciones de gestión de proyectosGitService
: Operaciones del repositorio GitTestingCapabilitiesService
: Operaciones de capacidades de pruebaDevSecOpsService
: Operaciones de DevSecOpsArtifactManagementService
: Operaciones de gestión de artefactosAIAssistedDevelopmentService
: Operaciones de desarrollo asistidas por IA
Capa de herramientas
La capa de herramientas envuelve los servicios y proporciona una interfaz consistente para el protocolo MCP:
WorkItemTools
: Herramientas para operaciones de elementos de trabajoBoardsSprintsTools
: Herramientas para tableros y operaciones de sprintsProjectTools
: Herramientas para la gestión de proyectosGitTools
: Herramientas para operaciones de GitTestingCapabilitiesTools
: Herramientas para probar operaciones de capacidadesDevSecOpsTools
: Herramientas para operaciones DevSecOpsArtifactManagementTools
: Herramientas para operaciones de gestión de artefactosAIAssistedDevelopmentTools
: Herramientas para operaciones de desarrollo asistidas por IA
Registro de herramientas
El servidor MCP requiere que las herramientas se registren explícitamente en el archivo index.ts
. De forma predeterminada, solo se registra un subconjunto de todas las herramientas posibles para que la implementación inicial sea manejable.
Para registrar más herramientas:
Abra el archivo
src/index.ts
Agregar nuevos registros de herramientas siguiendo el patrón de herramientas existentes
Construir y reiniciar el servidor
Una guía completa para el registro de herramientas está disponible en el archivo TOOL_REGISTRATION.md
en el repositorio.
Nota: Al registrar herramientas, asegúrese de usar los tipos de parámetros correctos, especialmente para valores de enumeración. Las definiciones de tipo en el directorio
Interfaces
definen los tipos esperados para cada parámetro. Usar un tipo incorrecto (por ejemplo, usarz.string()
en lugar dez.enum()
para valores enumerados) provocará errores de TypeScript durante la compilación.
Ejemplo de registro de una nueva herramienta:
Solución de problemas
Problemas comunes
Errores de autenticación
Asegúrese de que su token de acceso personal sea válido y tenga los permisos necesarios
Verifique que la URL de la organización sea correcta
Errores de TypeScript durante la compilación
Utilice
npm run build:ignore-errors
para omitir errores de TypeScriptComprobar si hay definiciones de tipos faltantes o incorrectas
Errores de tiempo de ejecución
Verifique que el proyecto de Azure DevOps especificado exista y sea accesible
Contribuyendo
¡Agradecemos sus contribuciones! Aquí le mostramos cómo contribuir:
Bifurcar el repositorio
Crear una rama de características (
git checkout -b feature/amazing-feature
)Confirme sus cambios (
git commit -m 'Add some amazing feature'
)Empujar a la rama (
git push origin feature/amazing-feature
)Abrir una solicitud de extracción
Asegúrese de que su código pase la prueba de pelusa e incluya las pruebas adecuadas.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Este servidor proporciona una API práctica para interactuar con los servicios de Azure DevOps, lo que permite que los asistentes de IA y otras herramientas administren elementos de trabajo, repositorios de código, tableros, sprints y más. Desarrollado con el Protocolo de Contexto de Modelo, proporciona una interfaz estandarizada para la comunicación con Azure DevOps.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Azure DevOps resources including projects, work items, repositories, pull requests, branches, and pipelines through a standardized protocol.Last updated -15474299MIT License
- -securityFlicense-qualityA reference server implementation for the Model Context Protocol that enables AI assistants to interact with Azure DevOps resources and perform operations such as project management, work item tracking, repository operations, and code search programmatically.Last updated -7
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Azure DevOps services, allowing users to query work items with plans to support creating/updating items, managing pipelines, handling pull requests, and administering sprints and branch policies.Last updated -2174MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Azure DevOps services, providing capabilities for work item management, project management, and team collaboration through natural language.Last updated -21