Configuración del servidor MCP de Azure DevOps remoto

servicios de Azure DevOps

El servidor MCP remoto de Azure DevOps es una versión hospedada de la Azure DevOps servidor MCP que no requiere una instalación local. En lugar de ejecutar el servidor en su máquina, conecte su asistente de IA directamente al punto de conexión hospedado en Azure DevOps mediante el transporte HTTP de transmisión continua.

Elige el trabajo remoto como prioridad

Use el servidor MCP remoto cuando el entorno lo admita. El servidor remoto es la opción recomendada porque Azure DevOps hosts y los actualiza, y no es necesario instalar Node.js ni administrar un proceso de servidor local.

Use el servidor MCP local cuando el cliente no pueda autenticarse en el servidor remoto con Microsoft Entra ID. Esta limitación se aplica actualmente a clientes como Claude Desktop y Codex. Cursor y Claude Code requieren un registro de aplicación de Microsoft Entra personalizado para autenticarse. Para obtener instrucciones de configuración local, consulte Habilitación de la asistencia de IA con el servidor MCP de Azure DevOps.

Feature Servidor MCP remoto Servidor MCP local
Instalación No se necesita instalación Requiere Node.js 20.0+ y npx
Transporte HTTP en transmisión stdio
Autenticación Microsoft Entra ID (OAuth) Azure DevOps PAT o Microsoft Entra ID
Hospedaje servicio alojado en Azure DevOps Se ejecuta localmente en la máquina
Configuración Mínimo mcp.json Configuración específica del entorno

Prerrequisitos

Categoría Requisitos
Azure DevOps Una organización de Azure DevOps activa respaldada por un inquilino de Microsoft Entra. Las organizaciones independientes de cuenta Microsoft (MSA) no son compatibles con el uso remoto del servidor MCP.
Permisos Pertenencia al proyecto y acceso a los recursos que desea consultar
Medio ambiente Un entorno compatible con asistente de IA (consulte Entornos admitidos)

Configuración del archivo mcp.json

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http"
    }
  },
  "inputs": []
}

También puede omitir el nombre de la organización de la dirección URL. Sin embargo, si omite el nombre de la organización, debe proporcionarlo como contexto en cada llamada a la herramienta.

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/",
      "type": "http"
    }
  },
  "inputs": []
}

Conjuntos de herramientas

Especifique conjuntos de herramientas para restringir las herramientas disponibles para el servidor MCP. No se debe combinar con X-MCP-Tools.

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Toolsets": "repos,wiki,wit"
      }
    }
  },
  "inputs": []
}
Valor del conjunto de herramientas Herramientas incluidas
all (valor predeterminado) Todas las herramientas
repos Herramientas de repositorios y solicitudes de extracción
advsec Herramientas de alertas de Advanced Security
wit Herramientas de elementos de trabajo y search_workitem
pipelines Herramientas de canalización y compilación
wiki Herramientas de wiki y search_wiki
work Herramientas de iteración y capacidad
testplan Herramientas de plan de prueba
elm Herramientas de migración en vivo empresarial (versión preliminar; habilitada de forma predeterminada)

Herramientas de solo lectura

Use el X-MCP-Readonly encabezado para restringir el servidor a operaciones de solo lectura. Esta restricción es útil cuando desea evitar modificaciones en Azure DevOps recursos.

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Readonly": "true"
      }
    }
  },
  "inputs": []
}

Combinar conjuntos de herramientas y filtrado de solo lectura

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Toolsets": "repos,wiki,wit",
        "X-MCP-Readonly": "true"
      }
    }
  },
  "inputs": []
}

Herramientas individuales

Use el X-MCP-Tools encabezado para habilitar solo herramientas específicas. No se debe combinar con X-MCP-Toolsets.

Especifique los nombres de herramientas que aparecen en la lista de herramientas disponibles . Para herramientas consolidadas como wit_work_item, elija la operación mediante el parámetro action de la herramienta al llamarla.

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Tools": "core_list_projects, wit_work_item"
      }
    }
  },
  "inputs": []
}

Participantes

A medida que experimentamos e presentamos nuevas herramientas y actualizaciones para las existentes, puede obtener acceso anticipado a estos cambios mediante el X-MCP-Insiders encabezado .

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  },
  "inputs": []
}

Herramientas disponibles

Nota:

Es posible que esta lista no siempre refleje las actualizaciones de herramientas más recientes.

