Windows 365 für Agents – MCP-Server-Referenz

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_desktop_move_mouse

Verschiebt den Cursor an eine Bildschirmposition. Verwenden Sie stattdessen mcp_desktop_click, wenn Sie am Ziel klicken möchten. Erforderliche Parameter:

  • x: X-Koordinate in Bildschirmpixeln
  • y: Y-Koordinate in Bildschirmpixeln

mcp_desktop_click

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)

mcp_desktop_get_cursor_position

Gibt die aktuellen Cursorkoordinaten zurück. Keine Parameter. Gibt {cursorX, cursorY} zurück.

mcp_desktop_drag_mouse

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)

mcp_desktop_scroll

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.

mcp_desktop_type_text

Gibt Text durch Simulieren der Tastatureingabe ein. Verwenden Sie für Tastenkombinationen mcp_desktop_press_keys. Für Webformularfelder verwenden Sie mcp_browser_type.

Erforderliche Parameter:

  • Text: Text zum Tippen.

mcp_desktop_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"])

mcp_desktop_take_screenshot

Erfasst den gesamten Bildschirm oder einen zugeschnittenen Bildbereich als PNG (Base64-kodiert).

Optionale Parameter:

  • x: Linke Kante des Beschnittbereichs
  • y: Oberkante der Crop-Region
  • width: Breite des Beschnittbereichs
  • 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.

mcp_desktop_zoom_region

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.

mcp_desktop_analyze_screen

Führt OCR auf dem gesamten Bildschirm durch. Keine Parameter. Gibt {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height} zurück.

mcp_desktop_get_screen_size

Gibt die Bildschirmauflösung zurück. Keine Parameter. Gibt {width, height} zurück.

mcp_desktop_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.

mcp_desktop_activate_window

Bringt ein Fenster in den Vordergrund, indem eine Fuzzy-Titelüberstimmung verwendet wird.

Erforderliche Parameter:

  • titlePattern: Teil eines Fenstertitels (Teilzeichenfolge ohne Beachtung der Groß-/Kleinschreibung)

mcp_desktop_focus_browser

Konzentriert sich auf ein Browserfenster (Edge, Chrome oder Firefox), optional nach URL oder Titel gefiltert.

Optionale Parameter:

  • pattern: URL- oder Titel-Substring für den Abgleich (für jedes Browserfenster weglassen)

mcp_desktop_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:

  • titlePattern: Teil des Fenstertitels (80 % Übereinstimmungsschwelle). Gibt {matchedTitle, processName, closed} zurück.

mcp_desktop_resize_window

Ändert die Größe eines Fensters, verschiebt, maximiert, minimiert ein Fenster oder stellt es mithilfe einer Fuzzy-Titelüberstimmung wieder her.

Erforderliche Parameter:

  • title: Fenstertitel, der abgeglichen werden soll (Fuzzy-Abgleich ohne Beachtung von Groß-/Kleinschreibung)
  • Aktion: Auszuführende Aktion - Resize, Move, Maximize, Minimize oder Restore

Optionale Parameter:

  • x: Linke Kante X-Koordinate (verwendet mit Resize oder Move)
  • y: Y-Koordinate der oberen Kante Y (verwendet mit Resize oder Move)
  • Breite: Breite in Pixeln (verwendet mit Resize)
  • Höhe: Höhe in Pixeln (verwendet mit Resize)

mcp_desktop_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 30000)

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 -c oder node -e), git config --global, npm -g, mit einem Pfadpräfix versehene ausführbare Dateien, rm -rf, sudo sowie Datenträger- oder Systembefehle.
  • stdout und stderr des Befehls werden jeweils bei 32 KB abgeschnitten. Für beliebige Berechnung verwenden Sie mcp_desktop_execute_python_code. Der Befehl gibt {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied} zurück.

mcp_desktop_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.
  • timeoutMs: Timeout in Millisekunden (Standard 30.000, maximal 30.000).

Gibt dasselbe Schema zurück wie mcp_desktop_execute_shell_command.

Note

Der Sandbox setzt ein Speicherlimit von 512 MB und einen 30-sekündigen Timeout durch.

mcp_desktop_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 mcp_browser_wait_for .

Erforderliche Parameter:

  • ms: Wartezeit in Millisekunden (auf [0, 5000] geklemmt)

mcp_desktop_clipboard_read

Liest den aktuellen Inhalt der Systemzwischenablage. 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.

mcp_desktop_clipboard_write

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.

