Windows 365 voor agent-MCP-serverreferenties

Note

Dit artikel beschrijft functies die worden gebruikt in agenten of agentstromen die gebruikmaken van het standard harness.

Windows 365 voor Agents is een MCP-server die je volledige operationele controle geeft 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

Browserautomatisering werkt op Microsoft Edge. Edge start automatisch bij de eerste browsertool-aanroep. focus_browser kan ook Chrome of Firefox aansturen, maar browserhulpprogramma's op DOM-niveau werken alleen op de Edge-instantie.

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

Overzicht

Server-ID URL op tenantniveau Weergavenaam Description
mcp_W365ComputerUse https://agent365.svc.cloud.microsoft/
agents/tenants/{tenantId}/
servers/mcp_W365ComputerUse
Windows 365 voor Agents MCP-server Volledige operationele controle over een Windows 365 cloud-pc, inclusief desktopinteractie, browserautomatisering en UI-inspectie.

Beschikbare hulpmiddelen

mcp_W365ComputerUse_StartSession

Start een Windows 365 Computergebruik-sessie, die verbinding maakt met een cloud-pc en een cloud-pc-resource toewijst. Geeft de sessionId terug die gebruikt kan worden om de sessie te beheren.

Geen vereiste parameters.

mcp_W365ComputerUse_EndSession

Beëindigt een actieve Windows 365 Computergebruik-sessie en geeft de bijbehorende cloud-pc-resources vrij. Geef de sessionId door die is geretourneerd door mcp_W365ComputerUse_StartSession.

Vereiste parameters: sessionId

mcp_W365ComputerUse_GetSessionDetails

Geeft metadata terug voor één Windows 365 Computergebruik-sessie geïdentificeerd door de sessionId. Geef de sessionId door die wordt teruggegeven door mcp_W365ComputerUse_StartSession. Er staan geen meerdere sessies vermeld.

Vereiste parameters: sessionId

muis_verplaatsen

Hiermee verplaatst u de cursor naar een schermpositie. Gebruik click in plaats daarvan als je van plan bent op de bestemming te klikken. Vereiste parameters:

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

click

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

Optionele parameters:

  • x: X-coördinaat in schermpixels (weggelaten voor de huidige positie)
  • y: Y-coördinaat in schermpixels (weggelaten voor de huidige positie)
  • muisknop: Links, Rechts, Middelste, Vooruit of Terug (standaard: Links)
  • clickCount: 1 = enkele klik, 2 = dubbele klik (standaard 1)

get_cursor_position

Retourneert de huidige cursorcoördinaten. Geen parameters. Geeft {cursorX, cursorY} terug.

drag_mouse

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

  • startX: Start-X-coördinaat.
  • startY: Y-begincoördinaat.
  • endX: X-eindcoördinaat.
  • endY: Y-eindcoördinaat. Optionele parameters:
  • knop: Links, Rechts of Middelste (standaard is Links)

scrollen

Schuift op een positie met behulp van notcheenheden, niet pixels. Drie streepjes zijn ongeveer een pagina.

Vereiste parameters:

  • x: Scrollpositie x
  • y: Y-scrollpositie

Optionele parameters:

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

Note

Waarden worden beperkt tot het bereik [-20, 20].

type_text

Typt tekst door toetsenbordinvoer te simuleren. Voor sneltoetsen, gebruik press_keys. Voor webformuliervelden gebruik browser_type.

Vereiste parameters:

  • Tekst: Tekst om te typen.

Optionele parameters:

  • usePaste: tekst van het klembord plakken in plaats van te typen.

press_keys

Drukt tegelijkertijd op een toetsencombinatie. Ondersteunt modifiertoetsen, functietoetsen en standaardtoetsen.

Vereiste parameters:

  • Toetsen: Array van toetsnamen om samen in te drukken (bijvoorbeeld ["ctrl","c"], ["alt","tab"], ) ["ctrl","shift","s"]

