Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Note
Dieser Artikel beschreibt Funktionen, die in Agenten oder Agent-Abläufen verwendet werden, die auf dem Standard-Harness basieren.
Windows 365 for Agents ist ein MCP-Server, der Ihnen die vollständige operative Kontrolle über einen Windows 365 Cloud-PC gibt. Nutzen Sie diesen MCP-Server, um eine echte Windows Umgebung durch Desktop-Interaktion (Maus, Tastatur, Screenshot, Befehlsausführung), Browser-Automatisierung über Microsoft Edge und semantische UI-Inspektion über Windows Benutzeroberflächenautomatisierung zu steuern.
Note
Browser-Automatisierung funktioniert auf Microsoft Edge. Edge startet automatisch beim ersten Browser-Toolaufruf.
focus_browser kann auch Chrome oder Firefox anvisieren, aber DOM-Browser-Tools funktionieren nur auf der Edge-Instanz.
Um mehr über Windows 365 für Agenten zu erfahren, siehe Windows 365 für Agentendokumentation.
Übersicht
| Server-ID | URL auf Mandantenebene | Anzeigename | Description |
|---|---|---|---|
mcp_W365ComputerUse |
https://agent365.svc.cloud.microsoft/agents/tenants/{tenantId}/servers/mcp_W365ComputerUse |
Windows 365 für Agents MCP-Server | Volle operative Kontrolle über einen Windows 365 Cloud-PC, einschließlich Desktop-Interaktion, Browser-Automatisierung und UI-Inspektion. |
Verfügbare Tools
mcp_W365ComputerUse_StartSession
Startet eine Windows 365 Computer Use-Sitzung, stellt eine Verbindung zu einem Cloud-PC her und weist eine Cloud-PC-Ressource zu. Gibt das sessionId zurück, das zur Verwaltung der Sitzung verwendet werden kann.
Keine erforderlichen Parameter.
mcp_W365ComputerUse_EndSession
Beendet eine aktive Windows 365-Computernutzungssitzung und gibt die zugehörigen Cloud-PC-Ressourcen frei. Übergeben Sie das von mcp_W365ComputerUse_StartSession zurückgegebene sessionId.
Erforderliche Parameter: sessionId
mcp_W365ComputerUse_GetSessionDetails
Gibt Metadaten für eine Windows 365 Computer Use-Sitzung zurück, die durch sessionId identifiziert wird. Übergeben Sie das von mcp_W365ComputerUse_StartSession zurückgegebene sessionId. Mehrere Sitzungen werden nicht aufgeführt.
Erforderliche Parameter: sessionId
Maus_bewegen
Verschiebt den Cursor an eine Bildschirmposition. Verwenden Sie stattdessen click, wenn Sie am Ziel klicken möchten. Erforderliche Parameter:
- x: X-Koordinate in Bildschirmpixeln
- y: Y-Koordinate in Bildschirmpixeln
klicken
Klickt an einer angegebenen Position oder an der aktuellen Cursorposition, falls keine Koordinaten angegeben sind. Unterstützt Einklick, Doppelklick und alle fünf Maustasten.
Optionale Parameter:
- x: X-Koordinate in Bildschirmpixeln (aktuelle Position weglassen)
- y: Y-Koordinate in den Bildschirmpixeln (für die aktuelle Position weggelassen)
- Taste: Links, Rechts, Mittlere, Vorwärts oder Rückwärts (Standard: Links)
- clickCount: 1 = Einzelklick, 2 = Doppelklick (standardmäßig 1)
get_cursor_position
Gibt die aktuellen Cursorkoordinaten zurück. Keine Parameter. Gibt {cursorX, cursorY} zurück.
Maus_ziehen
Zieht von einer Position an eine andere. Nützlich zum Verschieben von Objekten, zur Größenänderung von Fenstern oder pixelpräzisem Scrollen. Erforderliche Parameter:
- startX: X-Startkoordinate.
- startY: Start Y-Koordinate.
- endX: Ende X-Koordinate.
- endY: End Y-Koordinate. Optionale Parameter:
- Taste: links, rechts oder mittig (standardmäßig: links)
Scrollen
Scrollt zu einer Position unter Verwendung von Rastereinheiten statt Pixeln. Drei Rasterstufen entsprechen ungefähr einer Seite.
Erforderliche Parameter:
- x: Scroll-Position X
- y: Scroll-Position Y
Optionale Parameter:
- deltaX: Horizontale Kerben, positiv = rechts (Standard 0)
- deltaY: Vertikale Einkerbungen, positiv = nach unten (Standardwert 0)
Note
Die Werte sind auf den Bereich [-20, 20] festgelegt.
type_text
Gibt Text durch Simulieren der Tastatureingabe ein. Verwenden Sie für Tastenkombinationen press_keys. Für Webformularfelder verwenden Sie browser_type.
Erforderliche Parameter:
- Text: Text zum Tippen.
Optionale Parameter:
- usePaste: Text aus der Zwischenablage einfügen, anstatt zu tippen.
press_keys
Drückt gleichzeitig eine Tastenkombination. Unterstützt Modifikatortasten, Funktionstasten und Standardtasten.
Erforderliche Parameter:
-
keys: Array von Tastennamen, die zusammen gedrückt werden (zum Beispiel
["ctrl","c"],["alt","tab"],["ctrl","shift","s"])
Screenshot aufnehmen
Erfasst den gesamten Bildschirm oder einen zugeschnittenen Bildbereich als PNG (Base64-kodiert).
Optionale Parameter:
- x: Linke Kante des Crop-Bereichs
- y: Oberkante der Crop-Region
- Breite: Breite des Crop-Bereichs
- Höhe: Höhe der Feldregion
Note
Geben Sie alle vier Crop-Parameter zusammen an oder lassen Sie alle vier weg, um eine Vollbildaufnahme zu ermöglichen.
Zoom-Bereich
Erfasst einen Bildschirmbereich in nativer Auflösung als PNG-Bild (base64-codiert). Nutzen Sie diese Funktion, um kleinen Text oder dichte UI-Elemente zu überprüfen, die in einem herunterskalierten Vollbild-Screenshot schwer lesbar sind.
Erforderliche Parameter:
- x: X-Koordinate der linken Kante in Bildschirmpixeln
- y: Oberkante Y-Koordinate in Bildschirmpixeln
- Breite: Regionenbreite in Pixeln
- Höhe: Regionshöhe in Pixeln
Note
Die maximale Regionsgröße beträgt 1920x1080 Pixel.
bildschirm_analysieren
Führt OCR auf dem gesamten Bildschirm durch. Keine Parameter. Gibt {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height} zurück.
get_screen_size
Gibt die Bildschirmauflösung zurück. Keine Parameter. Gibt {width, height} zurück.
list_windows
Listet alle sichtbaren Fenster mit ihren Titeln, Positionen und Abmessungen auf. Keine Parameter. Gibt ein Array von {title, processName, handle, x, y, width, height}zurück.
activate_window
Bringt ein Fenster in den Vordergrund, indem eine Fuzzy-Titelüberstimmung verwendet wird.
Erforderliche Parameter:
- Titel: Teil des Fenstertitels (Teilzeichenfolge ohne Berücksichtigung der Groß-/Kleinschreibung)
focus_browser
Konzentriert sich auf ein Browserfenster (Edge, Chrome oder Firefox), optional nach URL oder Titel gefiltert.
Optionale Parameter:
- Pattern: URL oder Titel-Substring, um zu übereinstimmen (für jedes Browserfenster weggelassen)
close_window
Schließt ein Fenster ordnungsgemäß mithilfe einer Fuzzy-Titelüberstimmung. Das System schützt kritische Prozesse, und man kann sie nicht schließen.
Erforderliche Parameter:
-
Titel: Teil des Fenstertitels (80 % Übereinstimmungsschwelle). Gibt
{matchedTitle, processName, closed}zurück.
resize_window
Ändert die Größe, verschiebt, maximiert, minimiert oder stellt ein Fenster mithilfe einer Fuzzy-Titelüberstimmung wieder her.
Erforderliche Parameter:
- Titel: Fenstertitel, der abgeglichen werden soll (unscharfer Abgleich ohne Beachtung der Groß-/Kleinschreibung)
-
Aktion: Auszuführende Aktion -
Resize,Move,Maximize,MinimizeoderRestore
Optionale Parameter:
-
x: Linke Kante X-Koordinate (verwendet mit
ResizeoderMove) -
y: Y-Koordinate der oberen Kante Y (verwendet mit
ResizeoderMove) -
Breite: Breite in Pixeln (verwendet mit
Resize) -
Höhe: Höhe in Pixeln (verwendet mit
Resize)
execute_shell_command
Führt einen Shell-Befehl in einer Sandbox-Umgebung aus. Der Befehl wird mit einer Erlaubnisliste überprüft, und gefährliche Muster werden blockiert.
Erforderliche Parameter:
- Befehl: Befehl zum Ausführen
Optionale Parameter:
-
cwd: Arbeitsverzeichnis. Verwenden Sie Schrägstriche (zum Beispiel
C:/Users/me/project). - timeoutMs: Timeout in Millisekunden (Standard 30000, maximal 120000)
Note
- Erlaubte Befehle: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type und notepad.
- Blockierte Muster umfassen Shell-Metazeichen (|, ;, &, <, >), die Erweiterung von Umgebungsvariablen
(%VAR%), Interpreter-Eval-Flags (python -codernode -e),git config --global,npm -g, mit einem Pfadpräfix versehene ausführbare Dateien,rm -rf,sudosowie Datenträger- oder Systembefehle. - Die
stdoutundstderrdes Befehls werden jeweils bei 32 KB abgeschnitten. Für beliebige Berechnung verwenden Sieexecute_python_code. Der Befehl gibt{stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}zurück.
execute_python_code
Führt Python-Code in einer Sandbox-Umgebung mit begrenzten Ressourcen aus. Diese Funktion ist ideal für Datenverarbeitung, Berechnungen, Datei-I/O und jede Berechnung, die über einfache Shell-Befehle hinausgeht.
Erforderliche Parameter:
- code: Python Code (maximal 262.144 Zeichen).
Optionale Parameter:
- cwd: Arbeitsverzeichnis. Verwenden Sie Schrägstriche nach vorn.
- timeoutMs: Timeout in Millisekunden (Standard 30000, maximal 120000).
Gibt dasselbe Schema zurück wie execute_shell_command.
Note
Der Sandbox setzt ein Speicherlimit von 512 MB und einen 30-sekündigen Timeout durch.
wait_milliseconds
Pausiert die Ausführung, damit Animationen oder Übergänge abgeschlossen werden können. Verwenden Sie diese Funktion nicht in Abfrageschleifen. Stattdessen für DOM-Umfragen verwenden browser_wait_for .
Erforderliche Parameter:
- ms: Wartezeit in Millisekunden (auf [0, 5000] geklemmt)
clipboard_read
Liest den aktuellen Inhalt des System-Zwischenbretts. Dieser Befehl benötigt keine Parameter. Es gibt ein JSON-Objekt zurück, das das Zwischenbrettformat und die Nutzlast beschreibt, die entweder eine Textzeichenkette oder ein base64-codiertes Bild sein kann.
In die Zwischenablage schreiben
Schreibt Text in die Systemzwischenablage und ersetzt den aktuellen Inhalt.
Erforderliche Parameter:
- Text: Text, der in die Zwischenablage geschrieben werden soll
Gibt eine Bestätigung zurück, die die Zeichenanzahl enthält.
list_processes
Listet laufende Prozesse in der aktuellen Sitzung auf. Jeder Eintrag enthält PID, Prozessname, Speichernutzung, Fenstertitel (falls vorhanden) und startTimeTicks. Kombinieren startTimeTicks Sie es damit kill_process , um zu verhindern, dass ein recycelter PID zerstört wird.
Optionale Parameter:
- maxCount: Maximale Anzahl zurückzugebender Prozesse (Standard 200)
Gibt ein JSON-Array von Prozess-Infoobjekten zurück.
kill_process
Beendet einen Prozess anhand der PID. Geben Sie den startTime-Wert aus list_processes an, um sich vor der Wiederverwendung von PIDs zu schützen.
Erforderliche Parameter:
-
pid: Prozess-ID zurückgegeben von
list_processes -
startTime: Prozessstartzeit-Ticks, die von
list_processeszurückgegeben werden
Optionale Parameter:
- Force: Force Kill ohne eleganten Shutdown (Standard-False)
Gibt ein JSON-Ergebnis zurück, das das Ergebnis beschreibt.
anwendung_starten
Startet eine GUI-Anwendung aus einem zulässigen Verzeichnis. Stattdessen für CLI-Befehle verwenden execute_shell_command .
Erforderliche Parameter:
-
Pfad: Absoluter Pfad zur ausführbaren Datei. Verwenden Sie Schrägstriche (zum Beispiel
C:/Program Files/app.exe).
Optionale Parameter:
- args: Array von Kommandozeilen-Argumenten
Gibt {path, pid} zurück.
get_system_info
Gibt die Betriebssystemversion, CPU, RAM, verfügbaren Festplattenspeicher und Anzeigeauflösung zurück. Keine Parameter. Gibt ein JSON-Objekt zurück, das die Systeminformationen enthält.
browser_navigate
Navigiert zu einer URL und wartet darauf, dass die Seite geladen ist.
Erforderliche Parameter:
-
URL: Vollständige URL einschließlich Protokoll (zum Beispiel,
https://example.com)
Zurück
Navigiert zurück im Browserverlauf. Keine Parameter.
browser_forward
Navigiert vorwärts im Browserverlauf. Keine Parameter.
browser_reload
Lädt die aktuelle Seite neu. Keine Parameter.
browser_get_url
Gibt die URL der aktuellen Seite als einfache Zeichenkette zurück. Keine Parameter.
browser_get_title
Gibt den aktuellen Seitentitel als einfache Zeichenkette zurück. Keine Parameter.
browser_get_text
Gibt den sichtbaren Seitentext als einfache Zeichenkette zurück. Keine Parameter. Abgekürzt auf 512 KB.
browser_get_html
Gibt die vollständige Seite des HTML-Quellcodes als einfache Zeichenkette zurück. Keine Parameter. Abgekürzt auf 512 KB.
browser_get_page_state
Ruft mehrere Seitenzustandsfelder in einem einzigen Aufruf ab. Nützlich, um mehrere Signale gleichzeitig zu erfassen, ohne separate Werkzeugaufrufe zu senden.
Erforderliche Parameter:
-
Felder: Array der zurückzugebenden Felder. Erlaubte Werte:
url,title, ,domscreenshot,tabs
Gibt ein JSON-Objekt zurück, das nur die angeforderten Felder enthält.
browser_click
Klickt mit einem CSS-Selektor auf ein DOM-Element. Zuverlässiger als koordinatenbasiertes Klicken für Webinhalte.
Erforderliche Parameter:
-
Selektor: CSS-Selektor (zum Beispiel
#submit-btnodera.nav-link)
browser_type
Gibt Text mithilfe eines CSS-Selektors in ein Formularelement ein.
Erforderliche Parameter:
- Selektor: CSS-Selektor des Eingabeelements.
- Text: Text zum Tippen.
browser_query_text
Erhält den Textinhalt des ersten Elements, der mit einem CSS-Selektor übereinstimmt.
Erforderliche Parameter:
- Selektor: CSS-Selektor.
browser_wait_for
Wartet darauf, dass ein DOM-Element erscheint. Diese Funktion ist nützlich für dynamische Inhalte, die asynchron geladen werden.
Erforderliche Parameter:
- Selektor: CSS-Selektor, auf den man warten sollte.
Optionale Parameter:
- TimeoutMs: Timeout in Millisekunden. Standardmäßig sind 5.000 und das Maximum 30.000.
browser_eval_js
Bewertet einen JavaScript-Ausdruck im Seitenkontext und gibt das Ergebnis als Zeichenkette zurück.
Erforderliche Parameter:
- Ausdruck: JavaScript-Ausdruck, der eine Zeichenkette zurückgibt
Note
Wenn dein Ausdruck ein Objekt oder eine Zahl zurückgibt, konvertiere es explizit in eine Zeichenkette (zum Beispiel JSON.stringify(obj) oder .toString()).
browser_list_tabs
Listet alle offenen Tabs mit ihrem Index, Titel und URL auf. Es müssen keine Parameter angegeben werden. Gibt ein Array von {index, title, url}zurück.
Optionale Parameter:
- tabId: Eindeutige Tab-Kennung
browser_tab_wechseln
Wechselt anhand des Index zu einem Tab.
Erforderliche Parameter:
- tabIndex: 0-basierter Tab-Index
Optionale Parameter:
- tabId: Eindeutige Tab-Kennung
browser_new_tab
Öffnet eine neue Registerkarte, optional zum Navigieren zu einer URL.
Optionale Parameter:
- URL: URL zum Öffnen (leerer Tab, falls weggelassen)
Gibt {index, title, url} zurück.
browser_create_tabs
Öffnet mehrere Registerkarten gleichzeitig. Stellen Sie optional eines davon in den Vordergrund.
Erforderliche Parameter:
- URLs: Array von URLs zum Öffnen, ein Tab pro URL
Optionale Parameter:
- foregroundIndex: Index des Tabs, der nach der Erstellung in den Vordergrund gebracht wird (weglassen, um den aktuellen Tab fokussiert zu halten)
Gibt eine SMS-Bestätigung zurück.
Browser-Tab schließen
Schließt eine Registerkarte anhand des Index.
Erforderliche Parameter:
tabIndex: 0-basierter Tab-Index Optionale Parameter:
tabId: Eindeutige Tab-Kennung
browser_screenshot
Erfasst nur einen PNG-Screenshot des Browser-Viewports (nicht den Vollbildmodus). Keine Parameter. Gibt eine base64-kodierte PNG zurück.
browser_select_option
Wählt eine oder mehrere Optionen in einem <select> Element anhand ihres value Attributs aus.
Erforderliche Parameter:
-
Selektor: CSS-Selektor für das Element
<select> - Werte: Array der Optionswerte(n), die ausgewählt werden können
Gibt eine Bestätigung mit der Anzahl der ausgewählten Optionen zurück.
browser_fill_form
Füllen Sie mehrere Formularfelder in einem einzigen Anruf aus. Jeder Eintrag ist ein {selector, value}-Paar. Die Operation stoppt beim ersten Fehlschlag und meldet, welche Felder erfolgreich waren.
Erforderliche Parameter:
-
Felder: Array aus
{selector, value}Paaren
Gibt eine Bestätigung mit der Anzahl der gefüllten Felder zurück.
browser_drag
Zieht ein Quellelement auf ein Zielelement. Beide Elemente werden durch einen CSS-Selektor identifiziert.
Erforderliche Parameter:
- sourceSelector: CSS-Selektor der Drag-Quelle.
- targetSelector: CSS-Selektor des Drop-Targets
browser_pdf_speichern
Speichert die aktuelle Seite als PDF-Datei. Zielpfade sind auf %USERPROFILE% oder %TEMP%beschränkt.
Erforderliche Parameter:
-
filePath: Ziel-Dateipfad unter
%USERPROFILE%oder%TEMP%. Verwenden Sie Schrägstriche nach vorn.
Gibt eine Bestätigung zurück, einschließlich des gespeicherten Dateipfads.
browser_handle_dialog
Akzeptiert oder weist einen anstehenden Browserdialog (Warnung, Bestätigungsdialog, Eingabeaufforderung oder beforeunload) zurück. Gibt „Kein ausstehender Dialog“ zurück, wenn kein Dialog aktiv ist.
Erforderliche Parameter:
-
Aktion:
acceptoderdismiss
Optionale Parameter:
- promptText: Text, der für einen Eingabedialog angegeben wird (wird bei Warn- und Bestätigungsdialogen ignoriert)
browser_get_cookies
Ruft Cookies für die aktuelle Seite oder für einen bestimmten Satz von URLs ab. Cookie-Werte werden immer aus Sicherheitsgründen geschwärzt; Namen, Domains, Pfade und Flags werden zurückgegeben.
Optionale Parameter:
- URLs: Array von URLs, für die man Cookies erhalten kann (für die aktuelle Seite weglassen)
Gibt ein Array von Cookie-Objekten mit geschwärzten Werten zurück.
browser_set_cookies
Legt Cookies auf der Domäne der aktuellen Seite fest. Durch diese Aktion werden Cookies hinzugefügt oder überschrieben, vorhandene Cookies werden jedoch nicht gelöscht.
Erforderliche Parameter:
-
Cookies: Array von Cookie-Objekten. Jeder Eintrag erfordert
nameundvalue. Optionale Felder:domain,path,secure, ,httpOnly.sameSite
Gibt eine SMS-Bestätigung zurück.
browser_execute_batch
Führt mehrere Browseraktionen sequenziell in einem einzelnen Aufruf aus. Diese Aktion endet beim ersten Fehlschlag und liefert die bis zu diesem Zeitpunkt gesammelten Ergebnisse zurück.
Erforderliche Parameter:
-
Aktionen: Array von
{action, params}Objekten. Erlaubte Aktionen:navigate,snapshot,click_ref,type_ref,hover_ref,scroll_ref,keypress_ref,wait_for,eval_js.
Gibt ein Array von Ergebnissen zurück, eines pro ausgeführter Aktion.
browser_snapshot
Erfasst den Barrierefreiheitsbaum der Seite mit stabilen Referenz-IDs (zum Beispiel e5), die DOM-Knoten zugeordnet sind. Verwenden Sie die Referenzen mit browser_click_ref, browser_type_ref, und browser_hover_ref. Referenzen laufen ab, wenn die Seite navigiert wird – machen Sie einen Snapshot nach der Navigation erneut.
Optionale Parameter:
- maxDepth: Maximale Baumtiefe, 1-10 (Standard 5)
- includeIframes: Schließt Cross-Origin-Iframes ein (Standardwert: true)
Gibt ein JSON-Objekt zurück, das die Accessibility-Snapshot- und Ref-IDs enthält.
browser_click_ref
Klickt auf ein Element über die Referenz-ID aus browser_snapshot. Ein Treffertest bestätigt, dass kein anderes Element das Ziel überlagert. Schlägt fehl, wenn der Snapshot abläuft – dann mache ich den Snapshot erneut.
Erforderliche Parameter:
-
snapshotId: Snapshot-ID zurückgegeben von
browser_snapshot -
ref: Element ref (zum Beispiel
e5) aus den Snapshot-Knoten
Optionale Parameter:
- Taste: Links, Rechts oder Mitte (standardmäßig: Links)
- clickCount: 1 = Einzelklick, 2 = Doppelklick (standardmäßig 1)
Gibt eine Bestätigung mit den angeklickten Koordinaten zurück.
browser_type_ref
Gibt Text in ein Element ein, indem die Referenz-ID von browser_snapshot verwendet wird. Das Element wird zuerst fokussiert, und der vorhandene Text wird standardmäßig gelöscht. Die Operation schlägt fehl, wenn der Snapshot abläuft.
Erforderliche Parameter:
-
snapshotId: Snapshot-ID zurückgegeben von
browser_snapshot -
ref: Element ref (zum Beispiel
e5) aus den Snapshot-Knoten - Text: Text zum Tippen
Optionale Parameter:
- clear: Bestehenden Text zuerst löschen (standardmäßig true)
Gibt eine Bestätigung zurück, die die Zeichenanzahl enthält.
browser_hover_ref
Bewegt den Mauszeiger über ein Element, indem die Ref-ID aus browser_snapshot verwendet wird. Kehrt sofort zurück. Die Operation schlägt fehl, wenn der Snapshot abläuft – dann mache ich den Snapshot erneut.
Erforderliche Parameter:
-
snapshotId: Snapshot-ID zurückgegeben von
browser_snapshot -
ref: Element ref (zum Beispiel
e5) aus den Snapshot-Knoten
Gibt eine Bestätigung mit den Hover-Koordinaten zurück.
get_accessibility_tree
Ruft die Ui-Elementstruktur für das Vordergrundfenster ab. Jedes Element enthält Rolle, Name, Wert und Bildschirmkoordinaten.
Optionale Parameter:
- maxDepth: Maximale Baumdurchquerungstiefe, 1-10 (Standard 3)
- maxElements: Maximale Anzahl der Elemente, die zurückgegeben werden müssen, 1-2000 (Standard 500)
Gibt einen hierarchischen Baum von {Rolle, Name, Wert, x, y, Breite, Höhe, Kinder[...]} zurück.
browser_keypress_ref
Drückt eine einzelne Taste auf ein Element anhand der Referenz-ID aus browser_snapshot. Das Element wird zuerst fokussiert. Unterstützt Modifikatortasten. Schlägt fehl, wenn der Snapshot abgelaufen ist – in diesem Fall den Snapshot erneut erstellen.
Erforderliche Parameter:
-
snapshotId: Snapshot-ID zurückgegeben von
browser_snapshot -
ref: Element ref (zum Beispiel
e5) aus den Snapshot-Knoten -
Schlüssel: Schlüsselname – zum Beispiel
Enter,Escape,Tab, ,ArrowUp,ArrowDown, oderF1–F12
Optionale Parameter:
-
Modifikatoren: Liste von Modifikatortasten, die während des Tastendrucks gedrückt gehalten werden —
Ctrl,Shift,AltoderMeta
Gibt eine SMS-Bestätigung zurück.
browser_scroll_ref
Scrollt anhand der Ref-ID von browser_snapshot zu einem Element. Optional scrollt innerhalb des Elements um eine Pixel-Differenz. Schlägt fehl, wenn der Snapshot abläuft.
Erforderliche Parameter:
-
snapshotId: Snapshot-ID zurückgegeben von
browser_snapshot -
ref: Element ref (zum Beispiel
e5) aus den Snapshot-Knoten
Optionale Parameter:
- deltaX: Horizontaler Scroll-Delta in Pixeln (Standard 0)
- deltaY: Vertikaler Scroll-Delta in Pixeln (Standard 0)
Gibt eine SMS-Bestätigung zurück.
browser_set_file_input_ref
Setzt Dateien in einem Datei-Eingabeelement über die Referenz-ID von browser_snapshot. Dateipfade sind auf die Verzeichnisse Documentsdes Benutzers , Downloads, , Desktopoder %TEMP% beschränkt.
Erforderliche Parameter:
-
snapshotId: Snapshot-ID zurückgegeben von
browser_snapshot - ref: Element ref für die Dateieingabe
- filePaths: Array von Dateipfaden zum Hochladen
Gibt eine SMS-Bestätigung zurück.
find_ui_element
Sucht UI-Elemente anhand von Textinhalt, Barrierefreiheitsrolle oder Name (Teilzeichenfolge ohne Beachtung der Groß-/Kleinschreibung). Gibt Elemente zurück, die mit ihren klickbaren Bildschirmkoordinaten übereinstimmen.
Optionale Parameter:
- Text: Text zum Suchen (als Name verwendet, wenn Name weggelassen wird)
-
Rolle: UI-Rollenfilter –
Button,TextBox,CheckBox,MenuItem,ComboBoxund mehr - Name: Zugänglicher Name (hat Vorrang vor Text, wenn beide angegeben sind)
- windowHandle: Zielfenster-Handle (null = Vordergrundfenster)
Wichtigste Funktionen
Desktopinteraktion
- Klick, Doppelklick, Rechtsklick und Steuerung mit einer Fünf-Tasten-Maus.
- Pixelpräzises Drag & Drop.
- Scrollen in Rastschritten (drei Rastschritte ≈ eine Seite).
- Tippen auf der Tastatur und Tastenkombinationen mit mehreren Tasten.
- Cursor-Positionsverfolgung.
- Bildschirmauflösungserkennung.
Bildschirmaufnahme und Analyse
- Vollbild- oder beschnittene PNG-Screenshots.
- OCR des gesamten Bildschirms mit Konfidenzwerten für jede Region und Begrenzungsrahmen.
- Nur Browser-Viewport-Screenshots für Webinhalte.
Fensterverwaltung
- Zähle alle sichtbaren Fenster mit Positionen und Maßen auf.
- Fenster anhand einer unscharfen Titelübereinstimmung aktivieren.
- Browserfenster (Edge, Chrome, Firefox) in den Vordergrund bringen, optional nach URL oder Titel gefiltert.
- Elegantes Fensterschließen mit Schutz für systemkritische Prozesse.
Befehlsausführung
- Sandbox-Shell-Befehle mit einer Erlaubnisliste (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
- Sandbox-Ausführung Python von Code mit bis zu 262.144 Zeichen.
- Arbeitsverzeichnis und Steuerung des Timeouts pro Aufruf (maximal 30 Sekunden).
- Ressourcenbeschränkungen und gehärtete Blockliste zum Schutz vor Shell-Metazeichen, eval-Flags, Privilegieneskalation und destruktiven Operationen.
Browserautomatisierung
- Navigieren, zurück, vorwärts, nachladen und konfigurierbare Wartebedingungen bei der Navigation (
load,networkidle0,networkidle2). - Seiten-URL, Titel, sichtbaren Text (Obergrenze: 512 KB) und vollständiges HTML (Obergrenze: 512 KB) lesen.
- Konsolidierte Zustandsabrufung der Seite – URL, Titel, DOM, Screenshot und Tab-Liste in einem einzigen Aufruf.
- DOM-Level-Klick, Tippen, Formularausfüllen, Ziehen und
<select>Optionsauswahl mit CSS-Selektor. - Barrierefreiheitssnapshot-basierte Interaktion über Referenz-ID – klicken, tippen, mit der Maus fahren, Tastendruck mit Modifikatoren, Scrollen und Dateieingabe hochladen.
- Warte auf dynamische Elemente mit konfigurierbarem Timeout, die optional Sichtbarkeit erfordern.
- Bewerten Sie JavaScript Ausdrücke im Seitenkontext.
- Multi-Tab-Verwaltung: Listen, wechseln, eine oder mehrere gleichzeitig öffnen und schließen.
- Cookie-Prüfung (Werte unkenntlich gemacht) und Zuordnung zur aktuellen Domain.
- Batch-Aktionsausführung – mehrere Browser-Schritte in einem Aufruf abschließen und beim ersten Fehler stoppen.
- Speichern Sie die aktuelle Seite als PDF unter
%USERPROFILE%oder%TEMP%. - Dialogbehandlung für
alert,confirm, ,promptundbeforeunload. - Läuft auf Microsoft Edge, startet automatisch bei der ersten Benutzung.
Barrierefreiheit der Benutzeroberfläche
- Holen Sie das Windows Benutzeroberflächenautomatisierung tree für das Vordergrundfenster mit konfigurierbarer Tiefe und Elementanzahl ab.
- Finde UI-Elemente nach Text, Rolle oder zugänglichem Namen.
- Gibt klickbare Bildschirmkoordinaten für präzise Zielerfassung von Buttons, Textfeldern, Kontrollkästchen, Menüpunkten und Kombinationsfeldern zurück.
Zeitsteuerung und Synchronisation
- Verwenden Sie
wait_millisecondsfür kurze einmalige Pausen (bis zu fünf Sekunden). - Verwenden Sie
browser_wait_forfür DOM-Level-Polling (bis zu 30 Sekunden).
Hinweise
- Alle Koordinaten befinden sich in Bildschirmpixeln mit (0,0) in der oberen linken Ecke. Koordinaten aus
take_screenshot,analyze_screen, ,find_ui_elementundlist_windowsalle teilen denselben Koordinatenraum. - Eine Cursor-Failsafe ist aktiv: Bewegt sich der Cursor innerhalb von fünf Pixeln um eine Bildschirmecke, werden die Mausoperationen abgebrochen. Vermeiden Sie es, die äußersten Ränder des Bildschirms anzuvisieren.
- Shell-Pipe-Operatoren (|), Semikolons (;), Ampersands (&) und Ausgabeumleitung (>, <) werden blockiert. Um die Befehlsausgabe zu transformieren, erfassen Sie sie und verarbeiten sie mit
execute_python_code. - Wenn Interpreter-Eval-Flags blockiert sind oder wenn
python -c "..."undnode -e "..."abgelehnt werden, kannst duexecute_python_codefür Python Code verwenden oder zuerst Code in eine Datei schreiben. - Der Befehl
stdout/stderrist jeweils um 32 KB verkürzt. Verwenden Sie Flags, um die ausführliche Ausgabe zu begrenzen (zum Beispiel ),git log --oneline -20oder leiten Sie zu einer Datei um und lesen sie separat. - Die maximale Auszeit beträgt
execute_shell_commandexecute_python_code30 Sekunden. Für längere Aufgaben unterteilen Sie sie in kleinere Schritte oder starten Sie einen Hintergrundprozess aus Python und Poll. - Es gibt kein dediziertes Datei-Lese-/Schreibtool. Dateien mit
execute_shell_commandmit dem Befehltypelesen. Schreibe Dateien mitexecute_python_codemit der eingebauten Datei-I/O von Python. Die Shell-Ausgabeumleitung (>, >>) ist blockiert. -
browser_eval_jsgibt immer eine Zeichenkette zurück. Konvertiere Objekte oder Zahlen explizit, bevor du sie zurückgibst. - Browser-DOM-Tools (
browser_click,browser_type,browser_eval_jsund andere) funktionieren nur auf der Microsoft Edge Instanz.focus_browserMan kann Chrome- oder Firefox-Fenster fokussieren, aber DOM-Tools zielen nicht darauf ab. -
take_screenshotFür eine Vollbildaufnahme benötigt man alle vier Crop-Parameter (x, y, Breite, Höhe) zusammen oder gar keine. -
scrollverwendet Notch-Einheiten (begrenzt auf [-20, 20]), nicht Pixel. Drei Kerben sind ungefähr eine Seite. -
find_ui_elementerfordert mindestens eines der folgenden Elemente: Text, Rolle oder Name. Wenn sowohl Text als auch Name angegeben werden, hat Name Vorrang. -
browser_snapshotRefs laufen beim Navigieren ab. Wenn ein_refTool (klicken, tippen, hobern, Tastendrücken, scrollen oder Dateieingabe einstellen) fehlschlägt, weil der Snapshot veraltet ist, machen Sie den Snapshot erneut und versuchen Sie es erneut. -
browser_set_file_input_refakzeptiert nur Dateipfade unter den Verzeichnissen des BenutzersDocuments,Downloads,Desktopoder%TEMP%. Dateien außerhalb dieser Standorte werden abgelehnt. -
browser_get_cookiesLiefert immer geschwärzte Cookie-Werte. Nutze es zur Inspektion – Namen, Domains, Pfade und Flags werden vollständig zurückgegeben, aber Werte werden nicht angezeigt. -
browser_set_cookiesFügt nur Cookies hinzu oder überschreibt sie. Vorhandene Cookies werden nicht gelöscht. Um ein Cookie zu entfernen, überschreiben Sie es mit einem abgelaufenenexpiresWert über dieses Tool oder löschen Sie es direkt auf der Seite. -
browser_execute_batchstoppt bei der ersten fehlgeschlagenen Aktion und gibt nur die bis zu diesem Zeitpunkt gesammelten Ergebnisse zurück. Nachfolgende Aktionen im Array werden nicht ausgeführt. Zulässige Stapelaktionen sind beschränkt auf:navigate,snapshot,click_ref,type_ref,hover_ref,scroll_ref,keypress_ref,wait_forundeval_js. -
browser_create_tabsÖffnet Tabs in der angegebenen Reihenfolge. WennforegroundIndexweggelassen wird, bleibt der Fokus auf dem aktuell aktiven Tab. -
browser_get_page_stategibt nur die im Arrayfieldsaufgeführten Felder zurück. Fordern Sie nur an, was Sie benötigen – das Einschließen vondomoderscreenshotkann zu großen Nutzlasten führen.
Häufige Anwendungsfälle
Füllen Sie ein Webformular aus
- Wählen Sie
browser_navigateaus, um die Zielseite zu öffnen. - Rufen Sie an
browser_wait_for, um auf das Laden des Formulars zu warten. - Rufen Sie
browser_typeauf, um jedes Feld per CSS-Selektor auszufüllen. - Rufen Sie
browser_clickan, um das Formular einzureichen. - Rufen Sie an
browser_wait_for, um auf das Bestätigungselement zu warten. - Rufen Sie an
browser_get_text, um das Ergebnis zu lesen und zu bestätigen.
Automatisieren Sie eine Desktop-Anwendung
- Rufen Sie
activate_windowan, um die Anwendung in den Vordergrund zu rücken. - Rufen Sie
take_screenshotan, um den aktuellen Zustand zu erfassen. - Rufen Sie
find_ui_elementan, um einen Button oder ein Feld mit Namen zu finden. - Rufen Sie
clickan den gemeldeten Koordinaten des Elements auf. - Rufen Sie
type_textan, um Daten einzugeben. - Rufen Sie
press_keysnach Abkürzungen (zum Beispiel zum Speichern).["ctrl","s"] - Rufen Sie an
take_screenshot, um das Ergebnis zu überprüfen.
Daten von einer Webseite extrahieren
- Rufen Sie
browser_navigatean, um die Seite zu öffnen. - Rufen Sie
browser_get_textauf, um sichtbaren Textinhalte zu extrahieren. - Rufen Sie
execute_python_codeauf, um die extrahierten Daten zu parsen und zu verarbeiten. - Aufruf
browser_eval_jszur Abfrage bestimmter Werte über JavaScript, wenn Textextraktion nicht ausreicht.
Ausführen von Entwicklungsaufgaben
- Rufen Sie
execute_shell_commandfürgit pull,npm installunddotnet buildan. - Aufruf
take_screenshotzum Erfassen des Build-Outputs. - Rufen Sie an
execute_python_code, um Protokolle oder Testergebnisse zu analysieren. - Rufe
browser_navigateauf, um einen lokalen Entwicklungsserver im Browser zu öffnen. - Rufen Sie
browser_screenshotauf, um die gerenderte Seite zu erfassen.
Lese- und Schreibdateien
- Lesen Sie eine Datei mit
execute_shell_commandmittype C:\path\to\file.txt. - Schreibe eine Datei, indem du
execute_python_codemit Pythonopen(...)undwrite(...)verwendest. - Überprüfen Sie dies mit
execute_shell_commandunddir C:\path\to\output.txt.
Navigieren Sie in einer komplexen Benutzeroberfläche mit Barrierefreiheit
- Rufe
get_accessibility_treeauf, um die gesamte UI-Struktur zu verstehen. - Ruf auf,
find_ui_elementum eine bestimmte Kontrolle zu finden (zum Beispielrole: "MenuItem",name: "Settings"). - Rufen Sie
clickunter Verwendung der vom Element gemeldeten Koordinaten auf. - Ruf erneut an
find_ui_element, um die nächste Steuerung im Dialog zu finden. - Rufen Sie
type_textan oder interagieren Sie mitclickdamit.
Halten Sie eine lang andauernde Sitzung aufrecht
- Senden Sie mindestens einmal alle 30 Minuten eine MCP-Anfrage, um eine Entfernung wegen Inaktivität zu verhindern.
-
get_screen_sizeist ressourcenschonend und eignet sich gut als Heartbeat-Signal.