mcp_desktop_list_processes

Listet laufende Prozesse in der aktuellen Sitzung auf. Jeder Eintrag enthält PID, Prozessname, Speichernutzung, Fenstertitel (falls vorhanden) und startTimeTicks. Kombinieren Sie startTimeTicks mit mcp_desktop_kill_process , um zu verhindern, dass eine wiederverwendete PID beendet wird.

Optionale Parameter:

  • maxCount: Maximale Anzahl zurückzugebender Prozesse (Standard 200)

Gibt ein JSON-Array von Prozess-Infoobjekten zurück.

mcp_desktop_kill_process

Beendet einen Prozess anhand der PID. Geben Sie den startTime-Wert aus mcp_desktop_list_processes an, um sich vor der Wiederverwendung von PIDs zu schützen.

Erforderliche Parameter:

  • pid: Prozess-ID zurückgegeben von mcp_desktop_list_processes
  • startTime: Prozessstartzeit-Ticks, die von mcp_desktop_list_processes zurückgegeben werden

Optionale Parameter:

  • force: Erzwungenes Beenden oder ordnungsgemäßes Herunterfahren (Standard: False)

Gibt ein JSON-Ergebnis zurück, das das Ergebnis beschreibt.

mcp_desktop_launch_application

Startet eine GUI-Anwendung aus einem zulässigen Verzeichnis. Stattdessen für CLI-Befehle verwenden mcp_desktop_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.

mcp_desktop_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.

mcp_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)

mcp_browser_back

Navigiert zurück im Browserverlauf. Keine Parameter.

mcp_browser_forward

Navigiert vorwärts im Browserverlauf. Keine Parameter.

mcp_browser_reload

Lädt die aktuelle Seite neu. Keine Parameter.

mcp_browser_get_url

Gibt die URL der aktuellen Seite als einfache Zeichenkette zurück. Keine Parameter.

mcp_browser_get_title

Gibt den aktuellen Seitentitel als einfache Zeichenkette zurück. Keine Parameter.

mcp_browser_get_text

Gibt den sichtbaren Seitentext als einfache Zeichenkette zurück. Keine Parameter. Abgekürzt auf 512 KB.

mcp_browser_get_html

Gibt die vollständige Seite des HTML-Quellcodes als einfache Zeichenkette zurück. Keine Parameter. Abgekürzt auf 512 KB.

mcp_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.

mcp_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-btn oder a.nav-link)

mcp_browser_type

Gibt Text mithilfe eines CSS-Selektors in ein Formularelement ein.

Erforderliche Parameter:

  • Selektor: CSS-Selektor des Eingabeelements.
  • Text: Text zum Tippen.

mcp_browser_query_text

Erhält den Textinhalt des ersten Elements, der mit einem CSS-Selektor übereinstimmt.

Erforderliche Parameter:

  • Selektor: CSS-Selektor.

mcp_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.

mcp_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()).

mcp_browser_list_tabs

Listet alle offenen Tabs mit ihrem Index, Titel und URL auf. Keine Parameter. Gibt ein Array von {index, title, url}zurück.

mcp_browser_switch_tab

Wechselt anhand des Index zu einem Tab.

Erforderliche Parameter:

  • tabIndex: 0-basierter Tab-Index

mcp_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.

mcp_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.

mcp_browser_close_tab

Schließt eine Registerkarte nach Index.

Erforderliche Parameter:

  • tabIndex: 0-basierter Tab-Index

mcp_browser_screenshot

Erfasst nur einen PNG-Screenshot des Browser-Viewports (nicht den Vollbildmodus). Keine Parameter. Gibt eine base64-kodierte PNG zurück.

mcp_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.

mcp_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.

mcp_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

mcp_browser_pdf_save

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.

Gibt eine Bestätigung zurück, einschließlich des gespeicherten Dateipfads.

mcp_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: accept oder dismiss

Optionale Parameter:

  • promptText: Text, der für einen Eingabedialog angegeben wird (wird bei Warn- und Bestätigungsdialogen ignoriert)

mcp_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.

mcp_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 name und value. Optionale Felder: domain, path, secure, , httpOnly. sameSite

Gibt eine SMS-Bestätigung zurück.

mcp_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.

mcp_browser_snapshot

