View a markdown version of this page

WorkSpaces Aplicaciones: servidor MCP - WorkSpaces Aplicaciones de Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

WorkSpaces Aplicaciones: servidor MCP

El servidor MCP de WorkSpaces Applications es un servicio totalmente gestionado que proporciona a los agentes de IA herramientas del Model Context Protocol (MCP) para interactuar con las aplicaciones de escritorio durante las sesiones de streaming. Los agentes pueden hacer clic en los botones, introducir texto, desplazarse y tomar capturas de pantalla del escritorio.

Descripción general de

Al habilitar el acceso de los agentes en una pila, los agentes pueden conectarse al servidor MCP administrado para interactuar con las aplicaciones de escritorio. El servidor MCP gestiona la comunicación entre el agente y la sesión de streaming. Su agente envía las solicitudes de herramientas MCP y el servidor las ejecuta en el escritorio.

El servidor MCP está alojado en la nube. AWS No necesita instalar ni mantener ningún componente del servidor. El servidor utiliza Streamable HTTP como protocolo de transporte.

El acceso de los agentes admite flotas que no están unidas a un dominio o están unidas a un dominio. El método de conexión varía según el tipo de flota. Non-domain-joined las flotas autentican la sesión con una URL de transmisión, mientras que las flotas unidas a un dominio se autentican mediante la federación SAML. Para ver la ruta que coincida con su flota, consulte. Conexión al servidor MCP

Conexión al servidor MCP

Los agentes se conectan al servidor MCP en el siguiente punto final:

https://agentaccess-mcp.region.api.aws/mcp

El servidor MCP está alojado en la AWS nube y utiliza Streamable HTTP como protocolo de transporte. No necesita instalar ni mantener ningún componente del servidor.

Todas las solicitudes deben SigV4-signed utilizar las credenciales de IAM con el nombre agentaccess-mcp del servicio. El siguiente ejemplo de Python muestra el patrón de conexión general mediantemcp-proxy-for-aws:

from mcp_proxy_for_aws import aws_iam_streamablehttp_client async with aws_iam_streamablehttp_client( endpoint="https://agentaccess-mcp.region.api.aws/mcp", aws_service="agentaccess-mcp", aws_region="region", headers={ # Fleet-type-specific headers (see the following subsections) }, metadata={ # Fleet-type-specific metadata (see the following subsections) }, ) as (read, write, _): # Use read/write streams with your MCP client ...

Para otros lenguajes, escriba su propia lógica de firma de SigV4 para las solicitudes MCP salientes o utilice una biblioteca que admita la firma de SiGV4. Para obtener más información al respectomcp-proxy-for-aws, consulte mcp-proxy-for-aws en. GitHub

La forma de autenticar la sesión de streaming depende del tipo de flota:

Conexión con flotas que no están unidas a un dominio

En el caso de las flotas que no están unidas a un dominio, genera una URL de streaming mediante la CreateStreamingURL API y pásala como encabezado en cada solicitud. X-Amzn-AgentAccess-Streaming-Session-Url No se requieren parámetros específicos del agente. El comportamiento de los agentes viene determinado por la configuración de acceso a los agentes de la pila.

import boto3 from mcp_proxy_for_aws import aws_iam_streamablehttp_client # Generate streaming URL appstream = boto3.client("appstream", region_name="region") response = appstream.create_streaming_url( StackName="stack-name", FleetName="fleet-name", UserId="user-id", ) streaming_url = response["StreamingURL"] # Connect to MCP server async with aws_iam_streamablehttp_client( endpoint="https://agentaccess-mcp.region.api.aws/mcp", aws_service="agentaccess-mcp", aws_region="region", headers={ "X-Amzn-AgentAccess-Streaming-Session-Url": streaming_url, }, ) as (read, write, _): ...

Para obtener más información sobre la CreateStreamingURL API, consulte la CreateStreamingURL en la referencia de la API de Amazon WorkSpaces Applications 2.0.

Conectarse con flotas unidas a un dominio

Cuando los agentes acceden a instancias de streaming unidas a un dominio, la conexión debe estar federada a través de un proveedor de SAML. Este requisito se aplica tanto a las sesiones estándar como a las de agente. Las sesiones estándar permiten a los usuarios introducir su contraseña manualmente o utilizar la autenticación basada en certificados para disfrutar de una experiencia de inicio de sesión fluida. Para las sesiones de los agentes, se requiere la autenticación basada en certificados.

Como las instancias de streaming unidas a un dominio requieren acceso a través de SAML, tu cliente MCP debe proporcionar una afirmación SAML firmada en lugar de una URL de streaming. Las aserciones de SAML codificadas superan los límites de tamaño de los encabezados HTTP. Para evitarlo, usa el metadata campo de: mcp-proxy-for-aws

from mcp_proxy_for_aws import aws_iam_streamablehttp_client # saml_response: your signed, base64-encoded SAML assertion # stack_arn: the ARN of the AppStream stack for the AD user async with aws_iam_streamablehttp_client( endpoint="https://agentaccess-mcp.region.api.aws/mcp", aws_service="agentaccess-mcp", aws_region="region", metadata={ "saml_response": saml_response, "stack_arn": stack_arn, }, ) as (read, write, _): ...
nota

El metadata parámetro se agregó en la mcp-proxy-for-aws versión 1.6.1. Las versiones anteriores no pueden incorporar el _meta campo sin un desarrollo adicional. Para actualizar, ejecutepip install -U mcp-proxy-for-aws.

Para obtener más información sobre cómo configurar la federación de SAML con WorkSpaces aplicaciones, consulte Configuración de SAML en la Guía de administración de WorkSpaces aplicaciones de Amazon. Para obtener más información y un ejemplo práctico completo, consulte el repositorio sample-code-for-workspaces-agent-access en Samples on. AWS GitHub

Modos de conexión

Puede controlar la forma en que su agente espera a que la sesión de escritorio esté disponible configurando el X-Amzn-AgentAccess-Connect-Mode encabezado de sus solicitudes de MCP.

nota

Los modos de conexión se aplican tanto a las flotas que no están unidas a un dominio como a las que están unidas a un dominio. Configura el X-Amzn-AgentAccess-Connect-Mode encabezado junto con el mecanismo de autenticación que utilice tu tipo de flota (el encabezado de URL de transmisión para las flotas que no están unidas a un dominio o los metadatos de confirmación de SAML para las flotas unidas a un dominio).

Están disponibles los siguientes modos:

  • BLOQUEO (predeterminado): el servidor MCP espera a que la conexión de escritorio esté completamente establecida antes de responder. Cuando se tools/list devuelva, todas las herramientas estarán disponibles de forma inmediata.

  • SONDEO: el servidor MCP responde inmediatamente sin esperar a que se conecte al escritorio. Inicialmente, solo está disponible la connection_status herramienta. El agente sondea esta herramienta hasta que se establezca la conexión, momento en el que estará disponible todo el conjunto de herramientas.

Utilice el modo SONDEO cuando desee que su agente realice otras tareas mientras espera la conexión de escritorio o cuando necesite controlar mejor el comportamiento de los tiempos de espera de la conexión.

El siguiente ejemplo muestra cómo utilizar el modo POLLING:

# Pass the header when creating the MCP connection headers = { "X-Amzn-AgentAccess-Streaming-Session-Url": streaming_url, # non-domain-joined fleets "X-Amzn-AgentAccess-Connect-Mode": "POLLING", } # After initialize, tools/list returns immediately with connection_status tools = await session.list_tools() # tools = [connection_status] # Poll connection_status until the desktop is ready while True: result = await session.call_tool("connection_status", {}) status = json.loads(result.content[0].text) if status["state"] == "CONNECTED": break time.sleep(2) # Now tools/list returns the full set (screenshot, left_click, type_text, etc.) tools = await session.list_tools()

Limpieza de sesiones

Puedes controlar si la sesión de streaming caduca cuando tu agente finaliza su conexión configurando el X-Amzn-AgentAccess-Expire-Streaming-Session-On-Delete encabezado de tus solicitudes de MCP. Están disponibles los siguientes valores:

  • true: cuando el agente envía una DELETE solicitud HTTP explícita, el servidor MCP caduca la sesión de streaming de las WorkSpaces aplicaciones como parte de la limpieza. Al expirar la sesión, se cierra la instancia de streaming subyacente y se activa la política de escalado automático configurada por la flota. Para obtener más información, consulte Fleet Auto Scaling para WorkSpaces aplicaciones de Amazon.

  • false (predeterminado): la sesión de streaming continúa ejecutándose hasta que se agote el tiempo de espera de la desconexión. Para obtener más información sobre el tiempo de espera de desconexión, consulte. Cree una flota en Amazon WorkSpaces Applications

nota

De forma predeterminada, un cliente mcp-proxy-for-aws MCP gestiona automáticamente la DELETE solicitud cuando se finaliza correctamente el ciclo de vida del cliente.

Herramientas disponibles

El servidor MCP proporciona las siguientes herramientas para que los agentes interactúen con el escritorio durante una sesión de streaming. Todos los nombres de las herramientas utilizan el agentaccess___ prefijo.

Herramientas de ratón

left_click

Haga clic con el botón izquierdo en las coordenadas indicadas.

Parámetros: x (obligatorio), y (obligatorio), modifiers (opcional, por ejemplo ctrl octrl+shift).

double_click

Haga doble clic en las coordenadas indicadas.

Parámetros: x (obligatorio), y (obligatorio), modifiers (opcional).

triple_click

Haga un triple clic en las coordenadas indicadas.

Parámetros: x (obligatorio), y (obligatorio), modifiers (opcional).

right_click

Haga clic con el botón derecho en las coordenadas indicadas.

Parámetros: x (obligatorio), y (obligatorio), modifiers (opcional).

middle_click

Haga clic con el botón central en las coordenadas indicadas.

Parámetros: x (obligatorio), y (obligatorio), modifiers (opcional).

left_click_drag

Arrastre con el botón izquierdo del ratón desde las coordenadas iniciales hasta las coordenadas finales.

Parámetros: start_x (obligatorio), start_y (obligatorio), end_x (obligatorio), end_y (obligatorio).

left_mouse_down

Mantenga pulsado el botón izquierdo del ratón en las coordenadas indicadas.

Parámetros: x (obligatorio), y (obligatorio), modifiers (opcional).

left_mouse_up

Suelte el botón izquierdo del ratón en las coordenadas indicadas.

Parámetros: x (obligatorio), y (obligatorio), modifiers (opcional).

move_pointer

Mueva el puntero a las coordenadas indicadas.

Parámetros: x (obligatorio), y (obligatorio).

scroll

Mueva la rueda del ratón en las coordenadas indicadas.

Parámetros: x (obligatorio), y (obligatorio), scroll_direction (obligatorio —Up,Down, oRight)Left, scroll_amount (obligatorio: con marcas, donde 120 puntos equivalen a una muesca de rueda), modifiers (opcional).

Herramientas de teclado

type_text

Escriba texto simulando los eventos del teclado para cada carácter.

Parámetros: text (obligatorio, hasta 10 000 caracteres).

key

Pulse una tecla o una combinación de teclas.

Parámetros: keys (obligatorio: una sola tecla o una combinación unida por+, por ejemplo actrl+c, octrl+shift+s).

hold_key

Mantenga pulsada una tecla o combinación de teclas durante un tiempo especificado.

Parámetros: keys (obligatorio), duration (obligatorio: de 1 a 30 segundos).

Herramientas de pantalla

screenshot

Haz una captura de pantalla del escritorio. Las dimensiones de la imagen devuelta definen el espacio de coordenadas de todas las herramientas del ratón.

Parámetros: include_cursor (opcional; el valor predeterminado esfalse).

Reenvío de herramientas MCP

El reenvío de herramientas MCP permite a los agentes interactuar con las aplicaciones y el sistema operativo de escritorio mediante llamadas MCP directas, en lugar de utilizar herramientas informáticas. Al activar el reenvío de herramientas, el servidor MCP reenvía las herramientas configuradas en la sesión de la WorkSpaces aplicación a su agente.

Configurar el reenvío de herramientas

Para configurar el reenvío de herramientas MCP:

  1. Habilite el reenvío de herramientas: active la acción del FORWARD_MCP_TOOLS agente a través de la API o la configuración de la consola.

  2. Configure el servidor MCP en WorkSpace: el servicio busca un archivo de configuración en la siguiente ruta:

    C:\ProgramData\NICE\dcv\mcp_server_redirection_config.json
  3. Verificar la disponibilidad de la herramienta: si el archivo de configuración está presente, el servicio se conecta a los servidores MCP configurados en el archivo y reenvía las herramientas. Las herramientas reenviadas aparecen cuando el agente enumera las herramientas disponibles.

nota

Tanto el acceso a IAM como la configuración del servicio deben estar habilitados para que el reenvío de herramientas funcione. Los permisos de IAM no anulan la configuración del servicio.

Permisos de IAM para el reenvío de herramientas

La acción de IAM para las herramientas de reenvío de llamadas es. CallForwardedTool Puedes limitar el acceso a pilas específicas mediante la clave de StackArn condición:

{ "Action": "agentaccess-mcp:*", "Resource": "*", "Condition": { "ArnLike": { "ponte-mcp:StackArn": "arn:aws:appstream:region:account-id:stack/stack-name" } } }

Marcos compatibles

Puede conectarse al servidor MCP de WorkSpaces aplicaciones desde cualquier marco de MCP-compatible agente que admita la firma HTTP y SigV4 de Streamable. Se han probado los siguientes marcos:

Supervisión

Puede supervisar la actividad de los agentes mediante los siguientes servicios:

  • AWS CloudTrail— Los eventos de la sesión del agente están registrados CloudTrail. Puede ver cuándo se conectan los agentes, qué herramientas utilizan y cuándo finalizan las sesiones. Las llamadas a herramientas son eventos de datos y requieren que configure un registro para registrar los eventos de datos. Para obtener más información, consulte Registro de eventos de datos en la Guía del usuario de CloudTrail .

  • CloudWatch— Las métricas operativas de las sesiones de los agentes están disponibles en CloudWatch.

  • Amazon S3: si configura el almacenamiento de capturas de pantalla, las capturas de pantalla capturadas durante las sesiones de los agentes estarán disponibles en el bucket de Amazon S3 que especifique. Las capturas de pantalla se almacenan con el siguiente formato clave:

    agentaccess/screenshots/year=YYYY/month=MM/day=DD/session-id/timestamp.png

    El UUID de la ruta es el ID de la sesión de streaming de WorkSpaces las aplicaciones.

Introducción

Para empezar a utilizar el servidor MCP de WorkSpaces aplicaciones, consulte. Comience a proporcionar a los agentes acceso a las aplicaciones WorkSpaces