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.
La característica de servidor MCP Bring Your Own (BYO) permite a las organizaciones registrar sus propios servidores remotos de Protocolo de contexto de modelo (MCP) con Microsoft Agent 365 para una gobernanza centralizada y observabilidad.
Importante
- Esta característica se encuentra en versión preliminar.
- Las características en versión preliminar no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están sujetas a condiciones de uso adicionales y están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios.
Las grandes empresas a menudo construyen y operan servidores MCP internos para impulsar a sus agentes en varios flujos de trabajo comerciales. Estos servidores normalmente se ejecutan fuera de cualquier límite de gobierno organizacional, sin visibilidad del administrador sobre qué herramientas están expuestas, sin aplicación de directivas sobre cómo se invocan y sin telemetría de uso para los equipos de seguridad y cumplimiento. BYO MCP Server soluciona este problema enrutando los servidores registrados a través de Agent 365 Tooling Gateway, lo que proporciona a los administradores de TI control a través del Centro de administración de Microsoft 365 y a los equipos de seguridad los datos de observabilidad que necesitan.
Note
Las superficies de cliente compatibles durante la versión preliminar son Copilot Studio, Visual Studio Code, Claude Code y CLI de GitHub Copilot. No se admiten Fundición de IA de Azure ni Microsoft 365 Declarative Agents.
Cómo funciona un servidor BYO MCP
Un servidor BYO MCP sigue este flujo de desarrollador a administrador para que los servidores MCP remotos se revisen y gobiernen antes de que los agentes puedan acceder a ellos:
Un desarrollador registra el servidor a través de la CLI de Agent 365 y proporciona la dirección URL del servidor, el tipo de autenticación y las herramientas para exponer. Para obtener más información, consulte Registrar un servidor MCP remoto.
Un administrador de TI revisa la solicitud en el Centro de administración de Microsoft 365 y la aprueba o la rechaza. Tras la aprobación, el administrador concede los permisos de Microsoft Entra necesarios para el servidor. Para obtener más información, consulte Revisar y aprobar solicitudes de MCP.
Los clientes admitidos utilizan el servidor aprobado, como Copilot Studio y Visual Studio Code, para crear y probar agentes con invocaciones de herramientas reales. Para obtener más información, consulte Use un servidor MCP aprobado.
El equipo de seguridad supervisa la actividad y las invocaciones de herramientas a través de la búsqueda avanzada de Microsoft Defender para el cumplimiento y la detección de anomalías. Para obtener más información, consulte Supervisar y observar la actividad del servidor MCP.
Importante
Este proceso requiere revisiones de gobernanza y cumplimiento antes de que las integraciones de MCP externas estén disponibles para los usuarios finales.
Note
No puede volver a publicar nuevas versiones del servidor MCP remoto mientras esté en versión preliminar.
Registro de un servidor MCP remoto
Tip
Los administradores pueden usar estos pasos para comprender el proceso de registro o proporcionarlos a un desarrollador.
Usted o un desarrollador pueden registrar un servidor MCP remoto con Agent 365 mediante la CLI. Después del registro, un administrador de TI puede revisar y aprobar el servidor para su uso en superficies para crear agentes.
Lleve a cabo las siguientes tareas:
Requisitos previos del desarrollador
Antes de registrar un servidor MCP remoto, asegúrese de lo siguiente:
Ha instalado la CLI de Agent 365 versión 1.1.165-preview o posterior.
La entidad de seguridad de servicio de Agent 365 se aprovisiona en su arrendatario. Si no encuentra la entidad de seguridad de servicio asociada al identificador de la aplicación
ea9ffc3e-8a23-4a7d-836d-234d7c7565c1, aprovisiónelo mediante alguno de los siguientes recursos:Su servidor MCP tiene un punto de conexión de acceso público.
El servidor utiliza uno de los siguientes tipos de autenticación admitidos:
-
NoAuth. -
APIKeycon un parámetro de encabezado o de consulta. -
ExternalOAuth. -
EntraOAuth.
-
Instalar la CLI de Agent 365
Para instalar la CLI de Agent 365, siga las instrucciones de Instalar la CLI de Agent 365.
Registre su servidor MCP
Elija uno de los métodos siguientes para registrar su servidor MCP con Agent 365:
-
Registro manual mediante la CLI: ejecute el
a365 develop-mcp register-external-mcp-servercomando desde la CLI y proporcione manualmente los detalles del servidor, el tipo de autenticación y las herramientas que expone el servidor MCP. -
Registro mediante archivo JSON: utilice
a365 develop-mcp register-external-mcp-server -f <path-to-file.json>para registrar el servidor MCP proporcionando un archivo JSON que contenga todos los detalles del servidor, el tipo de autenticación y las definiciones de herramienta en un único archivo, en lugar de especificarlos individualmente en la línea de comandos.
Importante
En los ejemplos de esta sección, se usa zava.com como dominio ficticio y nombres genéricos de servidores y herramientas para ilustración. Reemplace estos valores por la URL del servidor, el nombre y los identificadores de herramienta reales.
Los siguientes ejemplos muestran cómo registrar un servidor MCP mediante la CLI de Agent 365 con diferentes tipos de autenticación.
NoAuth
Para servidores MCP que no requieren autenticación:
a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://mcp.zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type "NoAuth" \
--tools "tool1,tool2"
{
"serverName": "ext_DocsSearch",
"serverUrl": "https://docs.contoso.com/api/mcp",
"authType": "NoAuth",
"description": "Documentation search MCP Server for Contoso developer docs.",
"publisherName": "Contoso",
"tools": [
{
"name": "search_docs",
"description": "Search Contoso developer documentation and code samples."
}
],
"remoteScopes": null,
"externalOAuth": null,
"apiKey": null
}
APIKey (parámetro de consulta)
Para los servidores que pasan la clave de API como parámetro de consulta:
a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://mcp.zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type APIKey \
--api-key-location Query \
--api-key-name apiKey \
--tools "tool1,tool2"
{
"serverName": "ext_MarketData",
"serverUrl": "https://api.contoso.com/market/mcp",
"authType": "APIKey",
"description": "Real-time stock market data and search from Contoso Market Services.",
"publisherName": "Contoso",
"tools": [
{
"name": "stock-market-data",
"description": "Get real-time stock market data and financial information."
},
{
"name": "real-time-search",
"description": "Search the web for real-time information and news."
}
],
"remoteScopes": null,
"externalOAuth": null,
"apiKey": {
"location": "Query",
"name": "apiKey"
}
}
APIKey (encabezado)
Para los servidores que pasan la clave de API en un encabezado de solicitud:
a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://mcp.zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type APIKey \
--api-key-location Header \
--api-key-name token \
--tools "tool1,tool2"
{
"serverName": "ext_InternalTools",
"serverUrl": "https://tools.contoso.com/mcp",
"authType": "APIKey",
"description": "Contoso internal tools MCP Server with API key authentication.",
"publisherName": "Contoso",
"tools": [
{
"name": "tool1",
"description": "First tool exposed by the server."
},
{
"name": "tool2",
"description": "Second tool exposed by the server."
}
],
"remoteScopes": null,
"externalOAuth": null,
"apiKey": {
"location": "Header",
"name": "X-API-Key"
}
}
ExternalOAuth
Para servidores que se autentican a través de un proveedor de OAuth externo:
a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type ExternalOAuth \
--idp-authorization-url "https://idp.zava.com/o/oauth2/v2/auth" \
--idp-token-url "https://idp.zava.com/oauth2/token" \
--idp-scopes "https://api.zava.com/read" \
--idp-client-id "<your-client-id>" \
--idp-client-secret "<your-client-secret>" \
--remote-scopes "https://api.zava.com/read" \
--tools "tool1,tool2"
{
"serverName": "ext_Analytics",
"serverUrl": "https://analytics.contoso.com/mcp",
"authType": "ExternalOAuth",
"description": "Contoso Analytics MCP Server for dataset and query operations.",
"publisherName": "Contoso",
"tools": [
{
"name": "list_datasets",
"description": "List all available analytics datasets."
}
],
"remoteScopes": "https://analytics.contoso.com/.default",
"externalOAuth": {
"authorizationUrl": "https://auth.contoso.com/oauth2/authorize",
"tokenUrl": "https://auth.contoso.com/oauth2/token",
"scopes": "https://analytics.contoso.com/.default",
"clientId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"clientSecret": "<your-client-secret>"
},
"apiKey": null
}
EntraOAuth
Para servidores que se autentican mediante Microsoft Entra ID:
a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://mcp.zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type EntraOAuth \
--remote-scopes "https://api.zava.com/.default" \
--tools "tool1,tool2"
{
"serverName": "ext_OrgDirectory",
"serverUrl": "https://directory.contoso.com/mcp",
"authType": "EntraOAuth",
"description": "Contoso organization directory MCP Server secured with Entra OAuth.",
"publisherName": "Contoso",
"tools": [
{
"name": "list_users",
"description": "List users in the organization directory."
},
{
"name": "get_user_profile",
"description": "Get the profile of a specific user by ID or UPN."
}
],
"remoteScopes": "api://contoso-directory/.default",
"externalOAuth": null,
"apiKey": null
}
Después de registrarse correctamente, envíe el servidor MCP para su revisión por un administrador en el Centro de administración de Microsoft 365.
Evaluar servidores MCP
Puede evaluar la calidad de las definiciones de la herramienta MCP con el a365 develop-mcp evaluate comando. Este comando inspecciona los esquemas de herramientas de su servidor y genera un informe con instrucciones accionables para mejorar los nombres de herramientas, las descripciones y los esquemas de parámetros.
Las comprobaciones semánticas las puntúa una CLI de agente de codificación (CLI de GitHub Copilot o Claude Code) que se ejecuta localmente en el equipo, con su propia cuenta y suscripción de IA. Este comando no envía datos de esquema de herramienta a Microsoft.
Importante
Ejecute evaluate solo en servidores MCP de confianza. Los nombres de herramientas, las descripciones y los esquemas de parámetros del servidor se leen a través de una llamada MCP tools/list estándar y se entregan a un agente de codificación que se ejecuta en tu máquina para su puntuación. Este aviso de confianza se imprime una vez al principio de cada ejecución que utiliza un agente. No se aplica a --eval-engine none, que mantiene todo local.
No necesita un rol de administrador para ejecutar la evaluación. Se ejecuta localmente en la dirección URL del servidor MCP que proporcione y no llama a Azure ni a Microsoft Graph.
Prerequisites
- Instale la CLI de Agent 365.
- Para la puntuación semántica (IA), una CLI del agente de codificación instalada localmente:
-
GitHub Copilot CLI: instalar con
npm install -g @github/copilot(Node.js 18 o posterior). Este es el binario independientecopilot, no la extensión degh copilotGitHub CLI. -
Claude Code: Instale con
npm install -g @anthropic-ai/claude-code, o siga la instalación de Claude Code.
-
GitHub Copilot CLI: instalar con
- Si no está instalado ninguno de los dos agentes, el comando sigue ejecutando las comprobaciones deterministas y escribe la lista de comprobación, después se detiene para que pueda puntuar las comprobaciones semánticas con su propio LLM (bring-your-own-LLM). Pase
--eval-engine nonepara omitir el sondeo del agente por completo.
Cómo funciona la evaluación
El comando ejecuta una canalización de cinco pasos y registra el progreso como se muestra en la tabla siguiente:
| Step | Qué hace |
|---|---|
| 1. Descubre las herramientas | Se conecta al servidor MCP, llama tools/listy captura el esquema de cada herramienta. |
| 2. Generar lista de comprobación | Escribe <server-name>_checklist.json en el directorio de salida. |
| 3. Ejecutar la evaluación semántica | Entrega la lista de comprobación al agente de codificación seleccionado para que la puntúe. Omitido cuando --eval-engine none o no hay ningún agente disponible. |
| 4. Analizar | Agrega puntuaciones generales y por herramienta y determina el nivel de madurez. |
| 5. Escribir informes | Produce <server-name>_eval_report.html y <server-name>_eval_report.json. |
Cada comprobación es uno de dos tipos:
- Determinista: lógica basada en reglas en la CLI; éxito o fallo es exacto y no necesita inteligencia artificial (por ejemplo, "el nombre de la herramienta no está vacío").
-
Semántica: Puntuada por el agente de codificación, con una
reasoncadena que explica el juicio.
La ejecución es idempotente. Volver a ejecutar el mismo comando reutiliza un <server-name>_checklist.json existente y omite la detección del servidor, que es como funciona el flujo completo de trae tu propio LLM: puntúe la lista de comprobación usted mismo y, a continuación, vuelva a ejecutar el comando para reanudar. Elimine el archivo de lista de comprobación para forzar una detección nueva después de cambiar los esquemas de herramientas.
Examples
Evalúe un servidor local con selección automática de motor:
a365 develop-mcp evaluate --server-url "http://localhost:5000/mcp"
Evalúe un servidor autenticado, con el token suministrado a través de una variable de entorno y artefactos escritos en una subcarpeta:
$env:A365_MCP_AUTH_TOKEN = "<bearer-token>"
a365 develop-mcp evaluate --server-url "https://my-mcp-server.contoso.com/mcp" --output-dir "./eval"
Genere solo la lista de verificación, luego califíquela con su propio LLM:
a365 develop-mcp evaluate --server-url "https://my-mcp-server.contoso.com/mcp" --eval-engine none
Forzar un motor de puntuación específico:
a365 develop-mcp evaluate --server-url "http://localhost:5000/mcp" --eval-engine claude-code
Lee el informe
Abra <server-name>_eval_report.html desde el directorio de salida en un explorador. El informe muestra lo siguiente:
- La puntuación general (0-100; cuanto más alto, mejor).
- Las puntuaciones por herramienta con desgloses de categorías: nombre de la herramienta, descripción de la herramienta, nombre del parámetro, descripción del parámetro y estructura del esquema.
- Una lista de elementos de acción priorizados, ordenada por impacto, que incluye los requisitos concretos para alcanzar el siguiente nivel de madurez.
Manejo de datos y transparencia de IA
- El comando solo procesa los esquemas de herramientas estáticas de tu servidor MCP (nombres, descripciones y esquemas de parámetros) desde
tools/list. No procesa cargas en tiempo de ejecución, datos de usuario final o datos personales. - La CLI del agente de codificación se ejecuta en el equipo con cargo a tu propia suscripción de IA. La llamada a la API del modelo se realiza directamente por esa CLI al proveedor de IA según tus condiciones de servicio y facturación. La
a365CLI especifica el modelo, pero no intermedia la llamada. - El
--auth-tokenvalor se almacena en la memoria, se envía solo como encabezado HTTPAuthorizational servidor y nunca se escribe en el disco ni se pasa al agente de codificación. - Los archivos de salida (
_checklist.json,_eval_report.html,_eval_report.json) solo se escriben en tu--output-diry permanecen en él.
Troubleshooting
Usa la siguiente guía de solución de problemas para diagnosticar errores comunes y aplicar la solución recomendada.
| Síntoma | Causa probable | Corregir |
|---|---|---|
Unauthorized de tools/list |
Token bearer incorrecto o caducado | Vuelva a adquirir el token y páselo por A365_MCP_AUTH_TOKEN. |
Unknown eval engine |
Valor --eval-engine no válido |
Usa uno de auto, github-copilot, claude-code, o none. |
La pipeline se detiene después de [2/5] |
No hay ningún agente de codificación en PATH |
Instale la CLI de GitHub Copilot o Claude Code, o califique la lista de comprobación usted mismo y vuelva a ejecutarla. |
--output-dir cannot be empty or whitespace |
Se pasó un valor vacío a --output-dir |
Pase una ruta de acceso de directorio válida u omita la opción de utilizar el directorio actual. |
Failed to read existing checklist |
El archivo de lista de comprobación está bloqueado o con formato incorrecto | Elimine el archivo de lista de comprobación para forzar una detección nueva en la siguiente ejecución. |
Revisar y aprobar las solicitudes del servidor BYO MCP
Después de que un desarrollador registre un servidor BYO MCP, un administrador lo revisa y aprueba de la misma manera que cualquier otra solicitud de herramienta. Para ver los pasos completos de revisión y aprobación, consulte Revisar y aprobar solicitudes de MCP.
Controles clave de gobernanza
En la tabla siguiente se resumen los controles de gobernanza clave:
| Control | Description |
|---|---|
| Aprobación o rechazo | Un administrador aprueba o rechaza cada servidor BYO MCP antes de que se pueda usar. |
| Bloqueo a nivel de servidor | Un administrador puede bloquear los servidores aprobados en cualquier momento. La aplicación de restricciones en tiempo de ejecución impide que los agentes invoquen servidores bloqueados. |
| Bloque de nivel de herramienta | Un administrador puede permitir o bloquear herramientas individuales en un servidor BYO en lugar de todo el servidor. Esta funcionalidad se está implementando para los servidores MCP admitidos registrados en Agent 365. La compatibilidad con los servidores BYO MCP está prevista para una versión futura. Para obtener más información, consulte Administración de herramientas individuales dentro de un servidor MCP. |
| Resumen de herramientas | Un administrador puede ver las herramientas declaradas por cada servidor MCP. |
| Aplicación en tiempo de ejecución | Los servidores MCP bloqueados no se pueden invocar en tiempo de ejecución en ninguna superficie de cliente. |
| Delete | Un administrador puede eliminar un servidor BYO MCP registrado que ya no sea necesario. Para obtener más información, consulte Eliminar un servidor BYO MCP. |
Usa un servidor MCP aprobado
Después de que se apruebe un servidor MCP y de que Microsoft Entra conceda consentimiento, puede usarlo en superficies compatibles de creación de agentes. Las siguientes interfaces de cliente admiten servidores BYO MCP aprobados durante la versión preliminar:
| Client | Status |
|---|---|
| Copilot Studio | Soportado |
| Código de Visual Studio | Soportado |
| Claude Code | Soportado |
| CLI de GitHub Copilot | Soportado |
En Copilot Studio, siga estos pasos para invocar el servidor MCP de BYO aprobado:
Ve a Copilot Studio en tu entorno.
Cree un nuevo agente personalizado (o abra uno existente).
Vaya a la sección Herramientas y seleccione Servidor MCP.
Seleccione el servidor MCP del registro.
Pruebe el agente escribiendo un mensaje que invoque el servidor MCP.
Note
La primera vez que invoque el servidor, es posible que se le pida que complete una configuración de conexión única. Siga la dirección URL proporcionada para crear la conexión necesaria, como escribir la clave de API de un servidor basado en APIKey. Cuando termine, vuelva con su agente y vuelva a intentar el prompt. Después de una invocación correcta, el servidor MCP devuelve la salida de la herramienta.
Obtenga información sobre cómo invocar servidores BYO MCP aprobados desde Claude Code, VS Code y la CLI de GitHub Copilot en la sección Configurar servidores MCP de Work IQ para agentes de codificación de la introducción a Work IQ MCP.
Supervisar y observar la actividad del servidor MCP
Use Microsoft Defender Advanced hunting para realizar un seguimiento y analizar las invocaciones del servidor MCP. Este proceso muestra qué agentes invocan qué servidores MCP, cuándo se producen las invocaciones y otros metadatos que pueden ayudarle a detectar un uso inusual o no autorizado.
La siguiente consulta de KQL proporciona un ejemplo de la búsqueda avanzada de Defender:
CloudAppEvents
| where ActionType in ( "ExecuteToolByGateway")
| where RawEventData contains "tool name"
Esta consulta devuelve detalles como el nombre del agente, el nombre del servidor MCP y los metadatos de invocación.
Eliminar un servidor MCP BYO
Puede eliminar un servidor BYO MCP registrado en el Centro de administración de Microsoft 365 cuando ya no lo necesite. Al eliminar un servidor, se quita del Registro y los agentes ya no pueden invocarlo.
Para eliminar un servidor MCP BYO, siga estos pasos:
- Inicie sesión en el Centro de administración de Microsoft 365.
- Seleccione Agentes> y, a continuación, seleccione la pestaña Registro.
- Seleccione el servidor BYO MCP que desea eliminar y abra su panel de información general.
- Seleccione Eliminar.
- Seleccione Eliminar para confirmar la eliminación.