Herramientas principales

Las herramientas principales siempre están disponibles a menos que se indique lo contrario.

Herramienta Descripción
core_list_orgs Enumerar las organizaciones de Azure DevOps a las que el usuario autenticado tiene acceso
core_list_projects Enumeración de proyectos en una organización
core_list_project_teams Enumeración de equipos en un proyecto
core_list_group_members Enumeración de miembros directos y grupos secundarios de un grupo de Azure DevOps

Nota:

Solo los usuarios de MCP Insiders pueden usar core_list_group_members utilizando la cabecera X-MCP-Insiders.

Trabajo

Las herramientas de la tarea se consolidan en despachadores agrupados mediante un parámetro action.

Herramienta Action Descripción Solo lectura
work list_iterations Enumerar todas las iteraciones de un proyecto ✅
work list_team_iterations Enumeración de iteraciones asignadas a un equipo ✅
work get_team_settings Obtener la configuración del equipo, incluida la iteración predeterminada, la iteración del trabajo pendiente y la ruta de acceso de área predeterminada ✅
work get_team_capacity Obtener capacidad de equipo para una iteración ✅
work get_iteration_capacities Obtener la capacidad de una iteración para todos los equipos de la iteración y el proyecto ✅
work_iteration_write create Creación de iteraciones ❌
work_iteration_write assign Asignación de iteraciones a un equipo ❌
work_capacity_write update Actualizar la capacidad del equipo de un miembro del equipo para una iteración específica ❌

Repos

Las herramientas del repositorio se consolidan en despachadores agrupados mediante el parámetro action.

Herramienta Action Descripción Solo lectura
repo_pull_request get Obtener una solicitud de incorporación de cambios por identificador ✅
repo_pull_request list Listar pull requests en un repositorio o proyecto ✅
repo_pull_request list_by_commits Encuentra pull requests que contienen ID de commit específicos ✅
repo_pull_request get_changes Obtén los cambios en los archivos y comparaciones línea por línea opcionales para una iteración de solicitud de incorporación de cambios ✅
repo_pull_request_thread list Enumerar hilos de comentarios en una solicitud de incorporación de cambios ✅
repo_pull_request_thread list_comments Listar comentarios en un hilo específico ✅
repo_repository get Obtención de un repositorio por nombre o identificador ✅
repo_repository list Enumeración de repositorios en un proyecto ✅
repo_branch get Obtener una rama por nombre ✅
repo_branch list Enumerar ramas en un repositorio ✅
repo_branch list_mine Enumerar las ramas en las que el usuario ha incorporado cambios ✅
repo_file get_content Obtener el contenido textual de un archivo en una rama, etiqueta o confirmación específica ✅
repo_file list_directory Enumerar archivos y carpetas en un directorio, con una lista recursiva opcional ✅
repo_search_commits Confirmaciones de búsqueda con filtrado por texto, autor, intervalo de fechas y mucho más ✅
search_code Búsqueda de código de texto completo ✅
repo_pull_request_write create Crea una solicitud de incorporación de cambios ❌
repo_pull_request_write update Actualizar un pull request, incluida la configuración de autocompletar ❌
repo_pull_request_write update_reviewers Agregar o quitar revisores de solicitudes de incorporación de cambios ❌
repo_pull_request_write vote Emitir un voto en una solicitud de incorporación de cambios ❌
repo_pull_request_thread_write create Crea un nuevo hilo de comentarios en un pull request ❌
repo_pull_request_thread_write reply Responder a un comentario en un hilo ❌
repo_pull_request_thread_write update_status Actualizar el estado de un hilo de comentarios ❌
repo_create_branch Creación de una rama ❌

Wit

Las herramientas de elementos de trabajo se consolidan en despachadores agrupados mediante un parámetro action.