maak_schermafbeelding

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

Optionele parameters:

  • x: Linkerrand van het cropgebied
  • y: Bovenrand van de cropregio
  • breedte: breedte van het cropgebied.
  • hoogte: Hoogte van de gewasregio

Note

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

zoom_region

Legt een schermgebied vast op native resolutie als een PNG-afbeelding (base64-gecodeerd). Gebruik deze functie om kleine tekst of dichte UI-elementen te inspecteren die moeilijk te lezen zijn in een verkleinde volledige schermafbeelding.

Vereiste parameters:

  • x: Linkerrand X-coördinaat in schermpixels
  • y: Y-coördinaat van de bovenrand in schermpixels
  • breedte: Breedte van de regio in pixels
  • hoogte: Hoogte van de regio in pixels

Note

De maximale regiogrootte is 1920x1080 pixels.

analyze_screen

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

get_screen_size

Geeft de schermresolutie terug. Geen parameters. Retourneert {width, height}.

list_windows

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

activate_window

Brengt een venster naar de voorgrond met behulp van een fuzzy titelovereenkomst.

Vereiste parameters:

  • title: deel van de venstertitel (subtekenreeks zonder onderscheid tussen hoofdletters en kleine letters)

focus_browser

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

Optionele parameters:

  • patroon: URL of titel-substring om te matchen (weggelaten voor elk browservenster)

venster_sluiten

Sluit een venster probleemloos met behulp van een fuzzy titelovereenkomst. Het systeem beschermt kritieke processen en je kunt ze niet sluiten.

Vereiste parameters:

  • title: deel van de venstertitel (80% overeenkomstdrempel). Retourneert {matchedTitle, processName, closed}.

venster_formaat_wijzigen

Wijzigt het formaat van een venster, verplaatst, maximaliseert, minimaliseert of herstelt het met behulp van een benaderende overeenkomst van de titel.

Vereiste parameters:

  • titel: Window titel om te matchen (hoofdletter-ongevoelige fuzzy match)
  • actie: Handeling die uitgevoerd moet worden - Resize, , Move, Maximize, Minimize, of Restore

Optionele parameters:

  • x: Linkerrand x-coördinaat (gebruikt met Resize of Move)
  • y: Y-coördinaat van bovenrand (gebruikt met Resize of Move)
  • breedte: Breedte in pixels (gebruikt met Resize)
  • hoogte: hoogte in pixels (gebruikt met Resize)

execute_shell_command

Voert een shellopdracht uit in een sandboxomgeving. Het commando wordt gecontroleerd aan de hand van een toestaanlijst en gevaarlijke patronen worden geblokkeerd.

Vereiste parameters:

  • commando: Commando om uit te voeren

Optionele parameters:

  • cwd: Werkmap. Gebruik voorwaartse sneden (bijvoorbeeld C:/Users/me/project).
  • timeoutMs: time-out in milliseconden (standaard 30000, maximaal 120000)