Erfasst die Barrierefreiheitsstruktur der Seite mit stabilen Referenz-IDs (zum Beispiel e5), die DOM-Knoten zugeordnet sind. Verwenden Sie die Referenzen mit mcp_browser_click_ref, mcp_browser_type_ref, und mcp_browser_hover_ref. Referenzen laufen ab, wenn die Seite gewechselt wird – machen Sie nach dem Wechsel erneut eine Momentaufnahme.

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.

mcp_browser_click_ref

Klickt auf ein Element über die Referenz-ID aus mcp_browser_snapshot. Ein Treffertest bestätigt, dass kein anderes Element das Ziel überlagert. Schlägt fehl, wenn die Momentaufnahme abläuft – machen Sie die Momentaufnahme in dem Fall erneut.

Erforderliche Parameter:

  • snapshotId: Snapshot-ID zurückgegeben von mcp_browser_snapshot
  • ref: Element-Referenz (zum Beispiel e5) aus den Momentaufnahme-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.

mcp_browser_type_ref

Gibt Text in ein Element ein, indem die Referenz-ID von mcp_browser_snapshot verwendet wird. Das Element wird zuerst fokussiert, und der vorhandene Text wird standardmäßig gelöscht. Der Vorgang schlägt fehl, wenn die Momentaufnahme abläuft.

Erforderliche Parameter:

  • snapshotId: Snapshot-ID zurückgegeben von mcp_browser_snapshot
  • ref: Element-Referenz (zum Beispiel e5) aus den Momentaufnahme-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.

mcp_browser_hover_ref

Bewegt den Mauszeiger über ein Element, indem die Ref-ID aus mcp_browser_snapshot verwendet wird. Kehrt sofort zurück. Der Vorgang schlägt fehl, wenn die Momentaufnahme abläuft – machen Sie die Momentaufnahme in dem Fall erneut.

Erforderliche Parameter:

  • snapshotId: Snapshot-ID zurückgegeben von mcp_browser_snapshot
  • ref: Element-Referenz (zum Beispiel e5) aus den Momentaufnahme-Knoten

Gibt eine Bestätigung mit den Hover-Koordinaten zurück.

mcp_accessibility_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.

mcp_browser_keypress_ref

Drückt eine einzelne Taste für ein Element anhand der Referenz-ID mcp_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 mcp_browser_snapshot
  • ref: Element-Referenz (zum Beispiel e5) aus den Momentaufnahme-Knoten
  • Schlüssel: Schlüsselname – zum Beispiel Enter, Escape, Tab, , ArrowUp, ArrowDown, oder F1F12

Optionale Parameter:

  • Modifikatoren: Liste von Modifikatortasten, die während des Tastendrucks gedrückt gehalten werden — Ctrl, Shift, Alt oder Meta

Gibt eine SMS-Bestätigung zurück.

mcp_browser_scroll_ref

Scrollt ein Element anhand der Referenz-ID von mcp_browser_snapshot in eine Ansicht. Scrollt optional innerhalb des Elements um ein Pixel-Delta. Schlägt fehl, wenn der Snapshot abläuft.

Erforderliche Parameter:

  • snapshotId: Snapshot-ID zurückgegeben von mcp_browser_snapshot
  • ref: Element-Referenz (zum Beispiel e5) aus den Momentaufnahme-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.

mcp_browser_set_file_input_ref

Legt Dateien auf einem Datei-Eingabeelement nach Referenz-ID von mcp_browser_snapshot fest. Dateipfade sind auf die Verzeichnisse Documentsdes Benutzers , Downloads, , Desktopoder %TEMP% beschränkt.

Erforderliche Parameter:

  • snapshotId: Snapshot-ID zurückgegeben von mcp_browser_snapshot
  • ref: Element ref für die Dateieingabe
  • filePaths: Array von Dateipfaden zum Hochladen

Gibt eine SMS-Bestätigung zurück.

