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.
Integrations
The server provides tools for interacting with Git repositories in Azure DevOps, including listing repositories, branches, commits, creating pull requests, and more.
Node.js is listed as a prerequisite for running the server, but it's not what the server integrates with.
The MCP server is built with TypeScript, but it doesn't integrate with TypeScript as a service.
Integración de Azure DevOps MCP
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:Copy
- Instalar dependencias:Copy
- Configurar variables de entorno (crear un archivo
.env
o configúrelas directamente):Para Azure DevOps Services (nube):Para Azure DevOps Server (local):CopyCopy - Construir el proyecto:Si encuentra errores de TypeScript pero desea continuar de todos modos:CopyCopy
- Iniciar el servidor:Copy
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 | https://dev.azure.com/org | https://servidor/tfs |
Recopilación | No requerido | Requerido |
Métodos de autenticación | Solo PAT | 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 |
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) | No | palmadita |
TOKEN DE ACCESO PERSONAL DE AZURE DEVOPS | Token de acceso personal | 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 TypeScript - Comprobar 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.
You must be authenticated.
Tools
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.
- Overview
- Demo
- Features
- Installation
- Configuration
- Usage
- Architecture
- Tool Registration
- Troubleshooting
- Contributing