Note

  • Toegestane commando’s: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type en notepad.
  • Geblokkeerde patronen omvatten shell-metatekens (|, ;, &, <, >), expansie van omgevingsvariabelen (%VAR%), eval-vlaggen van interpreters (python -c of node -e), git config --global, npm -g, uitvoerbare bestanden met een padprefix, rm -rf, sudo en schijf- of systeemopdrachten.
  • De stdout en stderr van de opdracht worden beide afgekapt op 32 KB. Voor willekeurige berekeningen gebruik execute_python_code. De opdracht retourneert {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

execute_python_code

Voert Python-code uit in een sandboxomgeving met resourcebeperkingen. Deze functie is ideaal voor gegevensverwerking, berekeningen, bestands-I/O en elke berekening die verder gaat dan eenvoudige shell-commando's.

Vereiste parameters:

  • code: Python code (maximaal 262.144 tekens).

Optionele parameters:

  • cwd: Werkmap. Gebruik voorwaartse slagen.
  • timeoutMs: time-out in milliseconden (standaard 30000, maximaal 120000).

Geeft hetzelfde schema terug als execute_shell_command.

Note

De sandbox handhaaft een geheugenlimiet van 512 MB en een timeout van 30 seconden.

wait_milliseconds

Pauzeert de uitvoering om animaties of overgangen te laten voltooien. Gebruik deze functie niet in polling-lussen. Gebruik het in plaats daarvan browser_wait_for voor DOM-polling.

Vereiste parameters:

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

klembord_lezen

Leest de huidige inhoud van het systeemklembord. Dit commando vereist geen parameters. Het geeft een JSON-object terug dat het klembordformaat en de payload beschrijft, wat zowel een tekststring als een base64-gecodeerde afbeelding kan zijn.

clipboard_write

Schrijft tekst naar het systeemklembord en vervangt de huidige inhoud.

Vereiste parameters:

  • Tekst: Tekst om naar het klembord te schrijven

Geeft een bevestiging terug die het aantal tekens bevat.

list_processes

Geeft een lijst van lopende processen in de huidige sessie. Elke invoer bevat de PID, procesnaam, geheugengebruik, venstertitel (indien aanwezig) en startTimeTicks. Koppel startTimeTicks aan kill_process om te voorkomen dat een gerecyclede PID wordt beëindigd.

Optionele parameters:

  • maxCount: Maximaal aantal processen dat moet worden teruggegeven (standaard 200)

Geeft een JSON-array van procesinformatieobjecten terug.

kill_process

Hiermee beëindigt u een proces per PID. Geef de startTime-waarde van list_processes door om hergebruik van PID's te voorkomen.

Vereiste parameters:

  • pid: Proces-ID geretourneerd door list_processes
  • startTime: Starttijden van het proces worden teruggegeven door list_processes

Optionele parameters:

  • force: Force-kill zonder een gracieuze afsluiting (standaard vals)

Geeft een JSON-resultaat terug dat het resultaat beschrijft.

toepassing_starten

Hiermee start u een GUI-toepassing vanuit een toegestane map. Gebruik in plaats daarvan execute_shell_command voor CLI-commando's.

Vereiste parameters:

  • pad: Absoluut pad naar het uitvoerbare bestand. Gebruik voorwaartse sneden (bijvoorbeeld C:/Program Files/app.exe).

Optionele parameters:

  • args: Array van command-line argumenten

Retourneert {path, pid}.

get_system_info

Geeft de OS-versie, CPU, RAM, beschikbare schijfruimte en beeldresolutie terug. Geen parameters. Geeft een JSON-object terug met de systeeminformatie.

browser_navigate

Navigeert naar een URL en wacht tot de pagina laadt.

Vereiste parameters:

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

Terug

Navigeert terug in de browsergeschiedenis. Geen parameters.

browser_forward

Navigeert vooruit in de browsergeschiedenis. Geen parameters.

browser_reload

Laadt de huidige pagina opnieuw. Geen parameters.

browser_get_url

Geeft de URL van de huidige pagina terug als een gewone string. Geen parameters.

browser_get_title

Geeft de huidige paginatitel terug als een gewone string. Geen parameters.

browser_get_text

Geeft de zichtbare paginatekst terug als een gewone string. Geen parameters. Afgekapt op 512 KB.

browser_get_html

Geeft de volledige pagina HTML-bron terug als een gewone string. Geen parameters. Afgekapt op 512 KB.

browser_get_page_state

Haalt meerdere pagina-statusvelden op in één aanroep. Handig om meerdere signalen tegelijk op te vangen zonder aparte gereedschapsoproepen te geven.

Vereiste parameters:

  • velden: array met velden die moeten worden geretourneerd. Toegestane waarden: url, title, dom, screenshot, tabs

Geeft een JSON-object terug dat alleen de gevraagde velden bevat.

browser_click

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

Vereiste parameters:

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

browser_type

Typt tekst in een formulierelement door gebruik te maken van een CSS-selector.

Vereiste parameters:

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

browser_query_text

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

Vereiste parameters:

  • selector: CSS selector.

browser_wait_for

Wacht tot er een DOM-element verschijnt. Deze functie is nuttig voor dynamische content die asynchroon laadt.

Vereiste parameters:

  • selector: CSS-selector om op te wachten.

Optionele parameters:

  • timeoutMs: Time-out in milliseconden. De standaard is 5.000 en het maximum is 30.000.

browser_eval_js

Evalueert een JavaScript-expressie in de paginacontext en geeft het resultaat terug als een string.

Vereiste parameters:

  • expressie: 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()).

