Windows 365 voor Agents MCP serverreferentie (preview)

Important

  • Dit is een preview-functie.
  • Preview-functies zijn niet bedoeld voor productiegebruik en bieden mogelijk beperkte functionaliteit. Voor deze functies gelden aanvullende gebruiksvoorwaarden. Bovendien zijn ze beschikbaar vóór een officiële release zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven.

Windows 365 voor Agents is een MCP-server voor volledige operationele controle over een Windows 365 cloud-pc. Gebruik deze MCP-server om een echte Windows omgeving te sturen via desktopinteractie (muis, toetsenbord, schermafbeelding, commando-uitvoering), browserautomatisering via Microsoft Edge en semantische UI-inspectie via Windows UI Automation.

Note

  • Bestaande verbindingen die eerdere versies van Microsoft MCP-servers gebruiken, blijven ondersteund.
  • Voor alle nieuwe verbindingen gebruik je de nieuwste Windows 365 Agents MCP-server, die tools beschikbaar stelt over desktop-, browser- en toegankelijkheidsmogelijkheden.
  • Browserautomatisering werkt op Microsoft Edge. Edge start automatisch bij de eerste browsertool-aanroep. focus_browser kan ook Chrome of Firefox targeten, maar DOM-niveau browsertools werken alleen op de Edge-instantie.

Voor meer informatie over Windows 365 voor agenten, zie Windows 365 voor documentatie van agenten.

Overview

Server ID Display name Description
mcp_W365AServer Windows 365 voor Agents MCP-server Volledige operationele controle over een Windows 365 cloud-pc, inclusief desktopinteractie, browserautomatisering en UI-inspectie.

Available tools

mcp_desktop_move_mouse

Verplaats de cursor naar een schermpositie. Gebruik mcp_desktop_click in plaats daarvan als je van plan bent op de bestemming te klikken.  Required parameters:

  • x: X-coördinaat in schermpixels
  • y: Y-coördinaat in schermpixels

mcp_desktop_click

Klik op een positie, of op de huidige cursorlocatie als coördinaten zijn weggelaten. Ondersteunt enkelvoudige klik, dubbelklik en alle vijf muisknoppen. 

Optional parameters:

  • x: X-coördinaat in schermpixels (weggelaten voor de huidige positie)

  • y: Y-coördinaat in schermpixels (weglating voor huidige positie)

  • button: Links, Rechts, Midden, Vooruit of Achteruit (standaard Links)

  • clickCount: 1 = enkele klik, 2 = dubbelklik (standaard 1)

mcp_desktop_get_cursor_position

Geef de huidige cursorcoördinaten terug. No parameters. Geeft {cursorX, cursorY} terug.

mcp_desktop_drag_mouse

Sleep van de ene positie naar de andere. Handig voor het verplaatsen van objecten, het aanpassen van de grootte van vensters of pixel-precieze scrolling. Required parameters:

  • startX: Start X-coördinaat.
  • startY: Start Y coördinat.
  • endX: Einde X-coördinat.
  • endY: Einde Y coördinaat. Optional parameters:
  • button: Links, Rechts of Midden (standaard is Links)

mcp_desktop_scroll

Scroll op een bepaalde positie met notch-units (geen pixels). Drie inkepingen zijn ongeveer één pagina. 

Required parameters:

  • x: Scrollpositie X

  • y: Scrollpositie Y

Optional parameters:

  • deltaX: Horizontale inkepingen, positief = rechts (standaard 0)
  • deltaY: Verticale inkepingen, positief = omlaag (standaard 0)

Note

Waarden worden vastgezet op het bereik [-20, 20]. 

mcp_desktop_type_text

Typ tekst via toetsenbordsimulatie. Voor sneltoetsen gebruik mcp_desktop_press_keysje . Voor webformuliervelden gebruik mcp_browser_type

Required parameters:

  • text: Tekst om te typen

mcp_desktop_press_keys

Druk tegelijkertijd op een toetscombinatie. Ondersteunt modifiertoetsen, functietoetsen en standaardtoetsen. 

