Référence du serveur MCP de Windows 365 pour les agents

Note

Cet article décrit les caractéristiques utilisées dans les agents ou flux d’agents alimentés par le faisceau standard.

Windows 365 for Agents est un serveur MCP qui vous donne le contrôle opérationnel total d’un PC cloud Windows 365. Utilisez ce serveur MCP pour piloter un environnement Windows réel via l’interaction sur le bureau (souris, clavier, capture d’écran, exécution de commandes), l’automatisation du navigateur via Microsoft Edge, et l’inspection sémantique de l’interface utilisateur via Windows UI Automation.

Note

L’automatisation des navigateurs fonctionne sur Microsoft Edge. Edge se lance automatiquement dès le premier appel à l’outil du navigateur. focus_browser peut aussi cibler Chrome ou Firefox, mais les outils de navigation au niveau DOM ne fonctionnent que sur l’instance Edge.

Pour en savoir plus sur Windows 365 pour les agents, voir Windows 365 pour la documentation des agents.

Aperçu

ID du serveur URL au niveau du locataire Nom d'affichage Description
mcp_W365ComputerUse https://agent365.svc.cloud.microsoft/
agents/tenants/{tenantId}/
servers/mcp_W365ComputerUse
Windows 365 pour agents serveur MCP Contrôle opérationnel complet d’un PC cloud Windows 365, incluant l’interaction sur le bureau, l’automatisation du navigateur et l’inspection de l’interface utilisateur.

Outils disponibles

mcp_W365ComputerUse_StartSession

Commence une session d’utilisation de l’ordinateur Windows 365, établissant une connexion à un PC cloud et allouant une ressource Cloud PC. Renvoie sessionId, qui peut être utilisé pour gérer la session.

Aucun paramètre requis.

mcp_W365ComputerUse_EndSession

Met fin à une session active d’utilisation de l’ordinateur Windows 365 et libère les ressources cloud PC associées. Passer le sessionId retourné par mcp_W365ComputerUse_StartSession.

Paramètres requis : sessionId

mcp_W365ComputerUse_GetSessionDetails

Retourne les métadonnées pour une session d’utilisation de l’ordinateur Windows 365 identifiée par le sessionIdfichier . Passer le sessionId retourné par mcp_W365ComputerUse_StartSession. Ne répertorie pas plusieurs sessions.

Paramètres requis : sessionId

move_mouse

Déplace le curseur vers une position d’écran. Utilisez plutôt click si vous avez l’intention de cliquer au niveau de la destination. Paramètres obligatoires :

  • x : coordonnée X dans les pixels de l’écran
  • y : Coordonnée Y dans les pixels de l’écran

click

Effectue un clic à une position donnée, ou à l’emplacement actuel du curseur si les coordonnées sont omises. Prend en charge le simple clic, le double-clic et les cinq boutons de la souris.

Paramètres facultatifs :

  • x : coordonnée X dans les pixels de l’écran (omettre la position actuelle)
  • y : Coordonnée Y dans les pixels de l’écran (omettre la position actuelle)
  • bouton : Gauche, Droite, Milieu, Avant ou Arrière (par défaut Gauche)
  • Nombre de clics : 1 = clic simple, 2 = double clic (par défaut 1)

get_cursor_position

Retourne les coordonnées actuelles du curseur. Aucun paramètre. Renvoie {cursorX, cursorY}.

faire_glisser_souris

Fait glisser d’une position à une autre. Utile pour déplacer des objets, redimensionner des fenêtres ou faire défiler avec une précision de pixels. Paramètres obligatoires :

  • startX : Coordonnée Start X.
  • startY : Coordonnée Start Y.
  • endX : Fin de la coordonnée X.
  • endY : Coordonnée fin Y. Paramètres facultatifs :
  • bouton : Gauche, Droite ou Milieu (par défaut est Gauche)

Faire défiler

Fait défiler à une position en utilisant des unités de notch, et non des pixels. Trois encoches font environ une page.

Paramètres obligatoires :

  • x : Position de défilement X
  • y : Position de défilement Y

Paramètres facultatifs :

  • deltaX : Encoches horizontales, positif = droite (par défaut 0)
  • deltaY : Encoches verticales, positif = bas (par défaut 0)

Note

Les valeurs sont fixées à la plage [-20, 20].

type_text

Saisit du texte en simulant une saisie au clavier. Pour les raccourcis clavier, utilisez press_keys. Pour les champs de formulaire web, utilisez browser_type.