browser_list_tabs

Geeft alle open tabbladen een lijst met hun index, titel en URL. Er zijn geen parameters vereist. Geeft een array van {index, title, url}terug.

Optionele parameters:

  • tabId: unieke tabbladidentificatie

browser_switch_tab

Schakelt over naar een tabblad via index.

Vereiste parameters:

  • tabIndex: 0-gebaseerde tabindex

Optionele parameters:

  • tabId: unieke tabbladidentificatie

browser_new_tab

Hiermee opent u een nieuw tabblad, optioneel navigeren naar een URL.

Optionele parameters:

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

Retourneert {index, title, url}.

browser_tabbladen_aanmaken

Hiermee opent u meerdere tabbladen tegelijk. Breng er optioneel één naar de voorgrond.

Vereiste parameters:

  • URL's: Array van URL's om te openen, één tabblad per URL

Optionele parameters:

  • foregroundIndex: Index van het tabblad om na het aanmaken naar de voorgrond te brengen (weglaten om het huidige tabblad gefocust te houden)

Geeft een sms-bevestiging terug.

browser_close_tab

Hiermee sluit u een tabblad per index.

Vereiste parameters:

  • tabIndex: 0-gebaseerde tabindex Optionele parameters:

  • tabId: unieke tabbladidentificatie

browser_schermafbeelding

Hiermee wordt alleen een PNG-schermopname van de viewport van de browser vastgelegd (niet het volledige scherm). Geen parameters. Geeft een base64-gecodeerde PNG terug.

browser_select_option

Selecteert een of meer opties in een <select> element op basis van het value kenmerk.

Vereiste parameters:

  • selector: CSS-selector voor het <select> element
  • Waarden: Array van optiewaarde(n) om te selecteren

Geeft een bevestiging terug met het aantal geselecteerde opties.

browser_fill_form

Vul meerdere formuliervelden in één gesprek. Elk item bestaat uit een {selector, value}-paar. De operatie stopt bij de eerste mislukking en rapporteert welke velden zijn geslaagd.

Vereiste parameters:

  • velden: Array met {selector, value} paren

Geeft een bevestiging terug met het aantal gevulde velden.

browser_drag

Sleept een bronelement naar een doelelement. Beide elementen worden geïdentificeerd door de CSS-selector.

Vereiste parameters:

  • sourceSelector: CSS-selector van de drag-bron
  • targetSelector: CSS-selector van het dropdoel

browser_pdf_save

Slaat de huidige pagina op als pdf-bestand. Bestemmingspaden zijn beperkt tot %USERPROFILE% of %TEMP%.

Vereiste parameters:

  • filePath: Pad naar het doelbestand onder %USERPROFILE% of %TEMP%. Gebruik voorwaartse slagen.

Geeft een bevestiging terug inclusief het opgeslagen bestandspad.

browser_handle_dialog

Hiermee accepteert of annuleert u een openstaand browserdialoogvenster (waarschuwing, bevestiging, promptvenster of beforeunload). Geeft "Geen dialoog in behandeling" terug als er geen dialoog actief is.

Vereiste parameters:

  • actie: accept of dismiss

