Servidor MCP de Azure DevOps
Un servidor MCP (Protocolo de contexto de modelo) que proporciona integración con Azure DevOps, lo que permite que los asistentes de IA interactúen con elementos de trabajo, solicitudes de extracción y wikis de Azure DevOps.
Características
Gestión de elementos de trabajo (crear, enumerar, obtener)
Operaciones de solicitud de extracción (crear, enumerar, obtener, comentar, comparar)
Gestión de páginas wiki (crear, editar)
Related MCP server: Flutter MCP Server
Configuración
Instalar dependencias:
Configurar variables de entorno (crear un archivo .env):
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-org
AZURE_DEVOPS_PAT=your-personal-access-token
AZURE_DEVOPS_PROJECT=default-project
AZURE_DEVOPS_REPOSITORY=default-repo
Construir el servidor:
Instalación
Agregue la configuración del servidor a la configuración de MCP:
Para VSCode
En macOS/Linux
Agregar a ~/.vscode/cline_mcp_settings.json o al equivalente de Cursor/Roo:
{
"mcpServers": {
"azure-devops": {
"command": "node",
"args": ["/path/to/azure-devops-mcp/build/index.js"],
"env": {
"AZURE_DEVOPS_ORG_URL": "your-org-url",
"AZURE_DEVOPS_PAT": "your-pat",
"AZURE_DEVOPS_PROJECT": "your-project",
"AZURE_DEVOPS_REPOSITORY": "your-repo"
},
"disabled": false,
"autoApprove": []
}
}
}
En Windows
Agregar a %USERPROFILE%\.vscode\cline_mcp_settings.json o al equivalente de Cursor/Roo:
{
"mcpServers": {
"azure-devops": {
"command": "node",
"args": ["C:/path/to/azure-devops-mcp/build/index.js"],
"env": {
"AZURE_DEVOPS_ORG_URL": "your-org-url",
"AZURE_DEVOPS_PAT": "your-pat",
"AZURE_DEVOPS_PROJECT": "your-project",
"AZURE_DEVOPS_REPOSITORY": "your-repo"
},
"disabled": false,
"autoApprove": []
}
}
}
Herramientas disponibles
Elementos de trabajo
lista_de_elementos_de_trabajo
Enumera los elementos de trabajo en un proyecto.
{
"project": string, // Required
"types"?: string[], // Optional: Filter by work item types
"states"?: string[], // Optional: Filter by states
"assignedTo"?: string // Optional: Filter by assigned user
}
obtener_elemento_de_trabajo
Obtenga detalles de un elemento de trabajo específico.
{
"project": string, // Required
"id": number // Required: Work item ID
}
crear_elemento_de_trabajo
Crear un nuevo elemento de trabajo.
{
"project": string, // Required
"type": string, // Required: e.g., "Task", "Bug"
"title": string, // Required
"description"?: string, // Optional
"assignedTo"?: string // Optional
}
Enumerar solicitudes de extracción en un repositorio.
{
"status"?: "active" | "completed" | "abandoned" // Optional
}
Obtenga detalles de una solicitud de extracción específica.
{
"pullRequestId": number // Required
}
Crear una nueva solicitud de extracción.
{
"title": string, // Required
"description": string, // Required
"sourceBranch": string, // Required
"targetBranch": string, // Required
"reviewers"?: string[] // Optional: Array of reviewer email addresses
}
Agregar un comentario a una solicitud de extracción.
{
"pullRequestId": number, // Required
"content": string, // Required
"threadId"?: number, // Optional: For replies
"filePath"?: string, // Optional: For file comments
"lineNumber"?: number, // Optional: For line comments
"status"?: "active"|"fixed"|"pending"|"wontfix"|"closed" // Optional: Thread status
}
Obtener la diferencia para una solicitud de extracción.
{
"pullRequestId": number, // Required
"filePath"?: string, // Optional: Specific file to get diff for
"iterationId"?: number // Optional: Specific iteration to get diff for
}
Wiki
crear_página_wiki
Crear una nueva página wiki.
{
"project": string, // Required
"wiki": string, // Required
"path": string, // Required
"content": string // Required
}
editar_página_wiki
Editar una página wiki existente.
{
"project": string, // Required
"wiki": string, // Required
"path": string, // Required
"content": string, // Required
"etag": string // Required: For concurrency control
}
Desarrollo
Ejecutar en modo de desarrollo con variables de entorno:
Nota
A menos que se especifique explícitamente en los argumentos de la herramienta, los parámetros project y repository utilizarán valores predeterminados de la configuración de su entorno.