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
Utilizes environment variables for configuration of organization URL, Personal Access Token, and default project settings.
Enables interaction with Git repositories in Azure DevOps, including accessing repository details and branch information.
Runs on Node.js to provide a server implementation for communicating with Azure DevOps resources via the Model Context Protocol.
Servidor MCP de Azure DevOps
Una implementación de servidor de Protocolo de contexto de modelo (MCP) para Azure DevOps, que permite que los asistentes de IA interactúen con las API de Azure DevOps a través de un protocolo estandarizado.
Descripción general
Este servidor implementa el Protocolo de Contexto de Modelo (MCP) para Azure DevOps, lo que permite que asistentes de IA como Claude interactúen con los recursos de Azure DevOps de forma segura. El servidor actúa como puente entre los modelos de IA y las API de Azure DevOps, proporcionando una forma estandarizada de:
- Acceda y administre proyectos, elementos de trabajo, repositorios y más
- Crear y actualizar elementos de trabajo, ramas y solicitudes de extracción
- Ejecute flujos de trabajo comunes de DevOps a través del lenguaje natural
- Acceda al contenido del repositorio a través de URI de recursos estandarizados
- Autenticar e interactuar de forma segura con los recursos de Azure DevOps
Estructura del servidor
El servidor se estructura en torno al Protocolo de Contexto de Modelo (MCP) para comunicarse con los asistentes de IA. Proporciona herramientas para interactuar con los recursos de Azure DevOps, incluyendo:
- Proyectos
- Elementos de trabajo
- Repositorios
- Solicitudes de extracción
- Sucursales
- Tuberías
Componentes principales
- AzureDevOpsServer : clase de servidor principal que inicializa el servidor MCP y registra las herramientas
- Controladores de herramientas : funciones modulares para cada operación de Azure DevOps
- Configuración : configuración basada en el entorno para URL de la organización, PAT, etc.
Empezando
Prerrequisitos
- Node.js (v16+)
- npm o hilo
- Cuenta de Azure DevOps con el acceso adecuado
- Credenciales de autenticación (consulte la Guía de autenticación para obtener más detalles):
- Token de acceso personal (PAT), o
- Credenciales de identidad de Azure, o
- Inicio de sesión en la CLI de Azure
Corriendo con NPX
Uso con Claude Desktop/Cursor AI
Para integrarse con Claude Desktop o Cursor AI, agregue una de las siguientes configuraciones a su archivo de configuración.
Autenticación de identidad de Azure
Asegúrese de haber iniciado sesión en la CLI de Azure con az login
y luego agregue lo siguiente:
Autenticación mediante token de acceso personal (PAT)
Para obtener instrucciones de configuración detalladas y más opciones de autenticación, consulte la Guía de autenticación .
Métodos de autenticación
Este servidor admite varios métodos de autenticación para conectarse a las API de Azure DevOps. Para obtener instrucciones detalladas de configuración, ejemplos de configuración y sugerencias para la solución de problemas, consulte la Guía de autenticación .
Métodos de autenticación admitidos
- Token de acceso personal (PAT) : autenticación simple basada en tokens
- Azure Identity (DefaultAzureCredential) : autenticación flexible mediante el SDK de Azure Identity
- CLI de Azure : autenticación mediante su inicio de sesión de CLI de Azure
Los archivos de configuración de ejemplo para cada método de autenticación están disponibles en el directorio de ejemplos .
Variables de entorno
Para obtener una lista completa de las variables de entorno y sus descripciones, consulte la Guía de autenticación .
Las variables ambientales clave incluyen:
Variable | Descripción | Requerido | Por defecto |
---|---|---|---|
AZURE_DEVOPS_AUTH_METHOD | Método de autenticación ( pat , azure-identity o azure-cli ): no distingue entre mayúsculas y minúsculas | No | azure-identity |
AZURE_DEVOPS_ORG_URL | URL completa a su organización de Azure DevOps | Sí | - |
AZURE_DEVOPS_PAT | Token de acceso personal (para autenticación PAT) | Sólo con autenticación PAT | - |
AZURE_DEVOPS_DEFAULT_PROJECT | Proyecto predeterminado si no se especifica ninguno | No | - |
AZURE_DEVOPS_API_VERSION | Versión de API a utilizar | No | El último |
AZURE_TENANT_ID | Identificador de inquilino de Azure AD (para entidades de servicio) | Sólo con directores de servicio | - |
AZURE_CLIENT_ID | Identificador de la aplicación de Azure AD (para entidades de servicio) | Sólo con directores de servicio | - |
AZURE_CLIENT_SECRET | Secreto de cliente de Azure AD (para entidades de servicio) | Sólo con directores de servicio | - |
LOG_LEVEL | Nivel de registro (depuración, información, advertencia, error) | No | información |
Solución de problemas de autenticación
Para obtener información detallada sobre la solución de problemas de cada método de autenticación, consulte la Guía de autenticación .
Los problemas comunes incluyen:
- Credenciales inválidas o vencidas
- Permisos insuficientes
- Problemas de conectividad de red
- Errores de configuración
Detalles de la implementación de la autenticación
Para obtener detalles técnicos sobre cómo se implementa la autenticación en el servidor de Azure DevOps MCP, consulte la Guía de autenticación y el código fuente en el directorio src/auth
.
Herramientas disponibles
El servidor MCP de Azure DevOps proporciona diversas herramientas para interactuar con los recursos de Azure DevOps. Para obtener documentación detallada sobre cada herramienta, consulte la documentación correspondiente.
Herramientas de usuario
get_me
: Obtener detalles del usuario autenticado (id, nombre para mostrar, correo electrónico)
Herramientas de organización
list_organizations
: Lista todas las organizaciones accesibles
Herramientas del proyecto
list_projects
: enumera todos los proyectos de una organizaciónget_project
: Obtener detalles de un proyecto específicoget_project_details
: Obtenga detalles completos de un proyecto, incluidos el proceso, los tipos de elementos de trabajo y los equipos
Herramientas de repositorio
list_repositories
: enumera todos los repositorios de un proyectoget_repository
: Obtener detalles de un repositorio específicoget_repository_details
: Obtenga información detallada sobre un repositorio, incluidas estadísticas y referenciasget_file_content
: Obtener el contenido de un archivo o directorio de un repositorio
Herramientas de elementos de trabajo
get_work_item
: Recuperar un elemento de trabajo por IDcreate_work_item
: Crea un nuevo elemento de trabajoupdate_work_item
: Actualizar un elemento de trabajo existentelist_work_items
: enumera los elementos de trabajo en un proyectomanage_work_item_link
: Agregar, eliminar o actualizar vínculos entre elementos de trabajo
Herramientas de búsqueda
search_code
: busca código en los repositorios de un proyectosearch_wiki
: busca contenido en las páginas wiki de un proyectosearch_work_items
: busca elementos de trabajo en todos los proyectos de Azure DevOps
Para obtener documentación completa sobre todas las herramientas, consulte Documentación de herramientas .
Contribuyendo
¡Agradecemos sus contribuciones! Consulte CONTRIBUTING.md para conocer las normas de contribución.
Historia de las estrellas
Licencia
Instituto Tecnológico de Massachusetts (MIT)
You must be authenticated.
Tools
Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA interactuar con recursos de Azure DevOps, incluidos proyectos, elementos de trabajo, repositorios, solicitudes de extracción, ramas y canalizaciones a través de un protocolo estandarizado.
- Overview
- Server Structure
- Getting Started
- Authentication Methods
- Environment Variables
- Troubleshooting Authentication
- Authentication Implementation Details
- Available Tools
- Contributing
- Star History
- License
Related Resources
Appeared in Searches
- A server for information about Jenkins (automation server)
- A system for monitoring and operating terminals
- Azure DevOps and Azure Repos Integration for Developer Workflows
- A platform for hosting and collaborating on software projects
- A tool or assistant to review and suggest changes for GitHub pull requests