Herramienta Action Descripción Solo lectura
wit_work_item get Obtener un elemento de trabajo por identificador ✅
wit_work_item get_batch Obtener varios elementos de trabajo por ID ✅
wit_work_item list_comments Enumerar comentarios en un elemento de trabajo ✅
wit_work_item my Obtención de elementos de trabajo relevantes para el usuario autenticado ✅
wit_work_item list_revisions Enumerar las revisiones de un elemento de trabajo ✅
wit_work_item list_for_iteration Enumeración de elementos de trabajo para una iteración de equipo ✅
wit_work_item get_type Obtener metadatos para un tipo de elemento de trabajo ✅
wit_query get Obtener una consulta por identificador o ruta de acceso ✅
wit_query get_results Ejecución de una consulta guardada ✅
wit_query search Buscar consultas por nombre ✅
wit_query list Mostrar las carpetas raíz de consultas y sus subcarpetas ✅
wit_query_by_wiql Ejecución de una consulta WIQL y devolución de elementos de trabajo coincidentes ✅
wit_backlog list Enumerar los niveles de trabajo pendiente de un equipo ✅
wit_backlog list_work_items Enumeración de elementos de trabajo en un nivel de trabajo pendiente específico ✅
search_workitem Búsqueda en texto completo de elementos de trabajo ✅
wit_work_item_write create Crear un nuevo elemento de trabajo ❌
wit_work_item_write update Actualizar campos en un elemento de trabajo ❌
wit_work_item_write update_batch Actualizar varios elementos de trabajo en una llamada ❌
wit_work_item_write add_child Crear elementos de trabajo secundarios bajo un elemento principal ❌
wit_work_item_comment_write add Agregar un comentario a un elemento de trabajo ❌
wit_work_item_comment_write update Actualizar un comentario existente en un elemento de trabajo ❌
wit_work_item_link_write link Vincular dos elementos de trabajo ❌
wit_work_item_link_write unlink Quitar vínculos de un elemento de trabajo ❌
wit_work_item_link_write link_to_pull_request Vincula un elemento de trabajo a un pull request ❌
wit_work_item_link_write add_artifact_link Añadir un enlace a un repositorio, una rama, una confirmación, una compilación o un artefacto wiki a un elemento de trabajo ❌
wit_work_item_attachment Descargar datos adjuntos de un elemento de trabajo por identificador; devuelve contenido codificado en base64 con nombre de archivo y tipo MIME ✅

Nota:

wit_query_by_wiql actualmente solo está disponible para los usuarios de MCP Insiders usando el encabezado X-MCP-Insiders.

Tuberías

Las herramientas de canalización se consolidan en despachadores agrupados mediante un parámetro action.

Herramienta Action Descripción Solo lectura
pipelines_build list Listar compilaciones con filtros opcionales ✅
pipelines_build get_status Obtener el estado, los problemas y los metadatos del informe de una compilación ✅
pipelines_build get_changes Obtener las confirmaciones y los elementos de trabajo asociados a una compilación ✅
pipelines_build_log list Lista de registros disponibles para una compilación ✅
pipelines_build_log get_content Obtener el contenido de texto de un registro específico por identificador ✅
pipelines_definition list Lista de definiciones de pipeline con filtros opcionales ✅
pipelines_definition list_revisions Enumerar el historial de revisiones de una definición de canalización ✅
pipelines_run get Obtener una única ejecución de canalización ✅
pipelines_run list Enumerar las ejecuciones de una canalización ✅
pipelines_artifact list Enumerar artefactos para una construcción ✅
pipelines_artifact download Descargar un artefacto de compilación con nombre ✅
pipelines_write run_pipeline Poner en cola una nueva ejecución de canalización ❌
pipelines_write create_pipeline Creación de una nueva definición de canalización de YAML ❌
pipelines_write update_build_stage Cancelar, reintentar o ejecutar una etapa en una compilación que está en proceso ❌

Wiki

Las operaciones de lectura de wiki se consolidan en una única herramienta wiki. Use el action parámetro para seleccionar la operación.

Herramienta Action Descripción Solo lectura
wiki list_wikis Enumerar wikis en un proyecto u organización ✅
wiki get_wiki Obtener una wiki por identificador ✅
wiki list_pages Enumerar páginas en una wiki ✅
wiki get_page Obtener contenido y metadatos de la página ✅
search_wiki Búsqueda wiki de texto completo ✅
wiki_upsert_page Crear o actualizar una página wiki ❌

Planes de pruebas

Las herramientas del plan de pruebas se consolidan en despachadores agrupados mediante un parámetro action.

