Riferimento del server MCP di Windows 365 per agenti

Note

Questo articolo descrive le caratteristiche utilizzate negli agenti o nei flussi di agenti alimentati dall'imbracatura standard.

Windows 365 for Agents è un server MCP che ti dà il pieno controllo operativo di un cloud PC con Windows 365. Usa questo server MCP per guidare un vero ambiente Windows tramite interazione desktop (mouse, tastiera, cattura dello schermo, esecuzione dei comandi), automazione del browser tramite Microsoft Edge e ispezione semantica dell'interfaccia utente tramite Windows Automazione interfaccia utente.

Note

L'automazione del browser funziona su Microsoft Edge. Edge si avvia automaticamente al primo richiamo allo strumento browser. focus_browser può anche indirizzare Chrome o Firefox, ma gli strumenti browser a livello DOM funzionano solo sull'istanza Edge.

Per saperne di più sulle Windows 365 per gli agenti, consulta Windows 365 per la documentazione degli agenti.

Overview

ID del server URL a livello di tenant Nome visualizzato Descrizione
mcp_W365ComputerUse https://agent365.svc.cloud.microsoft/
agents/tenants/{tenantId}/
servers/mcp_W365ComputerUse
Server MCP di Windows 365 per agenti Controllo operativo completo di un PC cloud con Windows 365, inclusa interazione desktop, automazione del browser e ispezione dell'interfaccia utente.

Strumenti disponibili

mcp_W365ComputerUse_StartSession

Avvia una sessione di Uso del Computer di Windows 365, stabilendo una connessione a un PC cloud e allocando una risorsa Cloud PC. Restituisce il sessionId che può essere utilizzato per gestire la sessione.

Nessun parametro richiesto.

mcp_W365ComputerUse_EndSession

Termina una sessione attiva di Uso del Computer di Windows 365 e rilascia le relative risorse cloud PC. Passa il valore sessionId restituito da mcp_W365ComputerUse_StartSession.

Parametri richiesti: sessionId

mcp_W365ComputerUse_GetSessionDetails

Restituisce i metadati di una sessione di Computer Use di Windows 365 identificata da sessionId. Passa il valore sessionId restituito da mcp_W365ComputerUse_StartSession. Non elenca sessioni multiple.

Parametri richiesti: sessionId

move_mouse

Sposta il cursore in una posizione dello schermo. Usalo click invece se intendi cliccare sulla destinazione. Parametri obbligatori:

  • x: Coordinate X nei pixel dello schermo
  • y: Coordinata Y nei pixel dello schermo

click

Esegue un clic in una posizione oppure nella posizione corrente del cursore se le coordinate vengono omesse. Supporta clic singolo, doppio clic e tutti e cinque i tasti del mouse.

Parametri facoltativi:

  • x: Coordinata X nei pixel dello schermo (omettere la posizione attuale)
  • y: Coordinata Y nei pixel dello schermo (omettere la posizione attuale)
  • pulsante: Sinistra, Destra, Centrale, Avanti o Indietro (predefinito Sinistra)
  • Numero di clic: 1 = clic singolo, 2 = doppio clic (predefinito 1)

get_cursor_position

Restituisce le coordinate correnti del cursore. Nessun parametro. Restituisce {cursorX, cursorY}.

drag_mouse

Trascina da una posizione all'altra. Utile per spostare oggetti, ridimensionare finestre o scorrere con precisione pixel. Parametri obbligatori:

  • startX: Coordinata Start X.
  • startY: Coordinata Start Y.
  • endX: Fine della coordinata X.
  • endY: Coordinata Y finale. Parametri facoltativi:
  • pulsante: Sinistra, Destra o Centrale (di default è Sinistra)

scorrere

Scorre in corrispondenza di una posizione utilizzando unità di notch, non pixel. Tre tacche corrispondono a circa una pagina.

Parametri obbligatori:

  • x: Posizione di scroll X
  • y: Posizione di scorrimento Y

Parametri facoltativi:

  • deltaX: tacche orizzontali, positivo = destra (predefinito 0)
  • deltaY: Tacche verticali, positivo = verso il basso (predefinito: 0)

Note

I valori sono fissati nell'intervallo [-20, 20].

type_text

Digita testo simulando l'input da tastiera. Per le scorciatoie da tastiera, usa press_keys. Per i campi del modulo web, usa browser_type.

