@slorenzot/mcp-azure
@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-azureO usar directamente con npx:
npx @slorenzot/mcp-azureConfiguración
Variables de Entorno
El servidor se configura automáticamente usando las siguientes variables de entorno:
Variable | Alternativa | Descripción | Requerido |
|
| URL de la organización (ej: | Sí |
|
| Personal Access Token | Sí |
|
| 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
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"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)
Ve a tu organización de Azure DevOps
Haz clic en tu avatar (esquina superior derecha)
Selecciona Personal Access Tokens
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 |
| Configura la conexión con organización, proyecto y PAT |
Work Items
Herramienta | Descripción |
| Obtiene un Work Item por su ID |
| Crea un nuevo Work Item (User Story, Bug, Task, etc.) |
| Actualiza un Work Item existente |
| Obtiene los campos disponibles/requeridos de un tipo |
Consultas
Herramienta | Descripción |
| Consulta Work Items de un sprint específico |
| Consulta Work Items de un área específica |
| Ejecuta una consulta WIQL personalizada |
Estructura del Proyecto
Herramienta | Descripción |
| Lista las iteraciones/sprints del proyecto |
| Lista las áreas del proyecto |
Repositorios Git
Herramienta | Descripción |
| Lista todos los repositorios Git del proyecto |
| Obtiene detalles de un repositorio específico por nombre o ID |
| Lista las ramas (branches) de un repositorio |
Pull Requests
Herramienta | Descripción |
| Lista Pull Requests con filtros opcionales (status, branches, creador, revisor) |
| Obtiene detalles completos de un Pull Request |
| Crea un nuevo Pull Request |
| Actualiza propiedades de un Pull Request (título, descripción, draft) |
| Completa (merge) un Pull Request con estrategia configurable |
| Abandona un Pull Request |
Pull Request Reviews
Herramienta | Descripción |
| Aprueba un Pull Request (voto: 10) |
| Rechaza un Pull Request (voto: -10) |
| Obtiene todos los revisores y sus votos de un Pull Request |
| Agrega un revisor a un Pull Request |
Pull Request Comments
Herramienta | Descripción |
| Obtiene todos los hilos de comentarios de un Pull Request |
| Crea un nuevo hilo de comentarios (general o de código) |
| Responde a un hilo de comentarios existente |
Pull Request Info
Herramienta | Descripción |
| Obtiene todos los commits de un Pull Request |
| Obtiene los Work Items vinculados a un Pull Request |
| Actualiza el estado de un hilo de comentarios (Fixed, WontFix, etc.) |
Comentarios y Discusiones
Herramienta | Descripción |
| Agrega un comentario a un Work Item (soporta Markdown) |
| Obtiene los comentarios de un Work Item |
Adjuntos
Herramienta | Descripción |
| Sube un archivo y devuelve la URL del adjunto |
| Agrega un adjunto a un Work Item |
| 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 |
| Guía para conectarse a Azure DevOps |
| Analiza el estado de un sprint |
| Crea una User Story estructurada |
| Genera un reporte de standup diario |
| Ayuda a planificar un sprint |
| Actualiza múltiples Work Items |
| Genera un reporte del proyecto |
| Crea un Bug report estructurado |
Recursos
Recurso | URI | Descripción |
Estado de conexión |
| 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 buildScripts disponibles
npm run build # Compila TypeScript
npm run start # Inicia el servidor
npm run dev # Modo desarrollo con watchLicencia
MIT
Autor
Soulberto Lorenzo - @slorenzot
Versión
2.4.1 - 34 herramientas disponibles para Azure DevOps (Work Items, Repositorios Git, Pull Requests, etc.)
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