Paramètres obligatoires :

  • texte : Texte à taper.

Paramètres facultatifs :

  • usePaste : Coller du texte depuis le clipboard au lieu de taper.

press_keys

Appuie simultanément sur une combinaison de touches. Prend en compte les touches modificatrices, les touches de fonction et les touches standards.

Paramètres obligatoires :

  • touches : Tableau des noms des touches sur lesquelles appuyer simultanément (par exemple, ["ctrl","c"], ["alt","tab"], ["ctrl","shift","s"])

faire_une_capture_d’écran

Capture l’écran plein écran ou une région rognée en tant qu’image PNG (codée en base64).

Paramètres facultatifs :

  • x : Bord gauche de la région de culture
  • y : Bord supérieur de la région de culture
  • largeur : largeur de la région de culture
  • Hauteur : Hauteur de la région de culture

Note

Indiquez les quatre paramètres de recadrage ensemble, ou omettez les quatre pour une capture en plein écran.

zoom_region

Capture une région d’écran à la résolution native sous forme d’image PNG (encodée base64). Utilisez cette fonction pour inspecter de petits textes ou des éléments d’interface denses difficiles à lire dans une capture d’écran plein écran réduite.

Paramètres obligatoires :

  • x : Coordonnée X du bord gauche dans les pixels de l’écran
  • y : Coordonnée Y du bord supérieur dans les pixels de l’écran
  • largeur : largeur de région en pixels
  • hauteur : Hauteur de la région en pixels

Note

La taille maximale de la région est de 1920x1080 pixels.

analyser_l’écran

Effectue l’OCR sur tout l’écran. Aucun paramètre. Retourne {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height}.

get_screen_size

Ça renvoie la résolution de l’écran. Aucun paramètre. Retourne {width, height}.

list_windows

Liste toutes les fenêtres visibles avec leurs titres, positions et dimensions. Aucun paramètre. Renvoie un tableau de {title, processName, handle, x, y, width, height}.

activate_window

Place une fenêtre au premier plan en utilisant une correspondance approximative du titre.

Paramètres obligatoires :

  • titre : Titre partiel de fenêtre (sous-chaîne insensible à la majuscule)

focus_browser

Concentre une fenêtre de navigateur (Edge, Chrome ou Firefox), éventuellement filtrée par URL ou titre.

Paramètres facultatifs :

  • Pattern : URL ou sous-chaîne de titre correspondante (à omettre dans toute fenêtre du navigateur)

fermer_la_fenêtre

Ferme une fenêtre en douceur à l’aide d’une correspondance approximative du titre. Le système protège les processus critiques et vous ne pouvez pas les fermer.

Paramètres obligatoires :

  • titre : Titre de fenêtre partiel (seuil de correspondance de 80 %). Retourne {matchedTitle, processName, closed}.

redimensionner_la_fenêtre

Redimensionne, déplace, agrandit, réduit ou restaure une fenêtre à l’aide d’une correspondance de titre approximative.

Paramètres obligatoires :

  • titre : Titre de fenêtre correspondant (correspondance floue insensible à la majuscule)
  • action : Action à exécuter - Resize, Move, Maximize, Minimize, ou Restore

Paramètres facultatifs :

  • x : Coordonnée X sur l’arête gauche (utilisée avec Resize ou Move)
  • y : Coordonnée Y sur le bord supérieur (utilisée avec Resize ou Move)
  • largeur : Largeur en pixels (utilisé avec Resize)
  • hauteur : Hauteur en pixels (utilisé avec Resize)

exécuter_commande_shell

Exécute une commande shell dans un environnement bac à sable. La commande est vérifiée par rapport à une liste d’autorisations, et les schémas dangereux sont bloqués.

Paramètres obligatoires :

  • commande : Commande à exécuter

Paramètres facultatifs :

  • cwd : Annuaire de travail. Utilisez des coups vers l’avant (par exemple, C:/Users/me/project).
  • timeoutMs : Timeout en millisecondes (par défaut 30000, max 120000)

