Depuración local de complementos de MCP y API

Los complementos permiten a los agentes declarativos de Microsoft 365 Copilot llamar a servidores de Protocolo de contexto de modelo (MCP) o API REST para recuperar datos y realizar tareas. Microsoft 365 Copilot debe llegar al servidor MCP o API a través de Internet. Normalmente, las herramientas de depuración hospedan sesiones de depuración en localhost (127.0.0.1), que solo es accesible desde el equipo que ejecuta la herramienta de depuración. Mediante el uso de un proxy inverso, como tuneles dev, puede exponer la sesión de depuración a Internet para habilitar las llamadas de depuración desde Microsoft 365 Copilot.

En este artículo se muestra cómo usar la herramienta para habilitar la depuración local para el devtunnel servidor MCP o la API.

Nota:

Es posible que las herramientas de depuración ya proporcionen una solución de proxy inverso. Se recomienda comprobar la documentación de las herramientas de desarrollo para confirmar. Por ejemplo, si creó una nueva API con microsoft 365 Agents Toolkit, el kit de herramientas controla la configuración del proxy inverso automáticamente.

Requisitos previos

  • La devtunnel CLI instalada en la máquina donde hospeda las sesiones de depuración
  • Número de puerto HTTP usado por la herramienta de depuración

Creación de un túnel de desarrollo persistente

La devtunnel CLI le permite crear un túnel de desarrollo persistente, un túnel que puede detener e iniciar según sea necesario sin que cambie la dirección URL hospedada. El uso de un túnel con una dirección URL persistente simplifica la depuración de complementos, ya que no es necesario actualizar los paquetes de aplicaciones de agente declarativo con nuevas direcciones URL.

  1. Si aún no ha iniciado sesión en la CLI de devtunnel, use devtunnel user login --help para ver las opciones disponibles. Inicie sesión en la CLI antes de continuar.

  2. Cree el túnel, lo que permite el acceso anónimo. El acceso anónimo es necesario para permitir que Microsoft 365 Copilot accedan al túnel y no está relacionado con cualquier autenticación requerida por la API.

    devtunnel create --allow-anonymous
    

    Sugerencia

    La creación de un nuevo túnel cambia el túnel predeterminado al recién creado. Esto le permite omitir el tunnel-id argumento a los comandos posteriores. Si crea varios túneles, es posible que tenga que usar el tunnel-id argumento para asegurarse de que usa el túnel esperado. Para obtener más información, use el devtunnel --help comando o vea Referencia de línea de comandos de túneles de desarrollo.

  3. Agregue el número de puerto HTTP usado por la herramienta de depuración. Reemplace por <port> el número de puerto y establezca el parámetro https en si la --protocol herramienta de depuración usa HTTPS en el puerto o http si no usa HTTPS.

    devtunnel port create --port-number <port> --protocol https
    
  4. Inicie el túnel de desarrollo.

    devtunnel host
    
  5. Por primera vez en la ejecución de este túnel de desarrollo, copie la dirección URL con la etiqueta Conectar a través del explorador. Abra esta dirección URL en el explorador y seleccione Continuar para habilitar el túnel.

    Nota:

    Después de seleccionar Continuar, el explorador mostrará un error. Esto se espera y se puede omitir.

Una vez habilitado el túnel, puede detener el túnel con CTRL + C. Puede reiniciar el túnel con el devtunnel host host-id comando .

Uso del túnel de desarrollo

Para usar el túnel de desarrollo para la depuración, descargue localmente un paquete de aplicación con la dirección URL del túnel de desarrollo en lugar de la dirección URL del servidor.

Establezca la url propiedad del objeto de especificación del servidor MCP dentro del manifiesto del complemento.

"runtimes": [
  {
    "type": "RemoteMCPServer",
    "spec": {
      "url": "<your-dev-tunnel-url>",
    }
  }
]

Si usa Agents Toolkit en Visual Studio Code para administrar el agente declarativo, puede agregar una variable de entorno al archivo /env/.env.dev.user denominado PLUGIN_SERVER_URL y usarlo en lugar de la dirección URL del túnel de desarrollo. Use el paso Aprovisionar en el panel Ciclo de vida para transferir localmente el agente. En el archivo /env/.env.dev.user , agregue:

OPENAPI_SERVER_URL=<your-dev-tunnel-url>

En el manifiesto del complemento, actualice la url propiedad :

"runtimes": [
  {
    "type": "RemoteMCPServer",
    "spec": {
      "url": "${{PLUGIN_SERVER_URL}}",
    }
  }
]

Si no usa Agents Toolkit, puede generar un nuevo archivo ZIP de paquete de aplicación y cargar el agente.