loading…
Search for a command to run...
loading…
An MCP server for Azure DevOps that allows users to manage work items, sprints, iterations, and attachments. It supports custom WIQL queries and includes pre-de
An MCP server for Azure DevOps that allows users to manage work items, sprints, iterations, and attachments. It supports custom WIQL queries and includes pre-defined prompts for common tasks like sprint planning, bug reporting, and daily standup generation.
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.
npm install -g @slorenzot/mcp-azure
O usar directamente con npx:
npx @slorenzot/mcp-azure
El servidor se configura automáticamente usando las siguientes variables de entorno:
| Variable | Alternativa | Descripción | Requerido |
|---|---|---|---|
AZURE_DEVOPS_ORG |
ADO_ORG |
URL de la organización (ej: https://dev.azure.com/mi-org) |
Sí |
AZURE_DEVOPS_PAT |
ADO_PAT |
Personal Access Token | Sí |
AZURE_DEVOPS_PROJECT |
ADO_PROJECT |
Nombre del proyecto | No |
.mcp.jsonEl servidor también puede leer credenciales desde un archivo .mcp.json, buscándolo en este orden:
Ejemplo:
{
"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"
}
}
}
}
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"
}
}
}
}
OpenCode utiliza el mismo MCP, pero la configuración se puede hacer de dos formas:
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"
}
}
}
}
ado_configureOpenCode 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.
| Herramienta | Descripción |
|---|---|
ado_configure |
Configura la conexión con organización, proyecto y PAT |
| Herramienta | Descripción |
|---|---|
ado_get_work_item |
Obtiene un Work Item por su ID |
ado_create_work_item |
Crea un nuevo Work Item (User Story, Bug, Task, etc.) |
ado_update_work_item |
Actualiza un Work Item existente |
ado_delete_work_item |
Elimina un Work Item en Azure DevOps (soft delete por defecto) |
ado_get_work_item_type_fields |
Obtiene los campos disponibles/requeridos de un tipo |
| Herramienta | Descripción |
|---|---|
ado_query_sprint |
Consulta Work Items de un sprint específico |
ado_query_area |
Consulta Work Items de un área específica |
ado_query_wiql |
Ejecuta una consulta WIQL personalizada |
| Herramienta | Descripción |
|---|---|
ado_list_iterations |
Lista las iteraciones/sprints del proyecto |
ado_list_areas |
Lista las áreas del proyecto |
| Herramienta | Descripción |
|---|---|
ado_list_repositories |
Lista todos los repositorios Git del proyecto |
ado_get_repository |
Obtiene detalles de un repositorio específico por nombre o ID |
ado_list_branches |
Lista las ramas (branches) de un repositorio |
| Herramienta | Descripción |
|---|---|
ado_list_pull_requests |
Lista Pull Requests con filtros opcionales (status, branches, creador, revisor) |
ado_get_pull_request |
Obtiene detalles completos de un Pull Request |
ado_create_pull_request |
Crea un nuevo Pull Request |
ado_update_pull_request |
Actualiza propiedades de un Pull Request (título, descripción, draft) |
ado_complete_pull_request |
Completa (merge) un Pull Request con estrategia configurable |
ado_abandon_pull_request |
Abandona un Pull Request |
| Herramienta | Descripción |
|---|---|
ado_approve_pull_request |
Aprueba un Pull Request (voto: 10) |
ado_reject_pull_request |
Rechaza un Pull Request (voto: -10) |
ado_get_pull_request_reviewers |
Obtiene todos los revisores y sus votos de un Pull Request |
ado_add_pull_request_reviewer |
Agrega un revisor a un Pull Request |
| Herramienta | Descripción |
|---|---|
ado_get_pull_request_threads |
Obtiene todos los hilos de comentarios de un Pull Request |
ado_create_pull_request_thread |
Crea un nuevo hilo de comentarios (general o de código) |
ado_reply_to_pull_request_thread |
Responde a un hilo de comentarios existente |
ado_update_pull_request_thread_status |
Actualiza el estado de un hilo de comentarios (Fixed, WontFix, etc.) |
| Herramienta | Descripción |
|---|---|
ado_get_pull_request_commits |
Obtiene todos los commits de un Pull Request |
ado_get_pull_request_work_items |
Obtiene los Work Items vinculados a un Pull Request |
| Herramienta | Descripción |
|---|---|
ado_search_users |
Busca usuarios por nombre o email. Devuelve el ID de identidad (UUID) necesario para menciones en comentarios |
| Herramienta | Descripción |
|---|---|
ado_add_comment |
Agrega un comentario a un Work Item (soporta Markdown y menciones con mentions) |
ado_get_comments |
Obtiene los comentarios de un Work Item, incluyendo menciones resueltas |
| Herramienta | Descripción |
|---|---|
ado_upload_attachment |
Sube un archivo y devuelve la URL del adjunto |
ado_add_attachment |
Agrega un adjunto a un Work Item |
ado_delete_attachment |
Elimina un adjunto de un Work Item removiendo su relación |
ado_get_attachments |
Lista los adjuntos de un Work Item |
{
"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"
}
}
{
"wiql": "SELECT [System.Id], [System.Title] FROM WorkItems WHERE [System.State] = 'Active' AND [System.AssignedTo] = @Me ORDER BY [System.CreatedDate] DESC",
"getDetails": true
}
{
"id": 12345,
"comment": "## Análisis completado\n\n- Revisado el código\n- Identificados 3 issues\n\n**Próximo paso:** Corregir validaciones"
}
Las menciones requieren el ID de identidad (UUID) del usuario. Hay dos formas de obtenerlo:
ado_search_users:{
"searchTerm": "Juan Pérez"
}
System.AssignedTo, System.CreatedBy o System.ChangedBy contienen el id de identidad.Luego, agregar el comentario con la mención:
{
"id": 12345,
"comment": "@Juan Pérez ¿podrías revisar este cambio?",
"mentions": [
{
"name": "Juan Pérez",
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
]
}
Nota: El texto del comentario debe incluir
@DisplayNameo@{DisplayName}en la posición donde quieras la mención. El MCP reemplaza automáticamente con el HTML de mención de Azure DevOps.
{
"workItemId": 12345,
"filePath": "/ruta/al/archivo.pdf",
"comment": "Documento de especificaciones",
"name": "Especificaciones Funcionales v2.0"
}
{
"workItemId": 12345,
"attachmentUrl": "https://dev.azure.com/org/proj/_apis/wit/attachments/abc123",
"comment": "Diseño de arquitectura",
"name": "Arquitectura del Sistema"
}
{
"workItemId": 12345,
"attachmentUrl": "https://dev.azure.com/org/proj/_apis/wit/attachments/abc123",
"comment": "Adjunto agregado por error"
}
{
"id": 12345,
"confirm": true,
"destroy": false,
"expectedType": "User Story"
}
ado_delete_work_item exige confirm: true. Si envías destroy: true, la eliminación es permanente.
{
"includeHidden": false,
"top": 50
}
{
"status": "Active",
"top": 20
}
{
"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
}
{
"pullRequestId": 12345,
"repositoryId": "mi-repo"
}
{
"pullRequestId": 12345,
"repositoryId": "mi-repo",
"mergeStrategy": "Squash",
"deleteSourceBranch": true,
"mergeCommitMessage": "Merge de feature-login"
}
{
"pullRequestId": 12345,
"repositoryId": "mi-repo",
"content": "Por favor extraer esto en una función separada",
"filePath": "/src/components/Login.tsx",
"startLine": 45,
"endLine": 52
}
El servidor incluye prompts predefinidos para facilitar tareas comunes:
| Prompt | Descripción |
|---|---|
connect |
Guía para conectarse a Azure DevOps |
analyze_sprint |
Analiza el estado de un sprint |
create_user_story |
Crea una User Story estructurada |
daily_standup |
Genera un reporte de standup diario |
plan_sprint |
Ayuda a planificar un sprint |
bulk_update |
Actualiza múltiples Work Items |
project_report |
Genera un reporte del proyecto |
report_bug |
Crea un Bug report estructurado |
| Recurso | URI | Descripción |
|---|---|---|
| Estado de conexión | ado://connection/status |
Información del estado de conexión actual |
git clone https://github.com/slorenzot/mcp-azure.git
cd mcp-azure
npm install
npm run build
npm run build # Compila TypeScript
npm run start # Inicia el servidor
npm run dev # Modo desarrollo con watch
npm run release:check # Valida build y paquete NPM
npm run release:version:patch # Sube versión patch y sincroniza lockfile
npm run release:version:minor # Sube versión minor y sincroniza lockfile
npm run release:version:major # Sube versión major y sincroniza lockfile
npm run release:publish # Publica en NPM
Para futuras funcionalidades, el flujo recomendado quedó documentado en RELEASE_WORKFLOW.md.
MIT
Soulberto Lorenzo - @slorenzot
2.7.3 - 37 herramientas disponibles para Azure DevOps (Work Items, Repositorios Git, Pull Requests, sprints, áreas, comentarios con menciones, adjuntos y búsqueda de identidades)
Выполни в терминале:
claude mcp add slorenzot-mcp-azure -- npx Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development