View a markdown version of this page

WorkSpaces MCP-Server für Anwendungen - WorkSpaces Amazon-Anwendungen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

WorkSpaces MCP-Server für Anwendungen

Der WorkSpaces Applications MCP-Server ist ein vollständig verwalteter Service, der KI-Agenten MCP-Tools (Model Context Protocol) zur Interaktion mit Desktop-Anwendungen während Streaming-Sitzungen zur Verfügung stellt. Agenten können auf Schaltflächen klicken, Text eingeben, scrollen und Screenshots vom Desktop machen.

-Übersicht

Wenn Sie den Agentenzugriff auf einem Stack aktivieren, können Agenten eine Verbindung zum verwalteten MCP-Server herstellen, um mit Desktop-Anwendungen zu interagieren. Der MCP-Server kümmert sich um die Kommunikation zwischen Ihrem Agenten und der Streaming-Sitzung. Ihr Agent sendet MCP-Tool-Anfragen, und der Server führt sie auf dem Desktop aus.

Der MCP-Server wird in der Cloud gehostet. AWS Sie müssen keine Serverkomponenten installieren oder warten. Der Server verwendet Streamable HTTP als Transportprotokoll.

Der Agentenzugriff unterstützt sowohl nicht domänengebundene als auch domänengebundene Flotten. Die Verbindungsmethode unterscheidet sich je nach Flottenart. Non-domain-joined Flotten authentifizieren die Sitzung mit einer Streaming-URL, während Flotten, die einer Domäne angehören, über einen SAML-Verbund authentifizieren. Den Pfad, der zu Ihrer Flotte passt, finden Sie unter. Verbindung zum MCP-Server herstellen

Verbindung zum MCP-Server herstellen

Agenten stellen am folgenden Endpunkt eine Verbindung zum MCP-Server her:

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

Der MCP-Server wird in der AWS Cloud gehostet und verwendet Streamable HTTP als Transportprotokoll. Sie müssen keine Serverkomponenten installieren oder warten.

Jede Anfrage muss IAM-Anmeldeinformationen mit dem Dienstnamen SigV4-signed agentaccess-mcp verwenden. Das folgende Python-Beispiel zeigt das allgemeine Verbindungsmuster mitmcp-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 ...

Schreiben Sie für andere Sprachen Ihre eigene Sigv4-Signaturlogik für ausgehende MCP-Anfragen oder verwenden Sie eine Bibliothek, die SigV4-Signaturen unterstützt. Weitere Informationen zu finden Sie unter mcp-proxy-for-aws mcp-proxy-for-aws unter. GitHub

Wie Sie die Streaming-Sitzung authentifizieren, hängt von Ihrem Flottentyp ab:

Verbindung mit Flotten herstellen, die nicht in eine Domäne eingebunden sind

Generieren Sie für Flotten, die nicht in eine Domäne eingebunden sind, mithilfe der CreateStreamingURL API eine Streaming-URL und übergeben Sie sie bei jeder Anfrage als Header. X-Amzn-AgentAccess-Streaming-Session-Url Es sind keine agentenspezifischen Parameter erforderlich. Das Agentenverhalten wird durch die Agentenzugriffskonfiguration des Stacks bestimmt.

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, _): ...

Weitere Informationen zur CreateStreamingURL API finden Sie unter CreateStreamingURL in der Amazon WorkSpaces Applications 2.0 API-Referenz.

Verbindung mit Flotten herstellen, die einer Domäne angehören

Wenn Agenten auf in eine Domäne eingebundene Streaming-Instances zugreifen, muss die Verbindung über einen SAML-Anbieter gebündelt werden. Diese Anforderung gilt sowohl für Standard- als auch für Agentensitzungen. Standardsitzungen ermöglichen es Benutzern, ihr Passwort manuell einzugeben oder die zertifikatsbasierte Authentifizierung für eine reibungslose Anmeldung zu verwenden. Für Agentensitzungen ist eine zertifikatsbasierte Authentifizierung erforderlich.

Da in eine Domäne eingebundene Streaming-Instances Zugriff über SAML erfordern, muss Ihr MCP-Client anstelle einer Streaming-URL eine signierte SAML-Assertion bereitstellen. Kodierte SAML-Assertionen überschreiten die Größenbeschränkungen für HTTP-Header. Um dies zu vermeiden, verwenden Sie das Feld inmetadata: 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, _): ...
Anmerkung

Der metadata Parameter wurde in mcp-proxy-for-aws Version 1.6.1 hinzugefügt. Frühere Versionen können das _meta Feld nicht ohne zusätzliche Entwicklung einfügen. Führen Sie den Befehl aus, um ein Upgrade durchzuführenpip install -U mcp-proxy-for-aws.

Weitere Informationen zur Einrichtung eines SAML-Verbunds mit WorkSpaces Anwendungen finden Sie unter Setting up SAML im Amazon WorkSpaces Applications Administration Guide. Weitere Informationen und ein vollständiges funktionierendes Beispiel finden Sie im Repository sample-code-for-workspaces-agent-access unter Samples on. AWS GitHub