Herramienta Action Descripción Solo lectura
testplan list_plans Enumeración de planes de prueba en un proyecto ✅
testplan list_suites Enumeración de conjuntos de pruebas en un plan de prueba ✅
testplan list_cases Enumerar casos de prueba en un conjunto de pruebas ✅
testplan_show_test_results_from_build_id Obtener resultados de pruebas de una compilación ✅
testplan_test_run get_results Obtener resultados de una ejecución de prueba con filtros opcionales de detalle y resultado ✅
testplan_test_plan_write create Creación de un plan de pruebas ❌
testplan_test_suite_write create Creación de un conjunto de pruebas ❌
testplan_test_suite_write add_test_cases Adición de casos de prueba a un conjunto de aplicaciones ❌
testplan_test_case_write create Creación de un caso de prueba ❌
testplan_test_case_write update_steps Actualización de los pasos del caso de prueba ❌
testplan_test_run_write create_run Crear una ejecución de prueba para la realización manual de pruebas ❌
testplan_test_run_write update_results Actualizar los resultados y los detalles de una ejecución de prueba ❌
testplan_test_run_write complete_run Completar o anular una ejecución de prueba en función de sus resultados ❌
testplan_test_run_write update_test_point_outcome Actualización o restablecimiento de resultados para puntos de prueba ❌

Seguridad avanzada

Las herramientas de seguridad avanzada se consolidan en un despachador agrupado que usa un parámetro action.

Herramienta Action Descripción Solo lectura
advsec_alerts list Enumeración de alertas de Advanced Security para un repositorio con filtros opcionales ✅
advsec_alerts get Obtener una alerta de seguridad avanzada por ID ✅

Migración en vivo empresarial (versión preliminar)

Las herramientas enterprise Live Migration usan un action parámetro para agrupar y enviar tareas. Obtenga más información sobre la versión preliminar de Enterprise Live Migration.

Importante

La compatibilidad con ELM en el servidor MCP de Azure DevOps remoto está actualmente en versión preliminar. Las herramientas están habilitadas de forma predeterminada.

Herramienta Action Descripción Solo lectura
enterprise_live_migration list Listar migraciones para la organización; con filtro de proyecto opcional y el indicador includeAllMigrations ✅
enterprise_live_migration get Obtención del estado de migración de un repositorio ✅
enterprise_live_migration get_cutover_review Obtener elementos con errores o bloqueados antes del cambio definitivo ✅
enterprise_live_migration get_device_flow_config Obtener la configuración del flujo del dispositivo de la aplicación de GitHub ✅
enterprise_live_migration list_pipelines Lista de canalizaciones y estado de recableado ✅
enterprise_live_migration_write create Crear una nueva migración ❌
enterprise_live_migration_write pause Pausar una migración activa ❌
enterprise_live_migration_write resume Reanudación de una migración en pausa ❌
enterprise_live_migration_write cutover_set Programar una fecha de transición ❌
enterprise_live_migration_write cutover_cancel Cancelación de una transición programada ❌
enterprise_live_migration_write approve_cutover Aceptar errores y continuar con la transición ❌
enterprise_live_migration_write abandon Eliminar permanentemente una migración ❌
enterprise_live_migration_pipelines_write submit Enviar canalizaciones para recableado ❌
enterprise_live_migration_pipelines_write update Actualizar la configuración de recableado de la canalización ❌
enterprise_live_migration_pipelines_write delete Eliminar todos los clones de la canalización para una migración de terminal ❌

Para que solo estén disponibles las herramientas de Enterprise Live Migration, use el encabezado X-MCP-Toolsets con el valor elm:

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Toolsets": "elm"
      }
    }
  },
  "inputs": []
}

Entornos soportados

El servidor MCP remoto de Azure DevOps requiere tu cuenta de usuario y tu organización de Azure DevOps para conectarse a Microsoft Entra ID.

No todos los clientes de MCP admiten Microsoft Entra autenticación de forma predeterminada. Algunos entornos requieren pasos adicionales para registrar la aplicación cliente.

Los entornos admitidos para el punto de conexión remoto, cuando Microsoft Entra autenticación está disponible, incluyen:

  • Visual Studio con GitHub Copilot
  • Visual Studio
  • Microsoft Foundry
  • Microsoft Copilot Studio
  • CLI de GitHub Copilot
  • aplicación Copilot de GitHub
  • Cursor desktop, Cursor Cloud Agents o Claude Code con un registro de aplicación de Microsoft Entra personalizado

Importante

Claude Desktop y Codex no admiten actualmente el flujo de autenticación de Microsoft Entra requerido por el servidor MCP de Azure DevOps remoto. Use el servidor MCP local con estos clientes.