Optionele parameters:

  • promptText: Tekst om aan een promptdialoog te geven (genegeerd voor alert en bevestigen)

browser_get_cookies

Hiermee worden cookies voor de huidige pagina of voor een opgegeven set URL's opgeslagen. Cookiewaarden worden altijd geredigeerd voor de veiligheid; namen, domeinen, paden en vlaggen worden teruggegeven.

Optionele parameters:

  • urls: lijst met URL's waarvoor cookies moeten worden opgehaald (laat dit weg voor de huidige pagina)

Geeft een array van cookie-objecten met geredigeerde waarden terug.

browser_set_cookies

Hiermee stelt u cookies in op het domein van de huidige pagina. Met deze actie worden cookies toegevoegd of overschreven, maar worden bestaande cookies niet gewist.

Vereiste parameters:

  • cookies: Array van cookie-objecten. Elke inzending vereist name en value. Optionele velden: domain, path, secure, httpOnly, . sameSite

Geeft een sms-bevestiging terug.

browser_execute_batch

Hiermee worden meerdere browseracties opeenvolgend uitgevoerd in één aanroep. Deze actie stopt bij de eerste mislukking en geeft de tot dat moment verzamelde resultaten terug.

Vereiste parameters:

  • acties: array met {action, params} objecten. Toegestane acties: navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, wait_for, , . eval_js

Geeft een array van resultaten terug, één per uitgevoerde actie.

browser_snapshot

Legt de toegankelijkheidsboom van de pagina vast met stabiele ref-ID's (bijvoorbeeld e5) die worden toegewezen aan DOM-nodes. Gebruik de referens met browser_click_ref, browser_type_ref, en browser_hover_ref. Referenties verlopen wanneer de pagina navigeert—maak een snapshot opnieuw na het navigeren.

Optionele parameters:

  • maxDepth: Maximale boomdiepte, 1-10 (standaardwaarde 5)
  • includeIframes: Cross-origin-iframes opnemen (standaard true)

Geeft een JSON-object terug met de toegankelijkheidssnapshot en ref-ID's.

browser_click_ref

Klikt op een element met referentie-ID uit browser_snapshot. Een hit-test controleert dat geen enkel ander element het doelelement bedekt. Mislukt als de momentopname vervalt—maak in dat geval opnieuw een momentopname.

Vereiste parameters:

  • snapshotId: Snapshot-ID geretourneerd door browser_snapshot
  • ref: Element ref (bijvoorbeeld e5) uit de snapshot-knooppunten

Optionele parameters:

  • knop: Links, Rechts of Middelste (standaard: Links)
  • clickCount: 1 = enkele klik, 2 = dubbele klik (standaard 1)

Geeft een bevestiging terug met de aangeklikte coördinaten.

browser_type_ref

Typt tekst in een element door gebruik te maken van de ref-ID uit browser_snapshot. Het element wordt eerst gefocust en bestaande tekst wordt standaard gewist. De bewerking mislukt als de snapshot verloopt.

Vereiste parameters:

  • snapshotId: Snapshot-ID geretourneerd door browser_snapshot
  • ref: Element ref (bijvoorbeeld e5) uit de snapshot-knooppunten
  • text: Tekst om in te voeren

Optionele parameters:

  • clear: Verwijder eerst bestaande tekst (standaard waar)

Geeft een bevestiging terug die het aantal tekens bevat.

browser_hover_ref

Beweegt de muis over een element door de ref-ID van browser_snapshotte gebruiken. Retourneert onmiddellijk. De operatie mislukt als de snapshot verloopt - neem dan de snapshot opnieuw.

Vereiste parameters:

  • snapshotId: Snapshot-ID geretourneerd door browser_snapshot
  • ref: Element ref (bijvoorbeeld e5) uit de snapshot-knooppunten

Geeft een bevestiging terug met de hovercoördinaten.

get_accessibility_tree