mcp_accessibility_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, ComboBox und 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.
  • Pixelgenaues Drag-and-Drop.
  • Scrollen in Rasterstufen (drei Rasterschritte ≈ 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 umgebenden Feldern.
  • Nur Browser-Viewport-Screenshots für Webinhalte.

Fensterverwaltung

  • Zähle alle sichtbaren Fenster mit Positionen und Maßen auf.
  • Aktivieren Sie Fenster anhand einer Fuzzy-Titelübereinstimmung.
  • 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 Zulassungsliste (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
  • Sandbox-Python-Ausführung von bis zu 262.144 Zeichen Code.
  • Arbeitsverzeichnis und Steuerung des Timeouts pro Aufruf (maximal 30 Sekunden).
  • Ressourcenbeschränkungen und abgesicherte Sperrliste zum Schutz vor Shell-Metazeichen, Eval-Flags, Berechtigungseskalation und destruktiven Vorgängen.

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.
  • Klicken auf DOM-Ebene, Tippen, Ausfüllen von Formularen, Ziehen und <select>-Optionsauswahl mit CSS-Selektor.
  • Interaktion basierend auf Barrierefreiheitsmomentaufnahmen über Referenz-ID – klicken, tippen, mit der Maus darüberfahren, 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, , promptund beforeunload.
  • 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 mcp_desktop_wait_milliseconds für kurze einmalige Pausen (bis zu fünf Sekunden).
  • Verwenden Sie mcp_browser_wait_for für DOM-Level-Polling (bis zu 30 Sekunden).

Notes

  • Alle Koordinaten befinden sich in Bildschirmpixeln mit (0,0) in der oberen linken Ecke. Koordinaten aus mcp_desktop_take_screenshot, mcp_desktop_analyze_screen, , mcp_accessibility_find_ui_elementund mcp_desktop_list_windows alle teilen denselben Koordinatenraum.
  • Es ist eine Cursor-Sicherheitsfunktion aktiviert: Wenn sich der Cursor auf weniger als fünf Pixel von einer Bildschirmecke entfernt, werden Mausvorgänge abgebrochen. Vermeiden Sie es, die äußersten Ränder des Bildschirms anzuvisieren.
  • Shell-Pipe-Operatoren (|), Semikolons (;), kaufmännisches Und-Zeichen (&) und Ausgabeumleitung (>, <) werden blockiert. Um die Befehlsausgabe zu transformieren, erfassen Sie sie und verarbeiten sie mit mcp_desktop_execute_python_code.
  • Wenn Interpreter-Eval-Flags blockiert sind oder wenn python -c "..." und node -e "..." abgelehnt werden, kannst du mcp_desktop_execute_python_code für Python Code verwenden oder zuerst Code in eine Datei schreiben.
  • Der Befehl stdout/stderr ist jeweils um 32 KB verkürzt. Verwenden Sie Flags, um die ausführliche Ausgabe zu begrenzen (zum Beispiel git log --oneline -20), oder leiten Sie zu einer Datei um und lesen Sie sie separat.
  • Die maximale Auszeit beträgt mcp_desktop_execute_shell_commandmcp_desktop_execute_python_code 30 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 mcp_desktop_execute_shell_command mit dem Befehl type lesen. Schreibe Dateien mit mcp_desktop_execute_python_code mit der eingebauten Datei-I/O von Python. Die Shell-Ausgabeumleitung (>, >>) ist blockiert.
  • mcp_browser_eval_js gibt immer eine Zeichenkette zurück. Konvertiere Objekte oder Zahlen explizit, bevor du sie zurückgibst.
  • Browser-DOM-Tools (mcp_browser_click, mcp_browser_type, mcp_browser_eval_js und andere) funktionieren nur auf der Microsoft Edge Instanz.  mcp_desktop_focus_browser Man kann Chrome- oder Firefox-Fenster fokussieren, aber DOM-Tools zielen nicht darauf ab.
  • mcp_desktop_take_screenshot Für eine Vollbildaufnahme benötigt man alle vier Crop-Parameter (x, y, Breite, Höhe) zusammen oder gar keine.
  • mcp_desktop_scroll verwendet Notch-Einheiten (begrenzt auf [-20, 20]), nicht Pixel. Drei Rasterstufen entsprechen ungefähr einer Seite.
  • mcp_accessibility_find_ui_element erfordert mindestens eines der folgenden Elemente: Text, Rolle oder Name. Wenn sowohl Text als auch Name angegeben werden, hat Name Vorrang.
  • mcp_browser_snapshot Refs laufen beim Navigieren ab. Wenn ein _ref Tool (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.
  • mcp_browser_set_file_input_ref akzeptiert nur Dateipfade unter den Verzeichnissen des Benutzers Documents, Downloads, Desktop oder %TEMP%. Dateien außerhalb dieser Standorte werden abgelehnt.
  • mcp_browser_get_cookies gibt immer geschwärzte Cookie-Werte zurück. Nutze es zur Inspektion – Namen, Domains, Pfade und Flags werden vollständig zurückgegeben, aber Werte werden nicht angezeigt.
  • mcp_browser_set_cookies Fügt nur Cookies hinzu oder überschreibt sie. Vorhandene Cookies werden nicht gelöscht. Um ein Cookie zu entfernen, überschreiben Sie es mit einem abgelaufenen expires Wert über dieses Tool oder löschen Sie es direkt auf der Seite.
  • mcp_browser_execute_batch stoppt 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_for und eval_js.
  • mcp_browser_create_tabs Öffnet Tabs in der angegebenen Reihenfolge. Wenn foregroundIndex weggelassen wird, bleibt der Fokus auf dem aktuell aktiven Tab.
  • mcp_browser_get_page_state gibt nur die im Array fields aufgeführten Felder zurück. Fordern Sie nur das an, was Sie benötigen – das Einschließen von dom oder screenshot kann zu großen Nutzlasten führen.

Häufige Anwendungsfälle

Füllen Sie ein Webformular aus

  • Wählen Sie mcp_browser_navigate aus, um die Zielseite zu öffnen.
  • Rufen Sie an mcp_browser_wait_for , um auf das Laden des Formulars zu warten.
  • Rufen Sie mcp_browser_type auf, um jedes Feld per CSS-Selektor auszufüllen.
  • Rufen Sie mcp_browser_click an, um das Formular einzureichen.
  • Rufen Sie an mcp_browser_wait_for , um auf das Bestätigungselement zu warten.
  • Rufen Sie an mcp_browser_get_text , um das Ergebnis zu lesen und zu bestätigen.

Automatisieren Sie eine Desktop-Anwendung

  • Rufen Sie mcp_desktop_activate_window an, um die Anwendung in den Vordergrund zu rücken.
  • Rufen Sie mcp_desktop_take_screenshot an, um den aktuellen Zustand zu erfassen.
  • Rufen Sie mcp_accessibility_find_ui_element an, um einen Button oder ein Feld mit Namen zu finden.
  • Rufen Sie mcp_desktop_click an den gemeldeten Koordinaten des Elements auf.
  • Rufen Sie mcp_desktop_type_text an, um Daten einzugeben.
  • Rufen Sie mcp_desktop_press_keys nach Abkürzungen (zum Beispiel zum Speichern). ["ctrl","s"]
  • Rufen Sie an mcp_desktop_take_screenshot , um das Ergebnis zu überprüfen.

Daten von einer Webseite extrahieren

  • Rufen Sie mcp_browser_navigate an, um die Seite zu öffnen.
  • Rufen Sie mcp_browser_get_text auf, um sichtbaren Textinhalte zu extrahieren.
  • Rufen Sie mcp_desktop_execute_python_code auf, um die extrahierten Daten zu parsen und zu verarbeiten.
  • Aufruf mcp_browser_eval_js zur Abfrage bestimmter Werte über JavaScript, wenn Textextraktion nicht ausreicht.

Ausführen von Entwicklungsaufgaben

  • Rufen Sie mcp_desktop_execute_shell_command für git pull, npm install und dotnet build an.
  • Aufruf mcp_desktop_take_screenshot zum Erfassen des Build-Outputs.
  • Rufen Sie an mcp_desktop_execute_python_code , um Protokolle oder Testergebnisse zu analysieren.
  • Rufe mcp_browser_navigate auf, um einen lokalen Entwicklungsserver im Browser zu öffnen.
  • Rufen Sie mcp_browser_screenshot auf, um die gerenderte Seite zu erfassen.

Lese- und Schreibdateien

  • Lesen Sie eine Datei unter Verwendung von mcp_desktop_execute_shell_command mit type C:\path\to\file.txt.
  • Schreibe eine Datei, indem du mcp_desktop_execute_python_code mit Python open(...) und write(...) verwendest.
  • Überprüfen Sie dies mit mcp_desktop_execute_shell_command und dir C:\path\to\output.txt.
  • Rufe mcp_accessibility_get_accessibility_tree auf, um die gesamte UI-Struktur zu verstehen.
  • Ruf auf, mcp_accessibility_find_ui_element um eine bestimmte Kontrolle zu finden (zum Beispiel role: "MenuItem", name: "Settings").
  • Rufen Sie mcp_desktop_click unter Verwendung der vom Element gemeldeten Koordinaten auf.
  • Ruf erneut an mcp_accessibility_find_ui_element , um die nächste Steuerung im Dialog zu finden.
  • Rufen Sie mcp_desktop_type_text an oder interagieren Sie mit mcp_desktop_click damit.

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.
  • mcp_desktop_get_screen_size ist kompakt und eignet sich gut als Heartbeat.