Required parameters:

  • keys: Array van sleutelnamen om samen te drukken (bijvoorbeeld \["ctrl","c"\], \["alt","tab"\], ) \["ctrl","shift","s"\]

mcp_desktop_take_screenshot

Leg het volledige scherm of een bijgesneden regio vast als een PNG-afbeelding (base64-gecodeerd). 

Optional parameters:

  • x: Linkse rand van de cropregio
  • y: Bovenrand van de cropregio
  • width: Breedte van de gewasregio
  • height: Hoogte van de gewasregio

Note

Geef alle vier cropparameters tegelijk in, of laat ze weg voor een fullscreen-capture. 

mcp_desktop_analyze_screen

Voer OCR uit op het hele scherm. No parameters. Retourneert {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height}.

mcp_desktop_get_screen_size

Geef de schermresolutie terug. No parameters. Retourneert {width, height}.

mcp_desktop_list_windows

Vermeld alle zichtbare ramen met hun titels, posities en afmetingen. No parameters. Geeft een array van {title, processName, handle, x, y, width, height}terug.

mcp_desktop_activate_window

Breng een venster naar de voorgrond met een vage titelwedstrijd.

Required parameters:

  • titlePattern: Gedeeltelijke venstertitel (hoofdletters ongevoelige substring)

mcp_desktop_focus_browser

Focus op een browservenster (Edge, Chrome of Firefox), optioneel gefilterd op URL of titel.

Optional parameters:

  • pattern: URL of titelsubstring om overeen te komen (weggelaten voor elk browservenster)

mcp_desktop_close_window

Sluit een venster gracieus door een vage titelwedstrijd. Systeemkritische processen zijn beschermd en kunnen niet worden gesloten.

Required parameters:

  • titlePattern: Gedeeltelijke window-titel (80% matchdrempel). Retourneert {matchedTitle, processName, closed}.

mcp_desktop_execute_shell_command

Voer een shell-commando uit in een sandbox-omgeving. Commando's worden gevalideerd aan de hand van een toelaatlijst en gevaarlijke patronen worden geblokkeerd.

Required parameters:

  • command: Commando om uit te voeren

Optional parameters:

  • cwd: Werkgids
  • timeoutMs: Time-out in milliseconden (standaard 30000, maximaal 30000)