Haalt de elementstructuur van de gebruikersinterface voor het voorgrondvenster op. Elk element bevat zijn rol, naam, waarde en schermcoördinaten.

Optionele parameters:

  • maxDepth: Maximale doorloopdiepte van de boom, 1-10 (standaard 3)
  • maxElements: Maximaal aantal elementen om terug te geven, 1-2000 (standaard 500)

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

browser_keypress_ref

Drukt één toets in voor een element via referentie-ID van browser_snapshot. Het element krijgt eerst de focus. Ondersteunt modifiertoetsen. Mislukt als de snapshot is verlopen — maak de snapshot dan opnieuw.

Vereiste parameters:

  • snapshotId: Snapshot-ID geretourneerd door browser_snapshot
  • ref: Element ref (bijvoorbeeld e5) uit de snapshot-knooppunten
  • sleutel: Sleutelnaam — bijvoorbeeld Enter, Escape, Tab, , ArrowUp, , ArrowDown, of F1F12

Optionele parameters:

  • modifiers: Reeks modifiertoetsen die ingedrukt moeten worden tijdens het drukken — Ctrl, , Shift, Altof Meta

Geeft een sms-bevestiging terug.

browser_scroll_ref

Hiermee schuift u een element in beeld door de verwijzings-id van browser_snapshot. Schuift desgewenst door een pixel-delta binnen het element. Mislukt als de snapshot verloopt.

Vereiste parameters:

  • snapshotId: Snapshot-ID geretourneerd door browser_snapshot
  • ref: Element ref (bijvoorbeeld e5) uit de snapshot-knooppunten

Optionele parameters:

  • deltaX: Horizontale scroll delta in pixels (standaard 0)
  • deltaY: Verticale scrolldelta in pixels (standaardwaarde: 0)

Geeft een sms-bevestiging terug.

browser_set_file_input_ref

Stelt bestanden in op een bestandinvoerelement via de referentie-ID van browser_snapshot. Bestandspaden zijn beperkt tot de DocumentsDownloads, , Desktop, of %TEMP% mappen van de gebruiker.

Vereiste parameters:

  • snapshotId: Snapshot-ID geretourneerd door browser_snapshot
  • ref: Element ref voor de bestandsinvoer
  • filePaths: Array van bestandspaden om te uploaden

Geeft een sms-bevestiging terug.

find_ui_element

Hiermee zoekt u gebruikersinterface-elementen op tekstinhoud, toegankelijkheidsrol of naam (hoofdletterongevoelige deeltekenreeks). Geeft elementen terug die overeenkomen met hun klikbare schermcoördinaten.

Optionele parameters:

  • Tekst: Tekst om te zoeken (wordt als naam gebruikt als de naam is weggelaten)
  • rol: UI-rolfilter - Button, TextBox, CheckBox, MenuItem, ComboBox, en meer
  • naam: Toegankelijke naam (gaat voorrang boven tekst als beide worden opgegeven)
  • windowHandle: Doelvensterhandle (null = voorgrondvenster)

Belangrijkste kenmerken

Bureaubladinteractie

  • Klikken, dubbelklikken, rechtsklikken en bediening met een muis met vijf knoppen.
  • Nauwkeurig slepen en neerzetten tot op de pixel.
  • Inkepingsgebaseerd scrollen (drie inkepingen ≈ één pagina).
  • Typen op het toetsenbord en sneltoetscombinaties met meerdere toetsen.
  • Het bijhouden van de cursorpositie.
  • 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.

Vensterbeheer

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