Verbindungsmodi

Sie können steuern, wie Ihr Agent darauf wartet, dass die Desktop-Sitzung verfügbar wird, indem Sie den X-Amzn-AgentAccess-Connect-Mode Header für Ihre MCP-Anfragen festlegen.

Anmerkung

Verbindungsmodi gelten sowohl für nicht domänengebundene als auch für domänengebundene Flotten. Stellen Sie den X-Amzn-AgentAccess-Connect-Mode Header zusammen mit dem Authentifizierungsmechanismus ein, den Ihr Flottentyp verwendet (der Streaming-URL-Header für nicht domänengebundene Flotten oder die SAML-Assertion-Metadaten für domänengebundene Flotten).

Die folgenden Modi sind verfügbar:

  • BLOCKIEREN (Standard) — Der MCP-Server wartet, bis die Desktop-Verbindung vollständig hergestellt ist, bevor er reagiert. Nach der tools/list Rückkehr sind alle Tools sofort verfügbar.

  • ABFRAGE — Der MCP-Server reagiert sofort, ohne auf die Desktop-Verbindung zu warten. Anfänglich ist nur das connection_status Tool verfügbar. Ihr Agent fragt dieses Tool ab, bis die Verbindung hergestellt ist. Ab diesem Zeitpunkt ist das gesamte Toolset verfügbar.

Verwenden Sie den POLLING-Modus, wenn Sie möchten, dass Ihr Agent andere Aufgaben ausführt, während er auf die Desktop-Verbindung wartet, oder wenn Sie mehr Kontrolle über das Verhalten bei Verbindungs-Timeouts benötigen.

Das folgende Beispiel zeigt, wie der POLLING-Modus verwendet wird:

# 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()

Bereinigung der Sitzung

Sie können steuern, ob die Streaming-Sitzung abgelaufen ist, wenn Ihr Agent die Verbindung beendet, indem Sie den X-Amzn-AgentAccess-Expire-Streaming-Session-On-Delete Header für Ihre MCP-Anfragen festlegen. Die folgenden Werte sind verfügbar:

  • true — Wenn Ihr Agent eine explizite DELETE HTTP-Anfrage sendet, lässt der MCP-Server die WorkSpaces Anwendungs-Streaming-Sitzung im Rahmen der Bereinigung ablaufen. Wenn die Sitzung abläuft, wird die zugrunde liegende Streaming-Instance beendet und die konfigurierte Autoscaling-Richtlinie der Flotte ausgelöst. Weitere Informationen finden Sie unter Fleet Auto Scaling für WorkSpaces Amazon-Anwendungen.

  • false (Standard) — Die Streaming-Sitzung läuft weiter, bis das Verbindungs-Timeout erreicht ist. Weitere Informationen zum Timeout beim Trennen der Verbindung finden Sie unter. Eine Flotte in Amazon WorkSpaces Applications erstellen

Anmerkung

Standardmäßig verarbeitet ein mcp-proxy-for-aws MCP-Client die DELETE Anfrage automatisch, wenn Sie den Client-Lebenszyklus ordnungsgemäß beenden.

Verfügbare Tools

Der MCP-Server bietet die folgenden Tools, mit denen Agenten während einer Streaming-Sitzung mit dem Desktop interagieren können. Alle Toolnamen verwenden das agentaccess___ Präfix.

Werkzeuge für die Maus

left_click

Führen Sie einen Linksklick auf die angegebenen Koordinaten aus.

Parameter: x (erforderlich), y (erforderlich), modifiers (optional, zum Beispiel ctrl oderctrl+shift).

double_click

Führen Sie einen Doppelklick auf die angegebenen Koordinaten durch.

Parameter: x (erforderlich), y (erforderlich), modifiers (optional).

triple_click

Führen Sie einen Dreifachklick auf die angegebenen Koordinaten durch.

Parameter: x (erforderlich), y (erforderlich), modifiers (optional).

right_click

Führen Sie einen Rechtsklick auf die angegebenen Koordinaten aus.

Parameter: x (erforderlich), y (erforderlich), modifiers (optional).

middle_click

Führen Sie einen Mittelklick auf die angegebenen Koordinaten aus.

Parameter: x (erforderlich), y (erforderlich), modifiers (optional).

left_click_drag

Ziehen Sie mit der linken Maustaste von den Startkoordinaten zu den Endkoordinaten.

Parameter: start_x (erforderlich), start_y (erforderlich), end_x (erforderlich), end_y (erforderlich).

left_mouse_down

Halten Sie die linke Maustaste an den angegebenen Koordinaten gedrückt.

Parameter: x (erforderlich), y (erforderlich), modifiers (optional).

left_mouse_up

Lassen Sie die linke Maustaste an den angegebenen Koordinaten los.

Parameter: x (erforderlich), y (erforderlich), modifiers (optional).

move_pointer

Bewegt den Zeiger auf die angegebenen Koordinaten.

Parameter: x (erforderlich), y (erforderlich).

scroll