Note

  • Toegestane commando's: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, en type.
  • Geblokkeerde patronen omvatten shell-metacharacters (|, ;, &, <, ), >uitbreiding (%VAR%)van omgevingsvariabelen, interpreter-eval-vlaggen (python -c of node -e), git config --global, , npm -guitvoerbare bestanden met pad-prefix, rm -rf, , sudoen schijf/systeemcommando's.
  • stdout en stderr zijn elk afgeknott op 32 KB. Gebruik mcp_desktop_execute_python_code voor willekeurige berekeningen. Retourneert {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

mcp_desktop_execute_python_code

Voer Python-code uit in een sandbox-omgeving met beperkte middelen. Ideaal voor gegevensverwerking, berekeningen, bestands-I/O en elke berekening die verder gaat dan eenvoudige shell-commando's.

Required parameters:

  • code: Python code (maximaal 262.144 tekens).

Optional parameters:

  • cwd: Werkgids
  • timeoutMs: Time-out in milliseconden (standaard 30000, maximaal 30000).

Geeft hetzelfde schema terug als mcp_desktop_execute_shell_command

mcp_desktop_wait_milliseconds

Pauzeer de uitvoering om animaties of overgangen te laten voltooien. Gebruik het niet in polling-lussen—gebruik mcp_browser_wait_for het voor DOM-polling. 

Required parameters:

  • ms: Wachttijd in milliseconden (vastgeklemd op [0, 5000])

mcp_browser_navigate

Navigeer naar een URL en wacht tot de pagina geladen is. 

Required parameters:

  • url: Volledige URL inclusief protocol (bijvoorbeeld, https://example.com)

mcp_browser_back

Navigeer terug in de browsergeschiedenis. No parameters.

mcp_browser_forward

Navigeer vooruit in de browsergeschiedenis. No parameters.

mcp_browser_reload

Laad de huidige pagina opnieuw. No parameters.

mcp_browser_get_url

Geef de URL van de huidige pagina terug als een gewone string. No parameters.

mcp_browser_get_title

Geef de huidige paginatitel terug als een gewone string. No parameters.

mcp_browser_get_text

Geef de zichtbare paginatekst terug als een gewone string. No parameters. Afgeknott op 512 KB.

mcp_browser_get_html

Geef de volledige pagina HTML-bron terug als een gewone string. No parameters. Afgeknott op 512 KB.

mcp_browser_click

Klik op een DOM-element met de CSS-selector. Betrouwbaarder dan coördinatenklikken voor webinhoud.

Required parameters:

  • selector: CSS-selector (bijvoorbeeld, #submit-btn of a.nav-link)

mcp_browser_type

Typ tekst in een vormelement met de CSS-selector.

Required parameters:

  • selector: CSS selector van het invoerelement.
  • text: Tekst om te typen

mcp_browser_query_text

Krijg de tekstinhoud van het eerste element dat overeenkomt met een CSS-selector.

Required parameters:

  • selector: CSS selector

mcp_browser_wait_for

Wacht tot er een DOM-element verschijnt. Handig voor dynamische content die asynchroon laadt.

Required parameters:

  • selector: CSS selector om op te wachten

Optional parameters:

  • timeoutMs: Time-out in milliseconden (standaard 5000, maximaal 30000)

mcp_browser_eval_js

Evalueer een JavaScript expressie in de paginacontext en geef het resultaat terug als een string.

Required parameters:

  • expression: JavaScript expressie die een string teruggeeft

Note

Als je expressie een object of getal teruggeeft, converteer dit dan expliciet naar een string (bijvoorbeeld JSON.stringify(obj) of .toString()).

mcp_browser_list_tabs

Geef alle open tabbladen een lijst met hun index, title, en URL. No parameters. Geeft een array van {index, title, url}terug.

mcp_browser_switch_tab

Schakel over naar een tabblad via index.

Required parameters:

  • tabIndex: 0-gebaseerde tabindex

mcp_browser_new_tab

Open een nieuw tabblad en navigeer optioneel naar een URL.

Optional parameters:

  • url: URL om te openen (leeg tabblad als weggelaten)

Retourneert {index, title, url}.

mcp_browser_close_tab

Sluit een tabblad via index.

Required parameters:

  • tabIndex: 0-gebaseerde tabindex

mcp_browser_screenshot

Maak een PNG-screenshot van alleen het browservenster (niet het volledige scherm). No parameters. Geeft een base64-gecodeerde PNG terug.

mcp_accessibility_get_accessibility_tree

Haal de UI-elementenboom op voor het voorgrondvenster. Elk element bevat zijn rol, naam, waarde en schermcoördinaten.

Optional parameters:

  • maxDepth: Maximale boomdoorloopdiepte, 1-10 (standaard 3)
  • maxElements: Maximale elementen om terug te keren, 1-2000 (standaard 500)

Geeft een hiërarchische boom terug van {rol, naam, waarde, x, y, breedte, hoogte, kinderen[...]}.

mcp_accessibility_find_ui_element

Zoek naar UI-elementen op tekstinhoud, toegankelijkheidsrol of naam (hoofdletter-ongevoelige substring). Geeft elementen terug die overeenkomen met hun klikbare schermcoördinaten.

Optional parameters:

  • text: Tekst om naar te zoeken (gebruikt als naam als naam is weggelaten)
  • role: UI-rolfilter — Button, , TextBox, CheckBox, MenuItem, ComboBox, en meer
  • name: Toegankelijke naam (gaat voor boven tekst als beide worden vermeld)
  • windowHandle: Doelvensterhandvat (null = voorgrondvenster)

Note

Er moet minstens één van tekst, rol of naam worden vermeld. Geeft een array van {role, name, value, x, y, width, height}terug.

Key features

Desktop interaction

  • Klik, dubbelklik, rechtsklik en vijf-knoppen muisbesturing.
  • Pixel-nauwkeurige drag-and-drop.
  • Inkepingsgebaseerd scrollen (drie inkepingen ≈ één pagina).
  • Toetsenbordtypen en combinaties met meerdere toetsen.
  • Cursorpositie-tracking.
  • Detectie van schermresolutie.

Schermopname en analyse

  • Volledig scherm of bijgesneden PNG-screenshots.
  • OCR van het volledige scherm met betrouwbaarheidsscores per regio en bounding boxes.
  • Alleen schermafbeeldingen van webinhoud die alleen in browserweergave beschikbaar zijn.

Window management

  • Somm alle zichtbare ramen op met posities en afmetingen.
  • Activeer Windows door een vaag titelwedstrijd.
  • Focus browservensters (Edge, Chrome, Firefox) optioneel gefilterd op URL of titel.
  • Gracieuze raamsluiting met bescherming voor systeemkritische processen.

Command execution

  • Sandboxed shell-commando's met een toelaatlijst (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
  • Sandboxed Python uitvoering tot 262.144 tekens code.
  • Werkdirectory- en per-call timeout-controle (maximaal 30 seconden).
  • Resourcelimieten en een lijst van hardened block tegen shell-metacharacters, eval-flags, privilege-escalatie en destructieve operaties.

Browser automation

  • Navigeren, achteruit, vooruit, herladen.
  • Lees paginaURL, titel, zichtbare tekst (512 KB cap) en volledige HTML (512 KB cap).
  • DOM-niveau klik-, type- en tekstquery door de CSS-selector.
  • Wacht op dynamische elementen met configureerbare timeout.
  • Evalueer JavaScript expressies in de context van de pagina.
  • Multi-tabbeheer: lijst, wisselen, openen, sluiten.
  • Draait op Microsoft Edge, start automatisch bij eerste gebruik.

UI accessibility

  • Haal de Windows UI Automation tree op voor het voorgrondvenster met configureerbare diepte en aantal elementen.
  • Zoek UI-elementen op tekst, rol of toegankelijke naam.
  • Geeft klikbare schermcoördinaten terug voor nauwkeurige targeting van knoppen, tekstvakjes, selectievakjes, menu-items en combinatievakjes.

Timing en synchronisatie

  • Korte one-shot pauzes via mcp_desktop_wait_milliseconds (maximaal vijf seconden).
  • DOM-niveau polling via mcp_browser_wait_for (maximaal 30 seconden).

Notes

  • Alle coördinaten staan in schermpixels met (0,0) linksboven. Coördinaten uit mcp_desktop_take_screenshot, mcp_desktop_analyze_screen, , mcp_accessibility_find_ui_elementen mcp_desktop_list_windows delen allemaal dezelfde coördinatenruimte.
  • Een cursor-failsafe is actief: Als de cursor binnen vijf pixels van een schermhoek beweegt, worden muisbewerkingen geannuleerd. Vermijd het mikken op de uiterste randen van het scherm.
  • Shell pipe operators (|), puntkomma's (;), amperzanden (&) en output redirection (>, <) worden geblokkeerd. Om de uitvoer van het commando te transformeren, leg je het vast en verwerk je het met mcp_desktop_execute_python_code.
  • Als interpreter-eval-vlaggen worden geblokkeerd of als python -c "..." en node -e "..." worden afgewezen, kun je mcp_desktop_execute_python_code gebruiken voor Python code, of eerst code schrijven naar een bestand.
  • Het commando stdout/stderr is afgekort met 32 KB per stuk. Gebruik vlaggen om de uitvoer van de omzette te beperken (bijvoorbeeld git log --oneline -20) of stuur het om naar een bestand en lees het apart.
  • De maximale time-out voor mcp_desktop_execute_shell_command en mcp_desktop_execute_python_code is 30 seconden. Voor langer werk kun je het opdelen in kleinere stappen of een achtergrondproces starten vanuit Python en pollen.
  • Er is geen speciale lees-/schrijftool voor bestanden. Lees bestanden met mcp_desktop_execute_shell_command met het commando type; schrijf bestanden met mcp_desktop_execute_python_code met behulp van de ingebouwde bestands-I/O van Python. Shell-uitvoeromleiding (>, >>) wordt geblokkeerd.
  • mcp_browser_eval_js Geeft altijd een snaar terug. Converteer objecten of nummers expliciet voordat je teruggaat.
  • Browser DOM-tools (mcp_browser_click, mcp_browser_type, mcp_browser_eval_js, enz.) werken alleen op de Microsoft Edge instantie.  mcp_desktop_focus_browser kan Chrome of Firefox op vensters focussen, maar DOM-tools richten zich niet op hen.
  • mcp_desktop_take_screenshot vereist alle vier cropparameters (x, y, breedte, hoogte) samen, of geen enkele voor een full-screen capture.
  • mcp_desktop_scroll gebruikt inkepingsunits (vastgeklemd aan [-20, 20]), geen pixels. Drie inkepingen zijn ongeveer één pagina.
  • mcp_accessibility_find_ui_element vereist minstens één van tekst, rol of naam. Wanneer zowel tekst als naam worden gegeven, krijgt naam voorrang.

Veelvoorkomende gebruiksvoorbeelden

Vul een webformulier in

  • Bel mcp_browser_navigate om de doelpagina te openen.
  • Bel mcp_browser_wait_for om te wachten tot het formulier geladen is.
  • Roep mcp_browser_type aan om elk veld te vullen met de CSS-selector.
  • Bel mcp_browser_click om het formulier in te dienen.
  • Bel mcp_browser_wait_for om te wachten op het bevestigingselement.
  • Bel mcp_browser_get_text om het resultaat te lezen en te verifiëren.

Automatiseer een desktopapplicatie

  • Bel mcp_desktop_activate_window om de aanvraag naar de voorgrond te brengen.
  • Bel mcp_desktop_take_screenshot om de huidige staat vast te leggen.
  • Bel mcp_accessibility_find_ui_element om een knop of veld op naam te vinden.
  • Roep mcp_desktop_click de gerapporteerde coördinaten van het element op.
  • Bel mcp_desktop_type_text om gegevens in te voeren.
  • Roep mcp_desktop_press_keys sneltoetsen op (bijvoorbeeld ["ctrl","s"] om op te slaan).
  • Bel mcp_desktop_take_screenshot om het resultaat te verifiëren.

Gegevens van een webpagina extraheren

  • Bel mcp_browser_navigate om de pagina te openen.
  • Roep mcp_browser_get_text op om zichtbare tekstinhoud te extraheren.
  • Roep mcp_desktop_execute_python_code aan om de geëxtraheerde data te parsen en te verwerken.
  • Roep aan om specifieke waarden via JavaScript te bevragen mcp_browser_eval_js wanneer tekstextractie niet voldoende is.

Voer ontwikkeltaken uit

  • Roep mcp_desktop_execute_shell_command op , git pullnpm install, en dotnet build.
  • Roep mcp_desktop_take_screenshot om de buildoutput vast te leggen.
  • Bel mcp_desktop_execute_python_code om logs of testresultaten te analyseren.
  • Bel mcp_browser_navigate om een lokale ontwikkelserver in de browser te openen.
  • Roep mcp_browser_screenshot op om de gerenderde pagina vast te leggen.

Lees en schrijf bestanden

  • Lees een bestand met mcp_desktop_execute_shell_command behulp van type C:\path\to\file.txt.
  • Schrijf een bestand met mcp_desktop_execute_python_code met Python's open(...) en write(...).
  • Controleer met het gebruik van mcp_desktop_execute_shell_commanddir C:\path\to\output.txt.
  • Bel mcp_accessibility_get_accessibility_tree om de volledige UI-structuur te begrijpen.
  • Roep mcp_accessibility_find_ui_element om een specifieke besturing te vinden (bijvoorbeeld rol: "MenuItem", naam: "Instellingen").
  • Bel mcp_desktop_click met de gerapporteerde coördinaten van het element.
  • Bel mcp_accessibility_find_ui_element opnieuw om de volgende controle in de dialoog te vinden.
  • Bel mcp_desktop_type_text of mcp_desktop_click om ermee te communiceren.

Houd een langlopende sessie levend

  • Stuur elk MCP-verzoek minstens eens per 30 minuten om stationaire uitzetting te voorkomen.
  • mcp_desktop_get_screen_size is lichtgewicht en werkt goed als een hartslag.