Azure DevOps

Integra con los servicios de Azure DevOps para gestionar elementos de trabajo, repositorios y pipelines.

Documentación

Servidor MCP de Azure DevOps

smithery badge

Este servidor de Protocolo de Contexto de Modelo (MCP) proporciona integración con Azure DevOps, permitiendo que Claude Desktop/Cline interactúe con los servicios de Azure DevOps.

Requisitos previos

  • Node.js (v20 LTS o superior)
  • npm (incluido con Node.js)
  • Un cliente compatible con MCP
  • Cuenta de Azure DevOps con tokens de acceso

Instalación

Instalación mediante Smithery

Para instalar Azure DevOps Server para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install @RainyCodeWizard/azure-devops-mcp-server --client claude

Instalación manual

  1. Clona este repositorio:
git clone https://github.com/RainyCodeWizard/azure-devops-mcp-server.git
cd azure-devops-mcp-server
  1. Instala las dependencias:
npm install
  1. Compila el servidor:
npm run build

Nota: El resultado de la compilación (directorio build/) no está incluido en el control de versiones. Debes ejecutar el comando de compilación después de clonar el repositorio.

Configuración

1. Obtener el Token de Acceso Personal (PAT) de Azure DevOps

  1. Ve a Azure DevOps e inicia sesión
  2. Haz clic en tu foto de perfil en la esquina superior derecha
  3. Selecciona "Seguridad"
  4. Haz clic en "Nuevo Token"
  5. Asigna un nombre a tu token y selecciona los ámbitos requeridos:
    • Code (read, write) - Para operaciones de Pull Request
    • Work Items (read, write) - Para gestión de elementos de trabajo
    • Build (read, execute) - Para operaciones de pipelines
    • Wiki (read, write) - Para operaciones de wiki
    • Project and Team (read) - Para información de proyectos y tableros
  6. Copia el token generado

2. Configurar los ajustes de MCP para aplicaciones cliente

Agrega la configuración del servidor a tu archivo de ajustes de MCP de Cline:

  • Para la extensión de Cline VSCode: %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  • Para la aplicación de escritorio de Claude: %LOCALAPPDATA%/Claude/claude_desktop_config.json

Agrega la siguiente configuración al objeto mcpServers:

{
  "mcpServers": {
    "azure-devops": {
      "command": "node",
      "args": ["/absolute/path/to/azure-devops-server/build/index.js"],
      "env": {
        "AZURE_DEVOPS_ORG": "your-organization",
        "AZURE_DEVOPS_PAT": "your-personal-access-token",
        "AZURE_DEVOPS_PROJECT_ID": "your-project-id"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Reemplaza los siguientes valores:

  • /absolute/path/to/azure-devops-server: La ruta absoluta donde clonaste este repositorio
  • your-organization: El nombre de tu organización de Azure DevOps
  • your-project-id: El ID de tu proyecto de Azure DevOps
  • your-personal-access-token: El PAT que generaste en el paso 1

Herramientas disponibles

Elementos de trabajo

  • get_work_item: Obtener un elemento de trabajo por ID
  • list_work_items: Consultar elementos de trabajo usando WIQL
  • create_work_item: Crear un nuevo elemento de trabajo (Bug, Tarea, Historia de usuario)
  • update_work_item: Actualizar un elemento de trabajo existente

Tableros

  • get_boards: Obtener los tableros disponibles en el proyecto

Git

  • list_repositories: Listar todos los repositorios Git en el proyecto
    • Devuelve: Lista de repositorios con ID, nombre, rama predeterminada, tamaño y URLs
  • get_file: Obtener el contenido de un archivo específico del repositorio
    • Parámetros:
      • repositoryId: ID del repositorio
      • path: Ruta al archivo en el repositorio (por ejemplo, "src/index.ts")
      • branch: Nombre de la rama para obtener el archivo (opcional, predeterminado: main)
      • version: Versión específica (ID de commit) para obtener el archivo (opcional)
    • Devuelve: Contenido del archivo con metadatos que incluyen:
      • Ruta del archivo
      • Tamaño del archivo
      • Contenido del archivo
      • ID del último commit
      • Fecha de última modificación
  • compare_branches: Comparar dos ramas y obtener el historial de commits entre ellas
    • Parámetros:
      • repositoryId: ID del repositorio para comparar ramas
      • sourceBranch: Nombre de la rama de origen (por ejemplo, "develop")
      • targetBranch: Nombre de la rama de destino (por ejemplo, "main")
      • maxCommits: Número máximo de commits a devolver (opcional, predeterminado: 100)
      • historyMode: Modo de historial de Git a usar (opcional, predeterminado: "simplified")
        • simplified: Comportamiento estándar de git log (predeterminado)
        • first-parent: Mostrar solo el primer padre de los commits de fusión
        • full: Mostrar todos los commits incluyendo los de fusión
        • full-simplify-merges: Mostrar todos los commits pero simplificar el historial de fusiones
      • includeDetails: Incluir información detallada del commit (opcional, predeterminado: false)
        • Cuando es true, incluye:
          • Mensaje completo del commit
          • Lista de archivos modificados con:
            • Ruta del archivo
            • Tipo de cambio (agregar, editar, eliminar)
            • Número de líneas agregadas/eliminadas
    • Devuelve: Lista de commits con ID del commit, autor, fecha y mensaje

Pipelines

  • list_pipelines: Listar todos los pipelines en el proyecto
  • trigger_pipeline: Ejecutar un pipeline

Pull Requests

  • list_pull_requests: Listar pull requests
  • create_pull_request: Crear un nuevo pull request
  • update_pull_request: Actualizar un pull request
  • get_pull_request: Obtener detalles de un pull request

Wiki

  • get_wikis: Listar todas las wikis en el proyecto
  • get_wiki_page: Obtener una página de wiki
  • create_wiki: Crear una nueva wiki
  • update_wiki_page: Crear o actualizar una página de wiki

Proyectos

  • list_projects: Listar todos los proyectos en la organización de Azure DevOps

Verificación

  1. Reinicia Cline (o VSCode) después de agregar la configuración
  2. El servidor MCP de Azure DevOps debería aparecer ahora en las capacidades de Cline
  3. Puedes verificar la instalación usando el Inspector de MCP:
npm run inspector

Solución de problemas

  1. Si el servidor no se conecta:

    • Verifica que la ruta en tus ajustes de MCP sea correcta
    • Verifica tus credenciales de Azure DevOps
    • Revisa los registros de Cline para ver mensajes de error
  2. Si recibes errores de autenticación:

    • Verifica que tu PAT no haya expirado
    • Asegúrate de que el PAT tenga todos los ámbitos necesarios
    • Vuelve a verificar la organización y el ID del proyecto
  3. Para otros problemas:

    • Ejecuta la herramienta de inspección para verificar que el servidor funcione correctamente
    • Revisa los registros del servidor para ver mensajes de error

Desarrollo

Para modificar o ampliar el servidor:

  1. Realiza tus cambios en el directorio src
  2. Ejecuta npm run watch para desarrollo
  3. Compila con npm run build cuando esté listo
  4. Prueba usando el inspector: npm run inspector

Licencia

Licencia MIT - Consulta LICENSE para más detalles