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: github-manager MCP Server
Configuración
Instalar dependencias:
npm installConfigurar 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-repoConstruir el servidor:
npm run buildInstalació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
}Solicitudes de extracción
lista_solicitudes_de_extracción
Enumerar solicitudes de extracción en un repositorio.
{
"status"?: "active" | "completed" | "abandoned" // Optional
}solicitud de obtención de extracción
Obtenga detalles de una solicitud de extracción específica.
{
"pullRequestId": number // Required
}crear_solicitud_de_extracción
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
}crear_solicitud_de_extracción_comentario
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_solicitud_de_extracción_diff
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:
npm run devNota
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.