Azure DevOps MCP

Se integra con Azure DevOps, permitiendo la interacción con sus servicios. Requiere un Token de Acceso Personal (PAT) para la autenticación.

Documentación

Azure DevOps MCP (ADO-MCP-Server) para Cline

smithery badge

Este servidor del Protocolo de Contexto de Modelos (MCP) proporciona integración con Azure DevOps, permitiendo que Cline y Roo Code interactúen con los servicios de Azure DevOps.

El repositorio del proyecto se encuentra en: https://github.com/cakriwut/ado-mcp-server

Requisitos previos

  • Node.js (v20 LTS o superior)
  • npm (incluido con Node.js)
  • Una instalación de Cline
  • Cuenta de Azure DevOps con tokens de acceso

Instalación

Instalación mediante Smithery

Para instalar Azure DevOps MCP Server (ADO-MCP-Server) automáticamente mediante Smithery:

npx -y @smithery/cli install @cakriwut/ado-mcp-server --client claude

Instalación manual

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

Nota: La salida de compilación (directorio build/) no está incluida 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 "Security"
  4. Haz clic en "New Token"
  5. Asigna un nombre a tu token y selecciona los ámbitos necesarios:
    • Code (read, write) - Para operaciones de Pull Request
    • Work Items (read, write) - Para la gestión de Work Items
    • Build (read, execute) - Para operaciones de Pipeline
    • 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

Añade la configuración del servidor a tu archivo de ajustes de MCP:

Para Roo Code (extensión de VSCode)

Ubicación del archivo de configuración: %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json

Para la aplicación de escritorio de Cline

Ubicación del archivo de configuración: %LOCALAPPDATA%/Claude/claude_desktop_config.json

Añade la siguiente configuración al objeto mcpServers:

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

Reemplaza los siguientes valores:

  • C:/absolute/path/to/ado-mcp-server: La ruta absoluta donde clonaste este repositorio (usa barras diagonales)
  • your-organization: El nombre de tu organización de Azure DevOps
  • your-project-name: El nombre de tu proyecto de Azure DevOps
  • your-personal-access-token: El PAT que generaste en el paso 1

Notas importantes para usuarios de Windows

  • Usa barras diagonales (/) en la ruta, no barras invertidas ()
  • Proporciona la ruta absoluta completa al archivo build/index.js
  • Reinicia Roo Code o Cline después de realizar cambios en la configuración

Herramientas disponibles

Work Items

  • get_work_item: Obtener un work item por ID
  • list_work_items: Consultar work items usando WIQL
  • create_work_item: Crear un nuevo work item (Bug, Task, User Story)
  • update_work_item: Actualizar un work item existente
  • search_work_items: Buscar work items mediante búsqueda de texto
  • add_work_item_comment: Añadir un comentario a un work item
  • get_work_item_comments: Obtener comentarios de un work item

Tableros

  • get_boards: Obtener los tableros disponibles en el proyecto

Pipelines

  • list_pipelines: Listar todos los pipelines del 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

Wiki

  • get_wikis: Listar todas las wikis del proyecto
  • list_wiki_pages: Listar páginas de una wiki
  • get_wiki_page: Obtener una página de wiki por ruta
  • create_wiki: Crear una nueva wiki
  • update_wiki_page: Crear o actualizar una página de wiki
  • create_wiki_page: Crear una nueva página de wiki
  • search_wiki_page: Buscar páginas en una wiki por texto

Proyectos

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

Interfaz de Línea de Comandos (CLI)

ADO-MCP-Server incluye una interfaz de línea de comandos que te permite interactuar con Azure DevOps directamente desde la terminal. La CLI está disponible como azure-devops-cli después de compilar el proyecto.

Configuración del entorno

Antes de usar la CLI, configura tus variables de entorno:

# PowerShell
$env:AZURE_DEVOPS_ORG = "your-organization"
$env:AZURE_DEVOPS_PROJECT = "your-project-name"
$env:AZURE_DEVOPS_PAT = "your-personal-access-token"

Comandos CLI comunes

Work Items

# Get a work item by ID
node .\build\cli\index.js work-item get -i 42

# Search for work items
node .\build\cli\index.js work-item search -s "bug"

# Create a new task
node .\build\cli\index.js work-item create -t "Task" -d '[{"op":"add","path":"/fields/System.Title","value":"New Task"}]'

# Add a comment to a work item
node .\build\cli\index.js work-item add-comment -i 42 -t "This is a comment added via CLI"

# Get comments from a work item
node .\build\cli\index.js work-item get-comments -i 42

Wiki

# List all wikis in the project
node .\build\cli\index.js wiki list

# Get a wiki page
node .\build\cli\index.js wiki page -w <wikiIdentifier> -p "/path/to/page" --include-content

# Search wiki pages
node .\build\cli\index.js wiki search -w <wikiIdentifier> -s "search term"

Para ver ejemplos más detallados de uso de la CLI, consulta docs/wiki-cli-usage.md y docs/command-list.md.

Verificación

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

Solución de problemas

  1. Si el servidor no se conecta:

    • Comprueba 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 obtienes errores de autenticación:

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

    • Ejecuta la herramienta inspector para verificar que el servidor funciona 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és listo
  4. Prueba usando el inspector: npm run inspector

Pruebas

El proyecto incluye scripts de prueba para todos los comandos del servidor MCP. Estas pruebas ayudan a verificar que el servidor puede comunicarse correctamente con Azure DevOps.

Requisitos previos para las pruebas

  1. Asegúrate de tener un archivo .env válido en el directorio raíz con las siguientes variables:

    AZURE_DEVOPS_ORG=your-organization
    AZURE_DEVOPS_PROJECT=your-project
    AZURE_DEVOPS_PAT=your-personal-access-token
    
  2. Instala las dependencias:

    npm install
    

Ejecución de pruebas

Pruebas rápidas

Para una prueba rápida de tu conexión con Azure DevOps:

npm run test:quick

Esto ejecuta una prueba simple de JavaScript que solo prueba el comando list_projects.

Para una prueba más completa de todos los comandos del servidor MCP:

npm run test:simple

Esto ejecuta una prueba simple de JavaScript que prueba todos los comandos principales en un solo archivo.

Pruebas de TypeScript

Para ejecutar todas las pruebas de TypeScript:

npm test

Para ejecutar pruebas de categorías de comandos específicas:

npm run test:work-item     # Test Work Item Tools
npm run test:board         # Test Board Tools
npm run test:wiki          # Test Wiki Tools
npm run test:project       # Test Project Tools
npm run test:pipeline      # Test Pipeline Tools
npm run test:pull-request  # Test Pull Request Tools

Consulta el archivo tests/README.md para obtener más información sobre las pruebas.

Licencia

Licencia MIT - Consulta LICENSE para más detalles