Scrollen Sie mit dem Mausrad an den angegebenen Koordinaten.

Parameter: x (erforderlich), y (erforderlich), scroll_direction (erforderlich —Up,Down, oderRight)Left, scroll_amount (erforderlich — in Ticks, wobei 120 Ticks einer Radkerbe entsprechen), modifiers (optional).

Werkzeuge für die Tastatur

type_text

Geben Sie Text ein, indem Sie Tastaturereignisse für jedes Zeichen simulieren.

Parameter: text (erforderlich — bis zu 10.000 Zeichen).

key

Drücken Sie eine Taste oder Tastenkombination.

Parameter: keys (erforderlich — eine einzelne Taste oder Kombination+, die beispielsweise durch actrl+c, oder verbunden istctrl+shift+s).

hold_key

Halten Sie eine Taste oder Tastenkombination für eine bestimmte Dauer gedrückt.

Parameter: keys (erforderlich), duration (erforderlich — 1 bis 30 Sekunden).

Tools für den Bildschirm

screenshot

Erfassen Sie einen Screenshot des Desktops. Die zurückgegebenen Bildabmessungen definieren den Koordinatenraum für alle Mauswerkzeuge.

Parameter: include_cursor (optional — standardmäßigfalse).

Weiterleitung von MCP-Tools

Die MCP-Tool-Weiterleitung ermöglicht es Agenten, mit Anwendungen und dem Desktop-Betriebssystem über direkte MCP-Aufrufe zu interagieren, anstatt Tools für die Computernutzung zu verwenden. Wenn Sie die Tool-Weiterleitung aktivieren, leitet der MCP-Server die in der WorkSpaces Anwendungssitzung konfigurierten Tools an Ihren Agenten weiter.

Einrichtung der Tool-Weiterleitung

So richten Sie die MCP-Tool-Weiterleitung ein:

  1. Tool-Weiterleitung aktivieren — Aktivieren Sie die FORWARD_MCP_TOOLS Agentenaktion über die API- oder Konsoleneinstellungen.

  2. Konfigurieren Sie den MCP-Server auf dem WorkSpace — Der Dienst sucht im folgenden Pfad nach einer Konfigurationsdatei:

    C:\ProgramData\NICE\dcv\mcp_server_redirection_config.json
  3. Überprüfen Sie die Verfügbarkeit des Tools — Wenn die Konfigurationsdatei vorhanden ist, stellt der Dienst eine Verbindung zu den in der Datei konfigurierten MCP-Servern her und leitet die Tools weiter. Die weitergeleiteten Tools werden angezeigt, wenn der Agent die verfügbaren Tools auflistet.

Anmerkung

Sowohl der IAM-Zugriff als auch die Serviceeinstellung müssen aktiviert sein, damit die Tool-Weiterleitung funktioniert. IAM-Berechtigungen setzen die Diensteinstellung nicht außer Kraft.

IAM-Berechtigungen für die Weiterleitung von Tools

Die IAM-Aktion zum Aufrufen weitergeleiteter Tools ist. CallForwardedTool Sie können den Zugriff auf bestimmte Stacks mithilfe des StackArn Bedingungsschlüssels einschränken:

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

Kompatible Frameworks

Sie können von jedem MCP-compatible Agent-Framework aus, das Streamable HTTP- und Sigv4-Signaturen unterstützt, eine Verbindung zum WorkSpaces Applications MCP-Server herstellen. Die folgenden Frameworks wurden getestet:

  • Strands Agents SDK — Bietet native MCP-Client-Unterstützung.

  • mcp-proxy-for-aws — Ein leichter Transport, der die SigV4-Signierung für MCP-Anfragen in Python verarbeitet.

Überwachen

Sie können die Agentenaktivität mithilfe der folgenden Dienste überwachen:

  • AWS CloudTrail— Ereignisse der Agentensitzungen werden protokolliert CloudTrail. Sie können sehen, wann Agenten eine Verbindung herstellen, welche Tools sie verwenden und wann Sitzungen enden. Tool-Aufrufe sind Datenereignisse und erfordern, dass Sie einen Trail einrichten, um Datenereignisse zu protokollieren. Weitere Informationen finden Sie unter Protokollieren von Datenereignissen im Benutzerhandbuch für CloudTrail .

  • CloudWatch— Betriebskennzahlen für Agentensitzungen sind unter verfügbar CloudWatch.

  • Amazon S3 — Wenn Sie den Screenshot-Speicher konfigurieren, sind Screenshots, die während der Agentensitzungen aufgenommen wurden, in dem von Ihnen angegebenen Amazon S3 S3-Bucket verfügbar. Screenshots werden mit dem folgenden Schlüsselformat gespeichert:

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

    Die UUID im Pfad ist die ID der WorkSpaces Anwendungs-Streaming-Sitzung.

Erste Schritte

Informationen zu den ersten Schritten mit dem WorkSpaces Applications MCP-Server finden Sie unter. Beginnen Sie damit, Agenten Zugriff auf Anwendungen zu WorkSpaces gewähren