Visual Studio Code

Para configurar el servidor MCP remoto en Visual Studio Code:

  1. Agregue un .vscode/mcp.json archivo al repositorio con la configuración de mcp.json mostrada anteriormente.
  2. Guarde el archivo.
  3. Abra GitHub Copilot en VS Code.
  4. Cuando se le solicite, autentíquese con su cuenta de Microsoft Entra y seleccione su cuenta.

Una vez completada la autenticación, aparece una lista de herramientas disponibles.

Visual Studio (2022 y versiones posteriores)

Configure el servidor MCP remoto en Visual Studio agregando la dirección URL del servidor a la configuración de MCP. Para obtener más información, consulte Use los servidores MCP en Visual Studio.

Elegir ámbitos de OAuth para clientes personalizados

Al registrar un cliente MCP personalizado, conceda solo los permisos delegados necesarios para las operaciones de Azure DevOps que realiza el cliente. Los ámbitos de OAuth determinan a qué recursos y operaciones Azure DevOps puede acceder el cliente. La habilitación de una herramienta o un conjunto de herramientas de MCP no concede permisos adicionales.

Siga el principio de privilegios mínimos:

  • Otorgue permisos de lectura cuando el cliente use solo herramientas MCP de solo lectura.
  • Otorgue permisos de escritura o de administración solo cuando el cliente necesite las operaciones de escritura correspondientes.
  • Revise los ámbitos heredados para evitar conceder permisos redundantes.

Para conocer los ámbitos disponibles y sus relaciones, consulte Ámbitos de OAuth.

Los ámbitos de OAuth no invalidan los permisos del usuario que ha iniciado sesión. Una operación MCP solo se realiza correctamente cuando tanto el ámbito de la aplicación como los permisos de Azure DevOps del usuario lo permiten.

Cursor

Cursor requiere un registro de aplicaciones personalizado en Microsoft Entra para acceder al servidor MCP remoto de Azure DevOps.

Registra la aplicación para Cursor Desktop

  1. Confirme que la aplicación empresarial Azure DevOps MCP se ha aprovisionado en su tenant. Si no lo encuentra, consulte No puede encontrar la aplicación empresarial de Azure DevOps MCP en el tenant.
  2. En el Centro de administración Microsoft Entra, vaya a Registros de aplicaciones y, a continuación, cree un registro de aplicación.
  3. En el registro de la aplicación, seleccione Autenticación (Vista previa)>Agregar URI de redirección>Aplicaciones móviles y de escritorio.
  4. Escriba http://localhost:8787/callback como el URI de redirección y guarde los cambios.
  5. En la página Autenticación (versión preliminar), seleccione la pestaña Configuración y, a continuación, habilite Permitir flujos de cliente públicos.
  6. En la página Permisos de API, seleccione Agregar unaAPI de permisos > queusa mi organización.
  7. Busque Azure DevOps MCP o el identificador 2a72489c-aab2-4b65-b93a-a91edccf33b8de aplicación y, a continuación, seleccione la aplicación.
  8. Seleccione los permisos delegados que requiere el cliente, siguiendo las instrucciones de ámbito de OAuth y, a continuación, seleccione Agregar permisos.
  9. Seleccione Conceder consentimiento de administrador. Según el rol, es posible que un administrador de inquilinos tenga que completar este paso.

Copie el identificador de aplicación (cliente) del registro de la aplicación. Necesitas este valor para configurar Cursor.

Configurar Cursor Desktop

  1. En Cursor, abra Herramientas de configuración>y MCP.

  2. Seleccione Nuevo servidor MCP.

  3. Agregue la siguiente configuración y reemplace {client-id} por el identificador de aplicación (cliente) que copió:

    {
      "mcpServers": {
        "ado": {
          "url": "https://mcp.dev.azure.com",
          "type": "http",
          "auth": {
            "CLIENT_ID": "{client-id}"
          }
        }
      }
    }
    
  4. Guarde la configuración y, a continuación, vuelva a Herramientas de configuración>y MCP.

  5. Busque el servidor ado y, a continuación, seleccione Autenticar.

Configuración de agentes de cursor en la nube