Note

  • Commandes autorisées : git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type, et notepad.
  • Les motifs bloqués incluent les métacaractères du shell (|, ;, &, <, ), >l’expansion (%VAR%)des variables d’environnement, les indicateurs d’évaluation de l’interpréteur (python -c ou node -e), git config --global, , npm -gles exécutables avec préfixe de chemin, rm -rf, sudo, et les commandes disque ou système.
  • Les stdout et stderr de la commande sont chacun tronqués à 32 Ko. Pour un calcul arbitraire, utilisez execute_python_code. Cette commande renvoie {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

execute_python_code

Exécute du code Python dans un environnement bac à sable avec des limites de ressources. Cette fonction est idéale pour le traitement de données, les calculs, les entrées/sorties de fichiers et tout calcul dépassant les simples commandes shell.

Paramètres obligatoires :

  • code : code Python (max 262 144 caractères).

Paramètres facultatifs :

  • cwd : Annuaire de travail. Utilisez des coups vers l’avant.
  • timeoutMs : Timeout en millisecondes (par défaut 30000, max 120000).

Retourne le même schéma que execute_shell_command.

Note

Le bac à sable impose une limite de mémoire de 512 Mo et un délai d’expiration de 30 secondes.

wait_milliseconds

Met en pause l’exécution pour permettre la réalisation des animations ou transitions. N’utilisez pas cette fonction dans les boucles de sondage. Utilisez browser_wait_for plutôt pour le sondage DOM.

Paramètres obligatoires :

  • ms : Durée d’attente en millisecondes (serrée à [0, 5000])

clipboard_read

Lit le contenu actuel du presse-papiers système. Cette commande ne nécessite aucun paramètre. Il renvoie un objet JSON qui décrit le format du presse-papiers et la charge utile, qui peut être soit une chaîne de texte, soit une image codée en base64.

clipboard_write

Écrit du texte sur le clipboard système, remplaçant le contenu actuel.

Paramètres obligatoires :

  • texte : Texte à écrire sur le clipboard

Renvoie une confirmation qui inclut le nombre de caractères.

list_processes

Liste des processus en cours de la session en cours. Chaque entrée inclut le PID, le nom du processus, l’utilisation de la mémoire, le titre de la fenêtre (le cas échéant), et startTimeTicks. Associez-le startTimeTicks à kill_process pour éviter de tuer un PID recyclé.

Paramètres facultatifs :

  • maxCount : nombre maximal de processus à retourner (par défaut 200)

Retourne un tableau JSON d’objets info de processus.

kill_process

Met fin à un processus à l’aide de son PID. Fournissez la valeur startTime issue de list_processes afin de se prémunir contre le recyclage des PID.

Paramètres obligatoires :

  • pid : ID de processus retourné par list_processes
  • startTime : Horodatages de démarrage du processus renvoyés par list_processes

Paramètres facultatifs :

  • force : Force-kill sans arrêt gracieux (fausse méthode par défaut)

Retourne un résultat JSON décrivant le résultat.

lancer l’application

Lance une application GUI à partir d’un répertoire autorisé. Utilisez plutôt execute_shell_command pour les commandes CLI.

Paramètres obligatoires :

  • path : chemin absolu vers l’exécutable. Utilisez des coups vers l’avant (par exemple, C:/Program Files/app.exe).

Paramètres facultatifs :

  • args : Tableau d’arguments en ligne de commande

Retourne {path, pid}.

get_system_info

Restitue la version du système d’exploitation, le processeur, la RAM, l’espace disque disponible et la résolution d’affichage. Aucun paramètre. Retourne un objet JSON contenant les informations système.

browser_navigate

Il navigue vers une URL et attend que la page se charge.

Paramètres obligatoires :

  • URL : URL complète incluant le protocole (par exemple, https://example.com)

Retour navigateur

Revient en arrière dans l’historique du navigateur. Aucun paramètre.

browser_forward

Avance dans l’historique du navigateur. Aucun paramètre.

recharger_le_navigateur

Recharge la page actuelle. Aucun paramètre.

browser_get_url

Retourne l’URL de la page courante sous forme de chaîne simple. Aucun paramètre.

browser_get_title

Renvoie le titre de la page en cours sous forme de chaîne de caractères brute. Aucun paramètre.

browser_get_text

Retourne le texte visible de la page sous forme de chaîne de caractères simples. Aucun paramètre. Tronqué à 512 Ko.

browser_get_html

Retourne la source HTML de la page entière sous forme de chaîne simple. Aucun paramètre. Tronqué à 512 Ko.

browser_get_page_state

Récupère plusieurs champs d’état de page en un seul appel. Utile pour capter plusieurs signaux simultanément sans émettre d’appels d’outil séparés.

Paramètres obligatoires :

  • champs : tableau de champs à retourner. Valeurs autorisées : url, title, dom, screenshot, tabs

Retourne un objet JSON contenant uniquement les champs demandés.

browser_click

Clique sur un élément DOM via le sélecteur CSS. Plus fiable que le clic basé sur des coordonnées pour le contenu web.

Paramètres obligatoires :

  • sélecteur : sélecteur CSS (par exemple, #submit-btn ou a.nav-link)

browser_type

Tape le texte dans un élément de formulaire en utilisant un sélecteur CSS.

Paramètres obligatoires :

  • sélecteur : sélecteur CSS de l’élément d’entrée.
  • texte : Texte à taper.

browser_query_text

On obtient le contenu textuel du premier élément qui correspond à un sélecteur CSS.

Paramètres obligatoires :

  • sélecteur : sélecteur CSS.

browser_wait_for

Il attend qu’un élément DOM apparaisse. Cette fonction est utile pour le contenu dynamique qui se charge de façon asynchrone.

Paramètres obligatoires :

  • selector : sélecteur CSS à attendre.

Paramètres facultatifs :

  • timeoutMs : Délai d’expiration en millisecondes. Le taux par défaut est de 5 000 et le maximum est de 30 000.

browser_eval_js

Évalue une expression JavaScript dans le contexte de la page et renvoie le résultat sous forme de chaîne.

Paramètres obligatoires :

  • expression : expression JavaScript qui retourne une chaîne

Note

Si votre expression retourne un objet ou un nombre, convertissez-le explicitement en une chaîne (par exemple, JSON.stringify(obj) ou .toString()).

onglets de la liste du navigateur

Liste tous les onglets ouverts avec leur index, titre et URL. Aucun paramètre requis. Renvoie un tableau de {index, title, url}.

Paramètres facultatifs :

  • tabId : Identifiant unique d’onglet

changer d’onglet

Bascule vers un onglet selon son index.

Paramètres obligatoires :

  • tabIndex : index de tabulation basé sur 0

Paramètres facultatifs :

  • tabId : Identifiant unique d’onglet

browser_new_tab

Ouvre un nouvel onglet, en accédant éventuellement à une URL.

Paramètres facultatifs :

  • URL : URL à ouvrir (onglet vide si omis)

Retourne {index, title, url}.

browser_create_tabs

Ouvre plusieurs onglets à la fois. Éventuellement, mettez-en l’un au premier plan.

Paramètres obligatoires :

  • URLs : Tableau d’URL à ouvrir, un onglet par URL

Paramètres facultatifs :

  • foregroundIndex : Index de l’onglet à amener au premier plan après sa création (omettre pour conserver l’onglet actuel actif)

Renvoie une confirmation textuelle.

fermer l’onglet du navigateur

Ferme un onglet par index.

Paramètres obligatoires :

  • tabIndex : index d’onglet basé sur 0 Paramètres optionnels :

  • tabId : Identifiant unique d’onglet

browser_screenshot

Capture une capture d’écran PNG de la fenêtre d’affichage du navigateur uniquement (pas en mode plein écran). Aucun paramètre. Retourne un PNG codé en base64.

browser_select_option

Sélectionne une ou plusieurs options dans un <select> élément par leur value attribut.

Paramètres obligatoires :

  • sélecteur : sélecteur CSS pour l’élément <select>
  • valeurs : tableau des valeurs des options à sélectionner

Renvoie une confirmation indiquant le nombre d’options sélectionnées.

remplir_formulaire

Remplissez plusieurs champs de formulaire en un seul appel. Chaque entrée est composée d’une paire {selector, value}. L’opération s’arrête dès la première défaillance et indique quels champs ont réussi.

Paramètres obligatoires :

  • champs : Tableau de {selector, value} paires

Retourne une confirmation avec le nombre de champs remplis.

browser_drag

Fait glisser un élément source sur un élément cible. Les deux éléments sont identifiés par un sélecteur CSS.

Paramètres obligatoires :

  • sourceSelector : sélecteur CSS de la source de glissement
  • targetSelector : sélecteur CSS de la cible de dépôt

browser_pdf_save

Enregistre la page active sous forme de fichier PDF. Les chemins de destination sont restreints à %USERPROFILE% ou %TEMP%.

Paramètres obligatoires :

  • filePath : chemin de file de destination sous %USERPROFILE% ou %TEMP%. Utilisez des coups vers l’avant.

Renvoie une confirmation incluant le chemin du fichier sauvegardé.

browser_handle_dialog

Accepte ou ignore une boîte de dialogue de navigateur en attente (alerte, confirmation, invite ou avant le chargement). Affiche « Aucun dialogue en attente » si aucun dialogue n’est actif.

Paramètres obligatoires :

  • action : accept ou dismiss

Paramètres facultatifs :

  • promptText: Texte à fournir à une boîte de dialogue d’invite (ignoré pour alert et confirm)

browser_get_cookies

Obtient des cookies pour la page active ou pour un ensemble spécifié d’URL. Les valeurs des cookies sont toujours masquées pour des raisons de sécurité ; les noms, domaines, chemins et attributs sont renvoyés.

Paramètres facultatifs :

  • URLs : Tableau d’URL pour obtenir des cookies (à omettre pour la page actuelle)

Retourne un tableau d’objets cookies avec des valeurs expurgées.

browser_set_cookies

Définit les cookies sur le domaine de la page actuelle. Cette action ajoute ou remplace les cookies, mais ne efface pas les cookies existants.

Paramètres obligatoires :

  • Cookies : Ensemble d’objets cookies. Chaque entrée nécessite name et value. Champs optionnels : domain, path, secure, httpOnly, sameSite.

Renvoie une confirmation textuelle.

browser_execute_batch

Exécute plusieurs actions de navigateur séquentiellement dans un seul appel. Cette action s’arrête lors de la première défaillance et restitue les résultats collectés jusqu’à ce moment.

Paramètres obligatoires :

  • actions : Réseau d’objets {action, params} . Actions autorisées : navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, wait_for, . eval_js

Retourne un tableau de résultats, un par action exécutée.

instantané_du_navigateur

Capture l’arbre d’accessibilité de la page avec des identifiants de référence stables (par exemple, e5) qui correspondent aux nœuds DOM. Utilisez les références avec browser_click_ref, browser_type_ref, et browser_hover_ref. Les références expirent lorsque la page navigue — reprenez un instantané après la navigation.

Paramètres facultatifs :

  • maxDepth : Profondeur maximale de l’arbre, 1-10 (par défaut 5)
  • includeIframes : Inclure les iframes cross-origin (vrai par défaut)

Retourne un objet JSON contenant l’instantané d’accessibilité et les identifiants de référence.

browser_click_ref

Cliquez sur un élément à l’aide de l’ID de référence de browser_snapshot. Un test de ciblage vérifie qu’aucun autre élément ne se superpose à l’élément cible. Échec si l’instantané expire — reprends alors l’instantané.

Paramètres obligatoires :

  • snapshotId : ID d’instantané retourné par browser_snapshot
  • ref : Élément ref (par exemple, e5) des nœuds snapshot

Paramètres facultatifs :

  • bouton : Gauche, Droite ou Milieu (par défaut Gauche)
  • Nombre de clics : 1 = clic simple, 2 = double clic (par défaut 1)

Renvoie une confirmation incluant les coordonnées du clic.

browser_type_ref

Saisit du texte dans un élément en utilisant l’ID de référence de browser_snapshot. L’élément est mis au point en premier, et le texte existant est effacé par défaut. L’opération échoue si l’instantané expire.

Paramètres obligatoires :

  • snapshotId : ID d’instantané retourné par browser_snapshot
  • ref : Élément ref (par exemple, e5) des nœuds snapshot
  • texte : Texte à taper

Paramètres facultatifs :

  • Clear : Effacer le texte existant en premier (par défaut vrai)

Renvoie une confirmation qui inclut le nombre de caractères.

browser_hover_ref

Survole un élément à l’aide de l’ID de référence de browser_snapshot. Retourne immédiatement. L’opération échoue si le snapshot expire – reprenez le snapshot dans ce cas.

Paramètres obligatoires :

  • snapshotId : ID d’instantané retourné par browser_snapshot
  • ref : Élément ref (par exemple, e5) des nœuds snapshot

Retour d’une confirmation incluant les coordonnées de survol.

get_accessibility_tree

Récupère l’arborescence d’éléments d’interface utilisateur de la fenêtre de premier plan. Chaque élément inclut son rôle, son nom, sa valeur et ses coordonnées d’écran.

Paramètres facultatifs :

  • maxDepth : Profondeur maximale de traversée de l’arbre, 1-10 (par défaut 3)
  • maxElements : Nombre maximal d’éléments à revenir, 1-2000 (par défaut 500)

Retourne un arbre hiérarchique de {rôle, nom, valeur, x, y, largeur, hauteur, enfants[...]}.

browser_keypress_ref

Appuie sur une seule touche sur un élément à l’aide de son ID de référence depuis browser_snapshot. L’élément reçoit d’abord le focus. Prend en charge les touches modificatrices. Échoue si l’instantané a expiré — reprenez l’instantané le cas échéant.

Paramètres obligatoires :

  • snapshotId : ID d’instantané retourné par browser_snapshot
  • ref : Élément ref (par exemple, e5) des nœuds snapshot
  • clé : nom de clé — par exemple, Enter, Escape, Tab, ArrowUp, ArrowDown, ou F1F12

Paramètres facultatifs :

  • modificateurs : Tableau de touches modificatrices à maintenir pendant la pression — Ctrl, Shift, Alt, ou Meta

Renvoie une confirmation textuelle.

browser_scroll_ref

Fait défiler un élément en mode affichage par ID ref à partir de browser_snapshot. Si vous le souhaitez, faites défiler par un delta de pixels dans l’élément. Échoue si l’instantané expire.

Paramètres obligatoires :

  • snapshotId : ID d’instantané retourné par browser_snapshot
  • ref : Élément ref (par exemple, e5) des nœuds snapshot

Paramètres facultatifs :

  • deltaX : Delta de défilement horizontal dans les pixels (par défaut 0)
  • deltaY : delta de défilement vertical dans les pixels (par défaut 0)

Renvoie une confirmation textuelle.

browser_set_file_input_ref

Définit des fichiers sur un élément d’entrée de fichier par ID ref à partir de browser_snapshot. Les chemins de fichiers sont limités aux répertoires Documents, Downloads, Desktop ou %TEMP% de l’utilisateur.

Paramètres obligatoires :

  • snapshotId : ID d’instantané retourné par browser_snapshot
  • ref : Élément ref pour l’entrée du fichier
  • filePaths : tableau de chemins de fichiers à téléverser

Renvoie une confirmation textuelle.

find_ui_element

Recherche les éléments de l’interface utilisateur par contenu textuel, par rôle d’accessibilité ou par nom (sous-chaîne sans distinction de casse). Retourne des éléments correspondants avec leurs coordonnées d’écran cliquables.

Paramètres facultatifs :

  • texte : Texte à rechercher (utilisé comme nom si nom est omis)
  • rôle : filtre par rôle de l’interface utilisateur - Button, TextBox, CheckBox, MenuItem, ComboBox, et plus encore
  • nom : Nom accessible (prévaut sur le texte si les deux sont fournis)
  • windowHandle : Handle de fenêtre cible (null = fenêtre au premier plan)

Fonctionnalités clés

Interaction de bureau

  • Clic rapide, double-clic, clic droit et contrôle de souris à cinq boutons.
  • Glisser-déposer avec une précision pixelisée.
  • Défilement par crans (trois crans ≈ une page).
  • Saisie au clavier et combinaisons de touches de raccourci.
  • Suivi de la position du curseur.
  • Détection de la résolution d’écran.

Capture d’écran et analyse

  • Captures d’écran en plein écran ou recadrées en PNG.
  • OCR de l’ensemble de l’écran avec les scores de confiance par région et les boîtes de délimitation.
  • Captures d’écran uniquement pour le contenu web dans la fenêtre du navigateur.

Gestion des fenêtres

  • Énumérez toutes les fenêtres visibles avec leurs positions et dimensions.
  • Activez les fenêtres par correspondance approximative du titre.
  • Concentrez-vous sur les fenêtres du navigateur (Edge, Chrome, Firefox) filtrées en option par URL ou titre.
  • Fermeture élégante de fenêtre avec protection contre les processus critiques pour le système.

Exécution de commande

  • Commandes shell en bac à sable avec une liste d’autorisation (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
  • Exécution en sandbox Python jusqu’à 262 144 caractères de code.
  • Répertoire de travail et contrôle du délai d’expiration pour chaque appel (30 secondes maximum).
  • Limites de ressources et liste de blocage renforcée contre les métacaractères de shell, flags d’évaluation, escalade de privilèges et opérations destructrices.

Automatisation du navigateur

  • Naviguer, revenir, avancer, recharger et configurer les conditions d’attente sur la navigation (load, networkidle0, networkidle2).
  • URL de la page, titre, texte visible (limite de 512 Ko) et HTML complet (limite de 512 Ko).
  • Récupération consolidée de l’état de la page — URL, titre, DOM, capture d’écran et liste d’onglets en un seul appel.
  • Clic, saisie, remplissage de formulaire, glisser-déposer et sélection d’options <select> au niveau du DOM via un sélecteur CSS.
  • Interaction basée sur un instantané d’accessibilité via ID de référence — cliquer, saisir du texte, survoler, appui sur une touche avec modificateurs, faire défiler et téléversement via champ de saisie de fichier.
  • Attendez les éléments dynamiques avec un délai d’expiration configurable, en exigeant éventuellement qu’ils soient visibles.
  • Évaluer JavaScript les expressions dans le contexte de la page.
  • Gestion multi-onglets : lister, commuter, ouvrir un ou plusieurs à la fois, puis fermer.
  • Inspection des cookies (valeurs expurgées) et attribution sur le domaine actuel.
  • Exécution d’actions groupées — séquence de plusieurs étapes du navigateur en un seul appel, s’arrêtant au premier échec.
  • Enregistrez la page actuelle en PDF sous %USERPROFILE% ou %TEMP%.
  • Gestion des dialogues pour alert, confirm, prompt, et beforeunload.
  • Tourne sur Microsoft Edge, se lance automatiquement dès la première utilisation.

Accessibilité de l’interface utilisateur

  • Récupérer le Windows UI Automation tree pour la fenêtre au premier plan avec la profondeur et le nombre d’éléments configurables.
  • Trouvez les éléments de l’interface utilisateur par texte, rôle ou nom accessible.
  • Retourne des coordonnées cliquables à l’écran pour un ciblage précis des boutons, des zones de texte, des cases à cocher, des éléments de menu et des zones de liste déroulante.

Synchronisation et chronométrage

  • À utiliser wait_milliseconds pour de courtes pauses d’un seul coup (jusqu’à cinq secondes).
  • À utiliser browser_wait_for pour le sondage au niveau DOM (jusqu’à 30 secondes).

Remarques

  • Toutes les coordonnées sont dans des pixels d’écran avec (0,0) en haut à gauche. Les coordonnées de take_screenshot, analyze_screen, find_ui_element, et list_windows partagent toutes le même espace de coordonnées.
  • Un système de sécurité du curseur est actif : si le curseur se déplace à moins de cinq pixels d’un coin d’écran, les opérations à la souris sont annulées. Évitez de cibler les bords extrêmes de l’écran.
  • Les opérateurs de pipe à coquille (|), les points-virgules (;), les esperluettes (&) et la redirection de sortie (>, <) sont bloqués. Pour transformer la sortie de commande, capturez-la et traitez-la avec execute_python_code.
  • Si les indicateurs d’évaluation de l’interpréteur sont bloqués ou si python -c "..." et node -e "..." sont rejetés, vous pouvez utiliser execute_python_code pour Python code, ou écrire du code dans un fichier en premier.
  • La commande stdout/stderr est tronquée à 32 Ko chacune. Utilisez des options pour limiter la sortie verbeuse (par exemple, git log --oneline -20) ou redirigez-la vers un fichier et lisez-la séparément.
  • Le temps d’attente maximum pour execute_shell_command et execute_python_code est de 30 secondes. Pour un travail plus long, divisez en étapes plus petites ou lancez un processus en arrière-plan depuis Python et faites un sondage.
  • Il n’y a pas d’outil dédié à la lecture/écriture de fichiers. Lisez les fichiers avec execute_shell_command à l’aide de la commande type. Écrivez des fichiers avec execute_python_code en utilisant l'E/S intégrée de Python. La redirection de la sortie de l’interpréteur de commandes (>, >>) est bloquée.
  • browser_eval_js renvoie toujours une chaîne de caractères. Convertir explicitement les objets ou les nombres avant de revenir.
  • Les outils DOM du navigateur (browser_click, browser_type, browser_eval_js, et d’autres) fonctionnent uniquement sur l’instance Microsoft Edge.  focus_browser peut mettre au premier plan les fenêtres Chrome ou Firefox, mais les outils DOM ne peuvent pas les cibler.
  • take_screenshot nécessite les quatre paramètres de recadrage (x, y, largeur, hauteur) ensemble, ou aucun pour une capture en plein écran.
  • scroll utilise des unités de cran (limitées à [-20, 20]), et non des pixels. Trois encoches correspondent à environ une page.
  • find_ui_element nécessite au moins un texte, un rôle ou un nom. Lorsque le texte et le nom sont fournis, le nom a priorité.
  • browser_snapshot Les références expirent lors de la navigation. Si un outil _ref (clic, saisie, survol, appui sur une touche, défilement ou définition de l’entrée de fichier) échoue parce que l’instantané est obsolète, prenez à nouveau l’instantané et réessayez.
  • browser_set_file_input_ref n’accepte que les chemins de fichiers situés dans les répertoires Documents, Downloads, Desktop ou %TEMP% de l’utilisateur. Les fichiers situés en dehors de ces lieux sont rejetés.
  • browser_get_cookies Retourne toujours les valeurs des cookies censurées. Utilisez-le pour l’inspection — noms, domaines, chemins et drapeaux sont retournés en entier, mais les valeurs ne sont pas exposées.
  • browser_set_cookies n’ajoute ou n’écrase que les cookies. Il n’efface pas les cookies existants. Pour supprimer un cookie, remplacez-le via cet outil par une valeur expires expirée, ou supprimez-le depuis la page elle-même.
  • browser_execute_batch s’arrête lors de la première action ratée et ne restitue que les résultats collectés jusqu’à ce moment. Les actions ultérieures dans le réseau ne sont pas tentées. Les actions de lots autorisées sont limitées à : navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, , wait_for, et eval_js.
  • browser_create_tabs ouvre les onglets dans l’ordre indiqué. Si foregroundIndex est omis, le focus reste sur l’onglet actif.
  • browser_get_page_state Ne retourne que les champs listés dans le fields tableau. Demandez uniquement ce dont vous avez besoin – y compris dom ou screenshot pouvez produire de grandes charges utiles.

Cas d’utilisation courants

Remplissez un formulaire web

  • Appelez browser_navigate pour ouvrir la page cible.
  • Appelez browser_wait_for pour attendre le chargement du formulaire.
  • Appelez browser_type pour remplir chaque champ par le sélecteur CSS.
  • Appelez browser_click pour soumettre le formulaire.
  • Appelez browser_wait_for pour attendre l’élément de confirmation.
  • Appelez browser_get_text pour lire et vérifier le résultat.

Automatiser une application de bureau

  • Appelez activate_window pour mettre l’application au premier plan.
  • Appelez take_screenshot pour capturer l’état actuel.
  • Appelez find_ui_element pour localiser un bouton ou un champ par nom.
  • Appelez click aux coordonnées indiquées de l’élément.
  • Appelez type_text pour saisir des données.
  • Utilisez press_keys pour les raccourcis (par exemple, ["ctrl","s"] pour enregistrer).
  • Appelez take_screenshot pour vérifier le résultat.

Extraire des données d’une page web

  • Appelez browser_navigate pour ouvrir la page.
  • Appel browser_get_text pour extraire le contenu textuel visible.
  • Appel execute_python_code pour analyser et traiter les données extraites.
  • Appel browser_eval_js pour interroger des valeurs spécifiques via JavaScript lorsque l’extraction de texte ne suffit pas.

Exécuter des tâches de développement

  • Appelez execute_shell_command pour git pull, npm install et dotnet build.
  • Appel take_screenshot pour capturer la sortie de la compilation.
  • Utilisez execute_python_code pour analyser des logs ou des résultats de test.
  • Appel browser_navigate pour ouvrir un serveur de développement local dans le navigateur.
  • Appelez browser_screenshot pour capturer la page rendue.

Lire et écrire des fichiers

  • Lisez un fichier en utilisant execute_shell_command avec type C:\path\to\file.txt.
  • Écrivez un fichier en utilisant execute_python_code avec les Python open(...) et write(...).
  • Vérifiez en utilisant execute_shell_command avec dir C:\path\to\output.txt.
  • Appelez get_accessibility_tree pour comprendre toute la structure de l’interface utilisateur.
  • Appelez find_ui_element pour trouver un contrôle spécifique (par exemple, role: "MenuItem", name: "Settings").
  • Appelez click en utilisant les coordonnées rapportées par l’élément.
  • Appelez find_ui_element à nouveau pour trouver le contrôle suivant dans la boîte de dialogue.
  • Appelez type_text ou click pour interagir avec celui-ci.

Maintenir active une session de longue durée

  • Envoyez toute requête MCP au moins une fois toutes les 30 minutes pour éviter l’éviction pour cause d’inactivité.
  • get_screen_size est léger et fonctionne bien comme signal de pulsation.

Learn more

Windows 365 pour agents