Parametri obbligatori:

  • testo: Testo da digitare.

Parametri facoltativi:

  • usePaste: Incolla testo dalla cartellina invece di digitare.

premi i tasti

Preme contemporaneamente una combinazione di tasti. Supporta tasti modificatori, tasti funzione e tasti standard.

Parametri obbligatori:

  • tasti: Array di nomi di tasti da premere insieme (ad esempio, ["ctrl","c"], ["alt","tab"], ["ctrl","shift","s"])

acquisisci_schermata

Acquisisce lo schermo intero o un'area ritagliata come immagine PNG (con codifica Base64).

Parametri facoltativi:

  • x: Regione di coltura bordo sinistro
  • y: Bordo superiore della regione coltivata
  • larghezza: larghezza della regione di coltura
  • Altezza: Altezza della regione coltivata

Note

Fornisci tutti e quattro i parametri del ritaglio insieme, oppure ometti tutti e quattro per una cattura a schermo intero.

zoom_region

Cattura una regione dello schermo a risoluzione nativa come immagine PNG (codificata base64). Usa questa funzione per ispezionare piccoli testi o elementi dell'interfaccia densi difficili da leggere in uno screenshot a schermo intero ridimensionato.

Parametri obbligatori:

  • x: Coordinate X sul bordo sinistro nei pixel dello schermo
  • y: Coordinate Y del bordo superiore nei pixel dello schermo
  • larghezza: Larghezza della regione in pixel
  • Altezza: Altezza della regione in pixel

Note

La dimensione massima della regione è 1920x1080 pixel.

Analizza schermo

Esegue OCR su tutto lo schermo. Nessun parametro. Restituisce {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height}.

get_screen_size

Restituisce la risoluzione dello schermo. Nessun parametro. Restituisce {width, height}.

list_windows

Elenca tutte le finestre visibili con i loro titoli, posizioni e dimensioni. Nessun parametro. Restituisce un array di {title, processName, handle, x, y, width, height}.

attiva_finestra

Porta una finestra in primo piano tramite una corrispondenza approssimativa del titolo.

Parametri obbligatori:

  • titolo: Titolo parziale della finestra (sottostringa senza distinzione tra maiuscole e minuscole)

focus_browser

È incentrata su una finestra del browser (Edge, Chrome o Firefox), filtrata facoltativamente in base all'URL o al titolo.

Parametri facoltativi:

  • pattern: URL o sottostringa del titolo da far corrispondere (omettere per qualsiasi finestra del browser)

close_window

Chiude una finestra in modo corretto utilizzando una corrispondenza approssimativa del titolo. Il sistema protegge i processi critici e non puoi chiuderli.

Parametri obbligatori:

  • titolo: Titolo parziale della finestra (80% soglia di partita). Restituisce {matchedTitle, processName, closed}.

ridimensiona_finestra

Ridimensiona, sposta, ingrandisce, riduce al minimo o ripristina una finestra utilizzando una corrispondenza approssimativa del titolo.

Parametri obbligatori:

  • titolo: Titolo della finestra da corrispondere (corrispondenza approssimativa insensibile a maiuscole/minuscole)
  • azione: Azione da eseguire - Resize, Move, Maximize, Minimize, o Restore

Parametri facoltativi:

  • x: Coordinata X del bordo sinistro (usata con Resize o Move)
  • y: Coordinate Y del bordo superiore (usate con Resize o Move)
  • larghezza: larghezza in pixel (usata con Resize)
  • Altezza: Altezza in pixel (utilizzato con Resize)

execute_shell_command

Esegue un comando shell in un ambiente sandbox. Il comando viene verificato rispetto a una lista di permessi e i pattern pericolosi vengono bloccati.

Parametri obbligatori:

  • comando: Comando da eseguire

Parametri facoltativi:

  • cwd: Directory operativo. Usa le taglie in avanti (ad esempio, C:/Users/me/project).
  • timeoutMs: Timeout in millisecondi (predefinito 30000, massimo 120000)