Los agentes de Cursor Cloud requieren un URI de redirección web y un secreto de cliente, además del registro de aplicación personalizado de Microsoft Entra.

  1. En el Centro de administración Microsoft Entra, abra el registro de la aplicación que creó para Cursor.

  2. Seleccione Autenticación (versión preliminar)>Agregar URI de redirección>Web.

  3. Escriba https://www.cursor.com/agents/mcp/oauth/callback como el URI de redirección y guarde los cambios.

  4. Seleccione Certificados y secretos>Secretos de cliente>Nuevo secreto de cliente.

  5. Escriba una descripción, seleccione un período de expiración y, a continuación, seleccione Agregar.

  6. Copie el valor del secreto de cliente. El valor solo aparece una vez.

  7. En Cursor, abra la configuración del servidor MCP de Cloud Agents y agregue o edite el servidor MCP personalizado.

  8. Establezca la dirección URL del servidor en https://mcp.dev.azure.com.

  9. Introduzca el identificador de la aplicación (cliente) del registro de la aplicación en Id. de cliente y el valor del secreto de cliente en Secreto de cliente.

    Como alternativa, edite la configuración json y reemplace los marcadores de posición por los valores de registro de la aplicación:

    {
      "mcpServers": {
        "ado": {
          "url": "https://mcp.dev.azure.com",
          "type": "http",
          "auth": {
            "CLIENT_ID": "{client-id}",
            "CLIENT_SECRET": "{client-secret}"
          }
        }
      }
    }
    
  10. Guarde la configuración y, a continuación, seleccione Iniciar sesión enCursor Cloud Agents para completar la autenticación Microsoft Entra.

Importante

Trate el secreto de cliente como una contraseña. No lo envíes al control de código fuente. Antes de que expire, cree un secreto de reemplazo y actualice la configuración de Cursor Cloud Agents.

Si Microsoft Entra devuelve el error AADSTS50011, compruebe que el URI de redirección web coincide exactamente con https://www.cursor.com/agents/mcp/oauth/callback. Si se produce un error AADSTS7000218en el intercambio de tokens, compruebe que el valor del secreto de cliente actual está configurado en Cursor Cloud Agents.

Claude Code

Claude Code requiere un registro de aplicación de Microsoft Entra personalizado para acceder al servidor MCP de Azure DevOps remoto.

Registrar la aplicación

  1. Confirme que la aplicación empresarial Azure DevOps MCP se ha aprovisionado en su tenant. Si no lo encuentra, consulte No puede encontrar la aplicación empresarial de Azure DevOps MCP en el tenant.
  2. En el Centro de administración Microsoft Entra, vaya a Registros de aplicaciones y, a continuación, cree un registro de aplicación.
  3. En el registro de la aplicación, seleccione Autenticación (Vista previa)>Agregar URI de redirección>Aplicaciones móviles y de escritorio.
  4. Escriba http://localhost:3118/callback como el URI de redirección y guarde los cambios.
  5. En la página Autenticación (versión preliminar), seleccione la pestaña Configuración y, a continuación, habilite Permitir flujos de cliente públicos.
  6. En la página Permisos de API, seleccione Agregar unaAPI de permisos > queusa mi organización.
  7. Busque Azure DevOps MCP o el identificador 2a72489c-aab2-4b65-b93a-a91edccf33b8de aplicación y, a continuación, seleccione la aplicación.
  8. Seleccione los permisos delegados que requiere el cliente, siguiendo las instrucciones de ámbito de OAuth y, a continuación, seleccione Agregar permisos.
  9. Seleccione Conceder consentimiento de administrador. Según el rol, es posible que un administrador de inquilinos tenga que completar este paso.

Copie el identificador de aplicación (cliente) del registro de la aplicación. Necesita este valor para configurar Claude Code.

Configuración de Claude Code

  1. Ejecute el siguiente comando y reemplace {client-id} por el identificador de aplicación (cliente) que copió y {organization} por el nombre de la organización de Azure DevOps:

    claude mcp add --transport http ado https://mcp.dev.azure.com/{organization} \
      --client-id {client-id} --callback-port 3118
    

    Como alternativa, cree un .mcp.json archivo en la raíz del repositorio con la siguiente configuración:

    {
      "mcpServers": {
        "ado": {
          "type": "http",
          "url": "https://mcp.dev.azure.com/{organization}",
          "oauth": {
            "clientId": "{client-id}",
            "callbackPort": 3118
          }
        }
      }
    }
    
  2. Inicie Claude Code ejecutando claude.

  3. Ejecute /mcpy, a continuación, siga el flujo de inicio de sesión del explorador para autenticarse con la cuenta de Microsoft Entra.