Opdrachtuitvoering

  • Sandbox-shell-opdrachten met een acceptatielijst (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
  • Sandbox Python-uitvoering tot maximaal 262.144 tekens aan code.
  • Beheer van time-outs voor de werkmap en per aanroep (maximaal 30 seconden).
  • Resourcebeperkingen en een versterkte blokkeerlijst voor shell-metatekens, eval-vlaggen, privilege-escalatie en destructieve bewerkingen.

Browserautomatisering

  • Navigeren, achteruit, vooruit, herladen en instelbare wachtcondities bij navigatie (load, networkidle0, ). networkidle2
  • Lees de pagina-URL, titel, zichtbare tekst (512 KB cap) en volledige HTML (512 KB cap).
  • Geconsolideerde paginastatusopvraging — URL, titel, DOM, screenshot en tabbladlijst in één aanroep.
  • DOM-niveau klik, typ, formulier invullen, slepen en <select> opties selecteren met de CSS-selector.
  • Toegankelijkheidssnapshot-gebaseerde interactie via ref-ID — klik, typ, zweef, toetsdruk met modificatoren, scrollen en uploaden van bestandinvoer.
  • Wacht op dynamische elementen met configureerbare timeout, waarbij optioneel zichtbaarheid vereist is.
  • Evalueer JavaScript-expressies binnen de context van de pagina.
  • Multi-tabbeheer: lijst, wissel, één of meerdere tegelijk openen en afsluiten.
  • Cookie-inspectie (waarden geredigeerd) en toewijzing op het huidige domein.
  • Batch-actie uitvoering — meerdere browserstappen in één aanroep opvolgen, stoppen bij de eerste mislukking.
  • Sla de huidige pagina op als PDF onder %USERPROFILE% of %TEMP%.
  • Dialoogafhandeling voor alert, confirm, , prompten beforeunload.
  • Draait op Microsoft Edge, start automatisch bij eerste gebruik.

Toegankelijkheid van gebruikersinterface

  • 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

  • Gebruik wait_milliseconds deze voor korte one-shot pauzes (tot vijf seconden).
  • Gebruik browser_wait_for het voor polling op DOM-niveau (tot 30 seconden).

Aantekeningen

  • Alle coördinaten staan in schermpixels met (0,0) linksboven. Coördinaten uit take_screenshot, analyze_screen, , find_ui_elementen 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 execute_python_code.
  • Als interpreter-eval-vlaggen worden geblokkeerd of als python -c "..." en node -e "..." worden afgewezen, kun je 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 opties om uitgebreide uitvoer te beperken (bijvoorbeeld git log --oneline -20) of leid deze om naar een bestand en lees die afzonderlijk.
  • De maximale time-out voor execute_shell_command en 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 execute_shell_command met de opdracht type. Schrijf bestanden met execute_python_code met behulp van de ingebouwde bestands-I/O van Python. Shell-uitvoeromleiding (>, >>) wordt geblokkeerd.
  • browser_eval_js retourneert altijd een tekenreeks. Converteer objecten of nummers expliciet voordat je teruggaat.
  • Browser DOM-tools (browser_click, browser_type, browser_eval_js en andere) werken alleen op de Microsoft Edge instantie.  focus_browser kan de focus zetten op vensters van Chrome of Firefox, maar DOM-tools kunnen die niet als doel gebruiken.
  • take_screenshot vereist alle vier cropparameters (x, y, breedte, hoogte) samen, of geen enkele voor een full-screen capture.
  • scroll gebruikt notch-eenheden (begrensd tot [-20, 20]), geen pixels. Drie streepjes is ongeveer een pagina.
  • find_ui_element vereist minstens één van tekst, rol of naam. Wanneer zowel tekst als naam worden gegeven, krijgt naam voorrang.
  • browser_snapshot Referenties verlopen bij navigatie. Als een _ref tool (klik, typ, zweef, toetsindrukken, scrollen of bestandsinvoer instellen) faalt omdat de snapshot verouderd is, neem dan de snapshot opnieuw en probeer het opnieuw.
  • browser_set_file_input_ref accepteert alleen bestandspaden onder de Documents, Downloads, Desktop, %TEMP% of mappen van de gebruiker. Bestanden buiten die locaties worden afgewezen.
  • browser_get_cookies Geeft altijd geredigeerde cookiewaarden terug. Gebruik het voor inspectie—namen, domeinen, paden en vlaggen worden volledig teruggegeven, maar waarden worden niet blootgesteld.
  • browser_set_cookies voegt alleen cookies toe of overschrijft deze. Het verwijdert de bestaande cookies niet. Om een cookie te verwijderen, overschrijf je deze met een verlopen expires waarde via deze tool, of wis je deze via de pagina zelf.
  • browser_execute_batch stopt bij de eerste mislukte actie en geeft alleen de tot dan toe verzamelde resultaten terug. Daaropvolgende acties in de array worden niet uitgevoerd. Toegestane batchacties zijn beperkt tot: navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, wait_for en eval_js.
  • browser_create_tabs opent tabbladen in de opgegeven volgorde. Als foregroundIndex wordt weggelaten, blijft de focus op het tabblad dat momenteel actief is.
  • browser_get_page_state geeft alleen de velden terug die in de fields array zijn vermeld. Vraag alleen op wat je nodig hebt – het opnemen van dom of screenshot kan grote payloads veroorzaken.

Veelvoorkomende gebruiksvoorbeelden

Vul een webformulier in

  • Bel browser_navigate om de doelpagina te openen.
  • Bel browser_wait_for om te wachten tot het formulier geladen is.
  • Roep browser_type aan om elk veld te vullen met de CSS-selector.
  • Bel browser_click om het formulier in te dienen.
  • Bel browser_wait_for om te wachten op het bevestigingselement.
  • Bel browser_get_text om het resultaat te lezen en te verifiëren.

Automatiseer een desktopapplicatie

  • Bel activate_window om de aanvraag naar de voorgrond te brengen.
  • Bel take_screenshot om de huidige staat vast te leggen.
  • Bel find_ui_element om een knop of veld op naam te vinden.
  • Roep click de gerapporteerde coördinaten van het element op.
  • Bel type_text om gegevens in te voeren.
  • Roep press_keys om snelkoppelingen (bijvoorbeeld ["ctrl","s"] om op te slaan).
  • Bel take_screenshot om het resultaat te verifiëren.

Gegevens van een webpagina extraheren

  • Bel browser_navigate om de pagina te openen.
  • Roep browser_get_text op om zichtbare tekstinhoud te extraheren.
  • Roep execute_python_code aan om de geëxtraheerde data te parsen en te verwerken.
  • Roep aan om specifieke waarden via JavaScript te bevragen browser_eval_js wanneer tekstextractie niet voldoende is.

Voer ontwikkeltaken uit

  • Bel execute_shell_command voor git pull, npm install en dotnet build.
  • Roep take_screenshot aan om de build-uitvoer vast te leggen.
  • Roep execute_python_code aan om logs of testresultaten te analyseren.
  • Bel browser_navigate om een lokale ontwikkelserver in de browser te openen.
  • Roep browser_screenshot op om de gerenderde pagina vast te leggen.

Lees en schrijf bestanden

  • Lees een bestand door execute_shell_command te gebruiken met type C:\path\to\file.txt.
  • Schrijf een bestand door execute_python_code te gebruiken met Python's open(...) en write(...).
  • Controleer met execute_shell_commanddir C:\path\to\output.txt.
  • Bel get_accessibility_tree om de volledige UI-structuur te begrijpen.
  • Roep find_ui_element aan om een specifieke controle te vinden (bijvoorbeeld role: "MenuItem", name: "Settings").
  • Roep click aan met behulp van de door het element gerapporteerde coördinaten.
  • Bel find_ui_element opnieuw om de volgende controle in de dialoog te vinden.
  • Bel type_text of click om ermee te communiceren.

Houd een langlopende sessie levend

  • Stuur ten minste eenmaal per 30 minuten een MCP-verzoek om verwijdering wegens inactiviteit te voorkomen.
  • get_screen_size is lichtgewicht en werkt goed als een hartslag.

Meer informatie

Windows 365 for Agents