Note

  • Comandi consentiti: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type e notepad.
  • I pattern bloccati includono i metacaratteri della shell (|, ;, &, <, >), l'espansione delle variabili di ambiente (%VAR%), i flag eval dell'interprete (python -c o node -e), git config --global, npm -g, gli eseguibili con percorso prefissato, rm -rf, sudo e i comandi del disco o di sistema.
  • Il stdout e il stderr del comando vengono entrambi troncati a 32 KB. Per calcoli arbitrari, si usa execute_python_code. Il comando restituisce {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

eseguire codice Python

Esegue codice Python in un ambiente sandbox con limiti di risorse. Questa funzione è ideale per l'elaborazione dati, i calcoli, l'I/O dei file e qualsiasi calcolo che vada oltre i semplici comandi shell.

Parametri obbligatori:

  • code: codice Python (massimo 262.144 caratteri).

Parametri facoltativi:

  • cwd: Directory operativo. Usa fendenti in avanti.
  • timeoutMs: Timeout in millisecondi (predefinito 30000, massimo 120000).

Restituisce lo stesso schema di execute_shell_command.

Note

Il sandbox applica un limite di memoria di 512 MB e un timeout di 30 secondi.

wait_milliseconds

Mette in pausa l'esecuzione per permettere il completamento di animazioni o transizioni. Non usare questa funzione nei cicli di polling. Invece, usa browser_wait_for per il sondaggio DOM.

Parametri obbligatori:

  • ms: Durata di attesa in millisecondi (serrata a [0, 5000])

clipboard_read

Legge il contenuto attuale della cartellina di sistema. Questo comando non richiede alcun parametro. Restituisce un oggetto JSON che descrive il formato della cartellina e il payload, che può essere sia una stringa di testo sia un'immagine codificata in base64.

clipboard_write

Scrive testo nella cartella di sistema, sostituendo il contenuto attuale.

Parametri obbligatori:

  • testo: Testo da scrivere nella cartellina

Restituisce una conferma che include il conteggio dei caratteri.

list_processes

Elenchi dei processi in esecuzione nella sessione corrente. Ogni voce include il PID, il nome del processo, l'uso della memoria, il titolo della finestra (se presente) e startTimeTicks. Abbinalo startTimeTicks a kill_process per evitare di uccidere un PID riciclato.

Parametri facoltativi:

  • maxCount: Numero massimo di processi da restituire (predefinito 200)

Restituisce un array JSON di oggetti info di processo.

termina_processo

Interrompe un processo in base al PID. Specifica il valore startTime da list_processes per proteggerti dal riutilizzo del PID.

Parametri obbligatori:

  • pid: ID processo restituito da list_processes
  • startTime: tick dell'orario di avvio del processo restituiti da list_processes

Parametri facoltativi:

  • force: termina forzatamente senza arresto graduale (impostazione predefinita: false)

Restituisce un risultato JSON che descrive l'esito.

avviare_applicazione

Avvia un'applicazione con interfaccia grafica da una directory autorizzata. Usa execute_shell_command invece per comandi CLI.

Parametri obbligatori:

  • path: Path assoluto verso l'eseguibile. Usa le taglie in avanti (ad esempio, C:/Program Files/app.exe).

Parametri facoltativi:

  • args: Elenco di argomenti della riga di comando

Restituisce {path, pid}.

get_system_info

Restituisce la versione del sistema operativo, CPU, RAM, spazio disco disponibile e risoluzione del display. Nessun parametro. Restituisce un oggetto JSON contenente le informazioni di sistema.

browser_navigate

Naviga fino a un URL e aspetta che la pagina si carichi.

Parametri obbligatori:

  • URL: URL completo incluso il protocollo (ad esempio, https://example.com)

browser_back

Torna indietro nella cronologia del browser. Nessun parametro.

browser_forward

Naviga avanti nella cronologia del browser. Nessun parametro.

Ricarica il browser

Ricarica la pagina corrente. Nessun parametro.

browser_get_url

Restituisce l'URL della pagina corrente come stringa semplice. Nessun parametro.

browser_get_title

Restituisce il titolo della pagina corrente come una stringa semplice. Nessun parametro.

browser_get_text

Restituisce il contenuto visibile del testo della pagina come una stringa semplice. Nessun parametro. Troncato a 512 KB.

browser_get_html

Restituisce il codice sorgente HTML a pagina intera come una stringa semplice. Nessun parametro. Troncato a 512 KB.

browser_get_page_state

Recupera più campi di stato della pagina in una singola chiamata. Utile per catturare diversi segnali contemporaneamente senza emettere chiamate separate agli strumenti.

Parametri obbligatori:

  • campi: Array di campi da restituire. Valori consentiti: url, title, dom, screenshot, tabs

Restituisce un oggetto JSON contenente solo i campi richiesti.

browser_click

Clicca su un elemento DOM tramite il selettore CSS. Più affidabile del clic basato su coordinate per i contenuti web.

Parametri obbligatori:

  • selettore: selettore CSS (ad esempio, #submit-btn oppure a.nav-link)

browser_type

Digita il testo in un elemento form usando un selettore CSS.

Parametri obbligatori:

  • selettore: selettore CSS dell'elemento di input.
  • testo: Testo da digitare.

browser_query_text

Ottiene il contenuto del testo del primo elemento che corrisponde a un selettore CSS.

Parametri obbligatori:

  • Selettore: Selettore CSS.

browser_wait_for

Aspetta che appaia un elemento DOM. Questa funzione è utile per contenuti dinamici che si caricano asincronamente.

Parametri obbligatori:

  • selector: selettore CSS da attendere.

Parametri facoltativi:

  • timeoutMs: Timeout in millisecondi. Il valore predefinito è 5.000 e il massimo è 30.000.

browser_eval_js

Valuta un'espressione JavaScript nel contesto della pagina e restituisce il risultato come stringa.

Parametri obbligatori:

  • expression: espressione JavaScript che restituisce una stringa

Note

Se la tua espressione restituisce un oggetto o un numero, convertilo esplicitamente in una stringa (ad esempio, JSON.stringify(obj) o .toString()).

browser_list_tabs

Elenca tutte le schede aperte con indice, titolo e URL. Non è necessario alcun parametro. Restituisce un array di {index, title, url}.

Parametri facoltativi:

  • tabId: Identificatore unico di scheda

browser_switch_tab

Seleziona una scheda in base all'indice.

Parametri obbligatori:

  • tabIndex: indice di tabulazione con base 0

Parametri facoltativi:

  • tabId: Identificatore unico di scheda

browser_nuova_scheda

Apre una nuova scheda, facoltativamente passando a un URL.

Parametri facoltativi:

  • URL: URL da aprire (scheda vuota se omessa)

Restituisce {index, title, url}.

crea schede del browser

Apre più schede contemporaneamente. Facoltativamente, portane uno in primo piano.

Parametri obbligatori:

  • URL: Array di URL da aprire, una scheda per URL

Parametri facoltativi:

  • foregroundIndex: Indice della scheda da portare in primo piano dopo la creazione (omettere per mantenere la scheda corrente focalizzata)

Risponde a un messaggio di conferma.

browser_close_tab

Chiude una scheda in base al relativo indice.

Parametri obbligatori:

  • tabIndice: indice delle schede basato su 0 Parametri opzionali:

  • tabId: Identificatore unico di scheda

schermata_del_browser

Acquisisce uno screenshot PNG solo del riquadro di visualizzazione del browser (non lo schermo intero). Nessun parametro. Restituisce una PNG codificata base64.

browser_select_option

Seleziona una o più opzioni in un <select> elemento in base al relativo value attributo.

Parametri obbligatori:

  • Selettore: Selettore CSS per l'elemento <select>
  • valori: Array di valore o valori di opzione da selezionare

Restituisce una conferma con il conteggio delle opzioni selezionate.

browser_compila_modulo

Compila più campi del modulo in un'unica chiamata. Ogni voce è costituita da una coppia {selector, value}. L'operazione si interrompe al primo guasto e riporta quali campi hanno avuto successo.

Parametri obbligatori:

  • campi: Array di {selector, value} coppie

Restituisce una conferma con il conteggio dei campi riempiti.

browser_drag

Trascina un elemento di origine in un elemento di destinazione. Entrambi gli elementi sono identificati tramite il selettore CSS.

Parametri obbligatori:

  • sourceSelector: Selettore CSS della sorgente di drag
  • targetSelector: selettore CSS della destinazione di rilascio

browser_pdf_save

Salva la pagina corrente come file PDF. I percorsi di destinazione sono limitati a %USERPROFILE% o %TEMP%.

Parametri obbligatori:

  • filePath: Percorso del file di destinazione sotto %USERPROFILE% o %TEMP%. Usa fendenti in avanti.

Restituisce una conferma che include il percorso del file salvato.

browser_handle_dialog

Accetta o chiude una finestra di dialogo del browser in sospeso (avviso, conferma, richiesta di input o beforeunload). Restituisce "Nessun dialogo in sospeso" se nessun dialogo è attivo.

Parametri obbligatori:

  • azione: accept oppure dismiss

Parametri facoltativi:

  • promptText: Testo da fornire a una finestra di dialogo prompt (ignorato per avviso e conferma)

browser_get_cookies

Ottiene i cookie per la pagina corrente o per un set specificato di URL. I valori dei cookie sono sempre oscurati per motivi di sicurezza; nomi, domini, percorsi e flag vengono restituiti.

Parametri facoltativi:

  • URL: Array di URL per cui ottenere i cookie (omettere per la pagina corrente)

Restituisce un array di oggetti cookie con valori oscurati.

browser_set_cookies

Imposta i cookie nel dominio della pagina corrente. Questa azione aggiunge o sovrascrive i cookie, ma non cancella i cookie esistenti.

Parametri obbligatori:

  • cookie: Array di oggetti cookie. Ogni voce richiede name e value. Campi opzionali: domain, path, secure, httpOnly, sameSite.

Risponde a un messaggio di conferma.

browser_execute_batch

Esegue più azioni del browser in sequenza in una singola chiamata. Questa azione si interrompe al primo guasto e restituisce i risultati raccolti fino a quel momento.

Parametri obbligatori:

  • azioni: Matrice di {action, params} oggetti. Azioni consentite: navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, , wait_for, , . eval_js

Restituisce una serie di risultati, uno per ogni azione eseguita.

istantanea del browser

Cattura l'albero di accessibilità della pagina con ID di riferimento stabili (ad esempio, e5) che si mappano ai nodi DOM. Usa i riferimenti con browser_click_ref, browser_type_ref e browser_hover_ref. I riferimenti scadono quando si passa a un'altra pagina: acquisisci nuovamente un'istantanea dopo la navigazione.

Parametri facoltativi:

  • maxDepth: Profondità massima dell'albero, 1-10 (predefinito 5)
  • includeIframes: Include gli iframe cross-origin (valore predefinito: true)

Restituisce un oggetto JSON contenente lo snapshot di accessibilità e gli ID delle riferizioni.

browser_click_ref

Fa clic su un elemento in base all'ID di riferimento da browser_snapshot. Un hit-test verifica che nessun altro elemento sovrappone il bersaglio. Non riesce se l'istantanea scade; in tal caso, acquisiscila nuovamente.

Parametri obbligatori:

  • snapshotId: ID snapshot restituito da browser_snapshot
  • ref: Elemento ref (ad esempio, e5) dai nodi snapshot

Parametri facoltativi:

  • pulsante: Sinistra, Destra o Centrale (predefinito Sinistra)
  • Numero di clic: 1 = clic singolo, 2 = doppio clic (predefinito 1)

Restituisce una conferma con le coordinate cliccate.

browser_type_ref

Inserisce del testo in un elemento usando l'ID di riferimento ottenuto da browser_snapshot. L'elemento viene messo a fuoco per primo e il testo esistente viene cancellato di default. L'operazione non riesce se lo snapshot scade.

Parametri obbligatori:

  • snapshotId: ID snapshot restituito da browser_snapshot
  • ref: Elemento ref (ad esempio, e5) dai nodi snapshot
  • testo: Testo da scrivere

Parametri facoltativi:

  • Clear: Cancella prima il testo esistente (predefinito vero)

Restituisce una conferma che include il conteggio dei caratteri.

browser_hover_ref

Passa con il puntatore su un elemento utilizzando l'ID di riferimento di browser_snapshot. Ritorna immediatamente. L'operazione non riesce se lo snapshot scade; in tal caso, acquisisci nuovamente lo snapshot.

Parametri obbligatori:

  • snapshotId: ID snapshot restituito da browser_snapshot
  • ref: Elemento ref (ad esempio, e5) dai nodi snapshot

Fornisce una conferma che include le coordinate del passaggio del mouse.

get_accessibility_tree

Recupera l'albero degli elementi dell'interfaccia utente per la finestra in primo piano. Ogni elemento include ruolo, nome, valore e coordinate dello schermo.

Parametri facoltativi:

  • maxDepth: Profondità massima di attraversamento dell'albero, 1-10 (predefinito 3)
  • maxElements: Massimo elementi da restituire, 1-2000 (predefinito 500)

Restituisce un albero gerarchico di {ruolo, nome, valore, x, y, larghezza, altezza, figli[...]}.

browser_keypress_ref

Preme un singolo tasto su un elemento tramite l'ID di riferimento da browser_snapshot. L'elemento riceve per primo il focus. Supporta tasti modificatori. Non riesce se l'istantanea è scaduta — in tal caso, acquisisci nuovamente l'istantanea.

Parametri obbligatori:

  • snapshotId: ID snapshot restituito da browser_snapshot
  • ref: Elemento ref (ad esempio, e5) dai nodi snapshot
  • chiave: nome chiave — ad esempio, Enter, Escape, Tab, ArrowUp, ArrowDown, o F1F12

Parametri facoltativi:

  • modificatori: Array di tasti modificatori da tenere premuto durante la pressione — Ctrl, Shift, Alt, o Meta

Risponde a un messaggio di conferma.

browser_scroll_ref

Scorre un elemento nella visualizzazione in base all'ID riferimento da browser_snapshot. Facoltativamente, scorre in base a un delta pixel all'interno dell'elemento . Fallisce se lo snapshot scade.

Parametri obbligatori:

  • snapshotId: ID snapshot restituito da browser_snapshot
  • ref: Elemento ref (ad esempio, e5) dai nodi snapshot

Parametri facoltativi:

  • deltaX: Delta di scorrimento orizzontale nei pixel (predefinito 0)
  • deltaY: Delta di scorrimento verticale nei pixel (predefinito 0)

Risponde a un messaggio di conferma.

browser_set_file_input_ref

Imposta i file in un elemento di input del file in base all'ID di riferimento da browser_snapshot. I percorsi dei file sono limitati alle directory Documents, Downloads, Desktop o %TEMP% dell'utente.

Parametri obbligatori:

  • snapshotId: ID snapshot restituito da browser_snapshot
  • ref: Element ref per l'input del file
  • filePaths: Array di percorsi di file da caricare

Risponde a un messaggio di conferma.

trova_elemento_interfaccia_utente

Cerca gli elementi dell'interfaccia utente in base al contenuto di testo, al ruolo di accessibilità o al nome (sottostringa senza distinzione tra maiuscole e minuscole). Restituisce gli elementi corrispondenti con le relative coordinate cliccabili sullo schermo.

Parametri facoltativi:

  • testo: Testo da cercare (usato come nome se nome omesso)
  • role: filtro dei ruoli dell'interfaccia utente - Button, TextBoxCheckBox, MenuItem, , ComboBoxe altro ancora
  • nome: Nome accessibile (ha la precedenza sul testo se entrambi sono forniti)
  • windowHandle: Handle della finestra di destinazione (null = finestra in primo piano)

Funzionalità principali

Interazione con il desktop

  • Clic, doppio clic, clic destro e controllo del mouse a cinque pulsanti.
  • Trascinamento con precisione al pixel.
  • Scorrimento a tacche (tre tacche ≈ una pagina).
  • Digitazione da tastiera e combinazioni di tasti di scelta rapida.
  • Tracciamento della posizione del cursore.
  • Rilevamento della risoluzione dello schermo.

Cattura e analisi dello schermo

  • Screenshot PNG a schermo intero o ritagliati.
  • OCR dello schermo intero con punteggi di affidabilità per regione e riquadri di delimitazione.
  • Screenshot solo per i contenuti web con vista del browser.

Gestione delle finestre

  • Enumerare tutte le finestre visibili con posizioni e dimensioni.
  • Attiva Windows tramite fuzzy title match.
  • Focalizza le finestre del browser (Edge, Chrome, Firefox) filtrate opzionalmente per URL o titolo.
  • Chiusura elegante con protezione per processi critici per il sistema.

Esecuzione di comandi

  • Comandi sandbox shell con una lista di permessi (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
  • Esecuzione in sandbox Python fino a 262.144 caratteri di codice.
  • Directory di lavoro e controllo del timeout per ogni chiamata (massimo 30 secondi).
  • Limiti di risorse ed elenco di blocco irrobustito contro i metacaratteri della shell, i flag eval, l'escalation dei privilegi e le operazioni distruttive.

Automazione del browser

  • Navigazione, indietro, avanti, ricaricare e condizioni di attesa configurabili per la navigazione (load, networkidle0, networkidle2).
  • Leggi URL della pagina, titolo, testo visibile (limite di 512 KB) e HTML completo (limite di 512 KB).
  • Recupero consolidato dello stato della pagina — URL, titolo, DOM, screenshot e elenco di schede in una singola chiamata.
  • Click, digitazione, compilazione di moduli, trascinamento e <select> selezione di opzioni a livello DOM tramite selettore CSS.
  • Interazione basata su snapshot di accessibilità tramite ID di riferimento — clic, digitazione, passaggio del cursore, pressione di tasti con modificatori, scorrimento e caricamento tramite input file.
  • Attendere gli elementi dinamici con timeout configurabile, che opzionalmente richiedono visibilità.
  • Valutare JavaScript espressioni nel contesto della pagina.
  • Gestione multi-scheda: elenca, cambia, apri una o più schede contemporaneamente e chiude.
  • Ispezione dei cookie (valori oscurati) e assegnazione sul dominio corrente.
  • Esecuzione di azioni in lotti — sequenzia più passaggi del browser in una sola chiamata, fermandosi al primo errore.
  • Salva la pagina corrente come PDF sotto %USERPROFILE% o %TEMP%.
  • Gestione del dialogo per alert, confirm, prompt, e beforeunload.
  • Gira su Microsoft Edge, avviata automaticamente al primo utilizzo.

Accessibilità dell'interfaccia utente

  • Recupera il Windows Automazione interfaccia utente tree per la finestra in primo piano con profondità e numero di elementi configurabili.
  • Trova gli elementi dell'interfaccia utente per testo, ruolo o nome accessibile.
  • Fornisce coordinate cliccabili sullo schermo per la selezione precisa di pulsanti, caselle di testo, caselle di controllo, voci di menu e caselle combinate.

Tempismo e sincronizzazione

  • Usa wait_milliseconds per brevi pause una tantum (fino a cinque secondi).
  • Usare browser_wait_for per il polling a livello di DOM (fino a 30 secondi).

Notes

  • Tutte le coordinate sono in pixel dello schermo con (0,0) nell'angolo in alto a sinistra. Le coordinate da take_screenshot, analyze_screen, find_ui_element, e list_windows tutte condividono lo stesso spazio di coordinate.
  • È attivo un sistema di sicurezza del cursore: se il cursore si muove entro cinque pixel da qualsiasi angolo dello schermo, le operazioni con il mouse vengono annullate. Evita di puntare ai bordi estremi dello schermo.
  • Gli operatori dei tubi shell (|), i punti e virgola (;), i numeri ampersand (&) e la redirezione di uscita (>, <) sono bloccati. Per trasformare l'output del comando, catturalo ed elaboralo con execute_python_code.
  • Se i flag di valutazione dell'interprete sono bloccati o se python -c "..." e node -e "..." vengono rifiutati, puoi usare execute_python_code per il codice Python oppure scrivere prima il codice in un file.
  • Il comando stdout/stderr è troncato a 32 KB ciascuno. Usa flag per limitare l'output verboso (ad esempio, git log --oneline -20) oppure reindirizza a un file e leggilo separatamente.
  • Il timeout massimo per execute_shell_command e execute_python_code è di 30 secondi. Per lavori più lunghi, suddividilo in passaggi più piccoli o avvia un processo in background da Python e fai sondaggi.
  • Non esiste uno strumento dedicato per la lettura/scrittura dei file. Leggi i file con execute_shell_command usando il comando type. Scrivi file con execute_python_code usando l'I/O file integrato di Python. La redirezione dell'uscita della shell (>, >>) è bloccata.
  • browser_eval_js restituisce sempre una stringa. Converti oggetti o numeri esplicitamente prima di restituirli.
  • Gli strumenti DOM del browser (browser_click, browser_type, browser_eval_js e altri) operano solo sull'istanza Microsoft Edge.  focus_browser Può mettere a fuoco le finestre di Chrome o Firefox, ma gli strumenti DOM non le mirano.
  • take_screenshot Richiede tutti e quattro i parametri di ritaglio (x, y, larghezza, altezza) insieme, oppure nessuno per una cattura a schermo intero.
  • scroll usa unità notch (limitate all'intervallo [-20, 20]), non i pixel. Tre tacche equivalgono a circa una pagina.
  • find_ui_element richiede almeno uno tra testo, ruolo o nome. Quando sono forniti sia testo che nome, il nome ha la precedenza.
  • browser_snapshot I refermi scadono durante la navigazione. Se uno _ref strumento (clicca, digita, passi il cursore, preme un tasto, scorri o imposta input file) fallisce perché lo snapshot è obsoleto, rifai lo snapshot e riprova.
  • browser_set_file_input_ref accetta solo percorsi di file nelle directory dell'utente Documents, Downloads, Desktop o %TEMP%. I file al di fuori di quelle località vengono rifiutati.
  • browser_get_cookies restituisce sempre i valori dei cookie oscurati. Usalo per l'ispezione: nomi, domini, percorsi e flag vengono restituiti per intero, ma i valori non vengono esposti.
  • browser_set_cookies aggiunge o sovrascrive solo i cookie. Non cancella i cookie esistenti. Per rimuovere un cookie, sovrascrivilo con un valore scaduto expires tramite questo strumento, oppure cancellalo direttamente nella pagina.
  • browser_execute_batch si ferma alla prima azione fallita e restituisce solo i risultati raccolti fino a quel momento. Le azioni successive nell'array non vengono eseguite. Le azioni batch consentite sono limitate a: navigate, snapshot, click_ref, type_refhover_ref, , scroll_ref, keypress_ref, , wait_for, e eval_js.
  • browser_create_tabs Apre le schede nell'ordine fornito. Se foregroundIndex viene omesso, la concentrazione rimane sulla scheda attualmente attiva.
  • browser_get_page_state restituisce solo i campi elencati nell'array fields . Richiedi solo ciò di cui hai bisogno: includere dom o screenshot può produrre payload di grandi dimensioni.

Casi d'uso comuni

Compila un modulo web

  • Chiama browser_navigate per aprire la pagina target.
  • Chiama browser_wait_for per aspettare che il modulo si carichi.
  • Chiamata browser_type per compilare ogni campo tramite il selettore CSS.
  • Chiama browser_click per inviare il modulo.
  • Chiama browser_wait_for per aspettare l'elemento di conferma.
  • Chiama browser_get_text per leggere e verificare il risultato.

Automatizza un'applicazione desktop

  • Richiama activate_window per portare l'applicazione in primo piano.
  • Chiama take_screenshot per acquisire lo stato corrente.
  • Chiama find_ui_element per trovare un pulsante o un campo per nome.
  • Chiama click alle coordinate segnalate dell'elemento.
  • Chiama type_text per inserire dati.
  • Usa press_keys per le scorciatoie da tastiera (ad esempio, ["ctrl","s"] per salvare).
  • Chiama take_screenshot per verificare il risultato.

Estrae dati da una pagina web

  • Chiama browser_navigate per aprire la pagina.
  • Chiamata browser_get_text per estrarre il contenuto testuale visibile.
  • Chiamata execute_python_code per analizzare ed elaborare i dati estratti.
  • Chiama browser_eval_js per interrogare valori specifici tramite JavaScript quando l'estrazione del testo non è sufficiente.

Esegui compiti di sviluppo

  • Chiama execute_shell_command per git pull, npm install e dotnet build.
  • Richiama take_screenshot per acquisire l'output della build.
  • Chiama execute_python_code per analizzare log o risultati di test.
  • Chiama browser_navigate ad aprire un server di sviluppo locale nel browser.
  • Chiama browser_screenshot per catturare la pagina renderizzata.

Leggi e scrivi file

  • Leggi un file usando execute_shell_command con type C:\path\to\file.txt.
  • Scrivi un file usando execute_python_code con Python open(...) e write(...).
  • Verifica usando execute_shell_command con dir C:\path\to\output.txt.
  • Chiama get_accessibility_tree per capire tutta la struttura dell'interfaccia utente.
  • Chiama find_ui_element per trovare un controllo specifico (ad esempio, role: "MenuItem", name: "Settings").
  • Chiama click usando le coordinate riportate dall'elemento.
  • Chiama find_ui_element di nuovo per trovare il controllo successivo nel dialogo.
  • Chiama type_text o click per interagire con esso.

Mantenere viva una sessione di lunga durata

  • Invia una richiesta MCP almeno una volta ogni 30 minuti per evitare la rimozione per inattività.
  • get_screen_size è leggero e funziona bene come battito cardiaco.

Ulteriori informazioni

Windows 365 per Agenti