Para obtener más información sobre estas opciones, consulte Conexión de Claude Code a herramientas a través de MCP.

Comprobación de la conexión

Después de la instalación, compruebe que el servidor MCP remoto funciona haciendo una pregunta al asistente de INTELIGENCIA ARTIFICIAL sobre los datos de Azure DevOps.

Ejemplos:

  • "Enumere los proyectos de mi organización Azure DevOps."
  • "Mostrar mis elementos de trabajo asignados."
  • "¿Qué solicitudes de incorporación de cambios requieren mi revisión?"

Si el asistente de IA devuelve resultados de la organización de Azure DevOps, el servidor MCP remoto se configura correctamente.

Usa IA para validar y solucionar problemas en la configuración remota de MCP

Las siguientes indicaciones de ejemplo para Copilot Chat te ayudan a elegir el enfoque de MCP adecuado, configurar y validar la configuración remota, mejorar las indicaciones para el uso diario y solucionar problemas cuando sea necesario. Copie y pegue estas indicaciones en Copilot Chat y reemplace los marcadores de posición por la organización, el cliente y los detalles de error reales.

tarea Mensaje de ejemplo
Elegir remoto frente a local For my environment and client tools, help me decide whether to use the remote Azure DevOps MCP Server or the local server, and explain the tradeoffs.
Creación de una configuración con privilegios mínimos Generate a remote mcp.json configuration for organization <contoso> that uses only the needed toolsets and read-only mode.
Valide la configuración mcp.json Review this remote Azure DevOps MCP server configuration and tell me whether anything is missing or incorrect for Visual Studio Code.
Comprobación de las suposiciones de autenticación Help me verify whether this remote MCP setup can authenticate with Microsoft Entra ID for organization <contoso>.
Mejora de las solicitudes de consulta para el trabajo diario Give me better prompt wording to reliably fetch fresh Azure DevOps data from remote MCP for project <project-name>, including how to avoid stale results.
Diagnóstico de la conexión rechazada I'm getting Connection Refused when connecting to https://mcp.dev.azure.com/<organization>. Give me step-by-step network, proxy, and firewall checks to fix it.
Diagnóstico de datos que faltan The remote MCP server connects, but queries return no data. Help me determine whether this is a permissions issue or missing project context.
Filtrado de encabezados de la herramienta de depuración Check my X-MCP-Toolsets and X-MCP-Tools header configuration and explain why expected tools are not appearing.

Copilot funciona con IA, por lo que es posible que se produzcan sorpresas y errores. Para obtener más información, consulte las preguntas frecuentes sobre el uso general de Copilot.

Solución de problemas

Issue Resolution
Error de autenticación Compruebe las credenciales de Microsoft Entra y confirme que tiene acceso a la organización de Azure DevOps.
No se encontró el servidor Compruebe el formato de dirección URL del servidor: https://mcp.dev.azure.com/{organization}.
Conexión rechazada Asegúrese de que su red permite conexiones HTTPS salientes a mcp.dev.azure.com. Si está en un proxy o firewall corporativo, pida al administrador que muestre el punto de conexión y vuelva a intentarlo sin VPN para aislar los problemas de la ruta de acceso de red.
No se devuelven datos Confirme que tiene los permisos adecuados para el proyecto o los recursos que se consultan.
Las herramientas de ELM no están disponibles Las herramientas de ELM están habilitadas de forma predeterminada. Si restringe los conjuntos de herramientas disponibles, confirme que el X-MCP-Toolsets encabezado incluye elm. A continuación, vuelva a conectar el servidor MCP y compruebe que la identidad tiene los permisos necesarios Azure DevOps. Para conocer los requisitos previos, consulte Introducción a Enterprise Live Migrations.

Para obtener soporte técnico, puede crear un problema en el repositorio del servidor MCP local . Asegúrese de utilizar la plantilla de problema Remoto.

Preguntas más frecuentes

¿Qué ocurre con otros clientes como Claude Desktop o Codex?

Claude Desktop y Codex requieren el registro dinámico de un identificador de cliente de OAuth en Microsoft Entra ID antes de poder usar el servidor MCP remoto. Microsoft Entra ID no admite actualmente el flujo de registro de cliente dinámico que requieren estos clientes. Use el servidor MCP local con estos clientes.