Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- Agregue un
.vscode/mcp.jsonarchivo al repositorio con la configuración de mcp.json mostrada anteriormente. - Guarde el archivo.
- Abra GitHub Copilot en VS Code.
- 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
- 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.
- En el Centro de administración Microsoft Entra, vaya a Registros de aplicaciones y, a continuación, cree un registro de aplicación.
- En el registro de la aplicación, seleccione Autenticación (Vista previa)>Agregar URI de redirección>Aplicaciones móviles y de escritorio.
- Escriba
http://localhost:8787/callbackcomo el URI de redirección y guarde los cambios. - 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.
- En la página Permisos de API, seleccione Agregar unaAPI de permisos > queusa mi organización.
- Busque Azure DevOps MCP o el identificador
2a72489c-aab2-4b65-b93a-a91edccf33b8de aplicación y, a continuación, seleccione la aplicación. - Seleccione los permisos delegados que requiere el cliente, siguiendo las instrucciones de ámbito de OAuth y, a continuación, seleccione Agregar permisos.
- 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
En Cursor, abra Herramientas de configuración>y MCP.
Seleccione Nuevo servidor MCP.
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}" } } } }Guarde la configuración y, a continuación, vuelva a Herramientas de configuración>y MCP.
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.
En el Centro de administración Microsoft Entra, abra el registro de la aplicación que creó para Cursor.
Seleccione Autenticación (versión preliminar)>Agregar URI de redirección>Web.
Escriba
https://www.cursor.com/agents/mcp/oauth/callbackcomo el URI de redirección y guarde los cambios.Seleccione Certificados y secretos>Secretos de cliente>Nuevo secreto de cliente.
Escriba una descripción, seleccione un período de expiración y, a continuación, seleccione Agregar.
Copie el valor del secreto de cliente. El valor solo aparece una vez.
En Cursor, abra la configuración del servidor MCP de Cloud Agents y agregue o edite el servidor MCP personalizado.
Establezca la dirección URL del servidor en
https://mcp.dev.azure.com.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}" } } } }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
- 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.
- En el Centro de administración Microsoft Entra, vaya a Registros de aplicaciones y, a continuación, cree un registro de aplicación.
- En el registro de la aplicación, seleccione Autenticación (Vista previa)>Agregar URI de redirección>Aplicaciones móviles y de escritorio.
- Escriba
http://localhost:3118/callbackcomo el URI de redirección y guarde los cambios. - 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.
- En la página Permisos de API, seleccione Agregar unaAPI de permisos > queusa mi organización.
- Busque Azure DevOps MCP o el identificador
2a72489c-aab2-4b65-b93a-a91edccf33b8de aplicación y, a continuación, seleccione la aplicación. - Seleccione los permisos delegados que requiere el cliente, siguiendo las instrucciones de ámbito de OAuth y, a continuación, seleccione Agregar permisos.
- 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
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 3118Como alternativa, cree un
.mcp.jsonarchivo 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 } } } }Inicie Claude Code ejecutando
claude.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.
Contenido relacionado
- Información general del servidor MCP de Azure DevOps
- repositorio de GitHub del servidor MCP de Azure DevOps