Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Important
- Si tratta di una funzionalità di anteprima.
- Le funzionalità di anteprima non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Queste funzionalità sono soggette a condizioni per l'utilizzo supplementari e sono disponibili prima di una versione ufficiale in modo che i clienti possano ottenere l'accesso iniziale e fornire feedback.
Windows 365 for Agents è un server MCP per il pieno controllo operativo di un PC cloud 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
- Le connessioni esistenti che utilizzano versioni precedenti dei server MCP Microsoft rimangono supportate.
- Per tutte le nuove connessioni, utilizza l'ultimo server MCP di Windows 365 Agents, che espone strumenti su desktop, browser e funzionalità di accessibilità.
- L'automazione del browser funziona su Microsoft Edge. Edge si avvia automaticamente al primo richiamo allo strumento browser.
focus_browserpuò anche puntare a Chrome o Firefox, ma gli strumenti browser a livello DOM operano solo sull'istanza Edge.
Per saperne di più sulle Windows 365 per gli agenti, consulta Windows 365 per la documentazione degli agenti.
Overview
| Server ID | Display name | Description |
|---|---|---|
mcp_W365AServer |
Windows 365 per Agenti MCP Server | Controllo operativo completo di un PC cloud con Windows 365, inclusa interazione desktop, automazione del browser e ispezione dell'interfaccia utente. |
Available tools
mcp_desktop_move_mouse
Sposta il cursore in una posizione a schermo. Usalo mcp_desktop_click invece se intendi cliccare sulla destinazione.
Required parameters:
- x: Coordinata X nei pixel dello schermo
- y: Coordinata Y nei pixel dello schermo
mcp_desktop_click
Clicca su una posizione, o sulla posizione attuale del cursore se le coordinate sono omesse. Supporta clic singolo, doppio clic e tutti e cinque i tasti del mouse.
Optional parameters:
x: Coordinata X nei pixel dello schermo (omettere la posizione attuale)
y: Coordinata Y nei pixel dello schermo (omettere la posizione attuale)
button: Sinistra, Destra, Centrale, Avanti o Indietro (predefinito Sinistra)
clickCount: 1 = clic singolo, 2 = doppio clic (predefinito 1)
mcp_desktop_get_cursor_position
Restituisci le coordinate attuali del cursore. No parameters. Restituisce {cursorX, cursorY}.
mcp_desktop_drag_mouse
Trascina da una posizione all'altra. Utile per spostare oggetti, ridimensionare finestre o scorrere con precisione pixel. Required parameters:
- startX: Coordinate Start X.
- startY: Coordinata Start Y.
- endX: Fine della coordinata X.
- endY: Fine Coordinata Y. Optional parameters:
- button: Sinistra, Destra o Centrale (il predefinito è Sinistra)
mcp_desktop_scroll
Scorri in una posizione usando unità notch (non pixel). Tre tacche corrispondono a circa una pagina.
Required parameters:
x: Posizione di scroll X
y: Posizione di scorrimento Y
Optional parameters:
- deltaX: Tacche orizzontali, positivo = destra (predefinito 0)
- deltaY: Tacche verticali, positivo = giù (predefinito 0)
Note
I valori sono fissati nell'intervallo [-20, 20].
mcp_desktop_type_text
Digita il testo tramite simulazione da tastiera. Per le scorciatoie da tastiera, usa mcp_desktop_press_keys. Per i campi del modulo web, usa mcp_browser_type.
Required parameters:
- text: Testo da scrivere
mcp_desktop_press_keys
Premi contemporaneamente una combinazione di tasti. Supporta tasti modificatori, tasti funzione e tasti standard.
Required parameters:
-
keys: Array di nomi chiave da premere insieme (ad esempio,
\["ctrl","c"\],\["alt","tab"\],\["ctrl","shift","s"\])
mcp_desktop_take_screenshot
Cattura lo schermo intero o una regione ritagliata come immagine PNG (codificata base64).
Optional parameters:
- x: Bordo sinistro della regione coltivata
- y: Bordo superiore della regione coltivata
- width: Larghezza della regione coltivata
- height: 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.
mcp_desktop_analyze_screen
Esegui OCR su tutto lo schermo. No parameters. Restituisce {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height}.
mcp_desktop_get_screen_size
Ripristina la risoluzione dello schermo. No parameters. Restituisce {width, height}.
mcp_desktop_list_windows
Elenca tutte le finestre visibili con i loro titoli, posizioni e dimensioni. No parameters. Restituisce un array di {title, processName, handle, x, y, width, height}.
mcp_desktop_activate_window
Porta una finestra in primo piano usando un fuzzy title match.
Required parameters:
- titlePattern: Titolo parziale della finestra (sottostringa insensibile alla maiuscole)
mcp_desktop_focus_browser
Focali una finestra del browser (Edge, Chrome o Firefox), opzionalmente filtrata da URL o titolo.
Optional parameters:
- pattern: URL o sottostringa del titolo per corrispondere (omettere in qualsiasi finestra del browser)
mcp_desktop_close_window
Chiudi con grazia una finestra con un match per il titolo confuso. I processi critici per il sistema sono protetti e non possono essere chiusi.
Required parameters:
-
titlePattern: Titolo parziale della finestra (80% soglia di partita). Restituisce
{matchedTitle, processName, closed}.
mcp_desktop_execute_shell_command
Esegui un comando shell in un ambiente sandbox. I comandi vengono convalidati rispetto a una lista di permessi e i pattern pericolosi vengono bloccati.
Required parameters:
- command: Comando di eseguire
Optional parameters:
- cwd: Directory operativo
- timeoutMsTimeout in millisecondi (predefinito 30000, massimo 30000)
Note
- Comandi consentiti: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, e type.
- I pattern bloccati includono metacaratteri della shell (|, ;, &, <, ), >espansione
(%VAR%)delle variabili ambientali, flag di valutazione dell'interprete (python -conode -e),git config --global,npm -g, eseguibili con prefisso di cammino,rm -rf,sudo, e comandi disco/sistema. -
stdoutestderrsono ciascuna troncata a 32 KB. Usaremcp_desktop_execute_python_codeper calcoli arbitrari. Restituisce{stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.
mcp_desktop_execute_python_code
Esegui codice Python in un ambiente sandbox con limiti di risorse. Ideale per l'elaborazione dati, i calcoli, l'I/O dei file e qualsiasi calcolo che vada oltre i semplici comandi shell.
Required parameters:
- code: codice Python (massimo 262.144 caratteri).
Optional parameters:
- cwd: Directory operativo
- timeoutMsTimeout in millisecondi (predefinito 30000, massimo 30000).
Restituisce lo stesso schema come mcp_desktop_execute_shell_command
mcp_desktop_wait_milliseconds
Mettere in pausa l'esecuzione per permettere il completamento di animazioni o transizioni. Non usare nei cicli di sondaggio—usare mcp_browser_wait_for per il sondaggio DOM.
Required parameters:
- ms: Durata di attesa in millisecondi (serrata a [0, 5000])
mcp_browser_navigate
Naviga fino a un URL e aspetta che la pagina si carichi.
Required parameters:
-
url: URL completo incluso il protocollo (ad esempio,
https://example.com)
mcp_browser_back
Torna indietro nella cronologia del browser. No parameters.
mcp_browser_forward
Naviga avanti nella cronologia del browser. No parameters.
mcp_browser_reload
Ricarica la pagina corrente. No parameters.
mcp_browser_get_url
Restituisci l'URL della pagina corrente come stringa semplice. No parameters.
mcp_browser_get_title
Restituisci il titolo della pagina corrente come una stringa semplice. No parameters.
mcp_browser_get_text
Restituisci il contenuto del testo della pagina visibile come una stringa semplice. No parameters. Troncato a 512 KB.
mcp_browser_get_html
Restituisci la fonte HTML a pagina intera come stringa semplice. No parameters. Troncato a 512 KB.
mcp_browser_click
Clicca su un elemento DOM tramite il selettore CSS. Più affidabile del clic basato su coordinate per i contenuti web.
Required parameters:
-
selettore: selettore CSS (ad esempio,
#submit-btnoppurea.nav-link)
mcp_browser_type
Digita il testo in un elemento di forma tramite il selettore CSS.
Required parameters:
- selector: CSS selettore dell'elemento di input.
- text: Testo da scrivere
mcp_browser_query_text
Fai corrispondere il contenuto del testo del primo elemento a un selettore CSS.
Required parameters:
- selector: CSS selettore
mcp_browser_wait_for
Aspetta che appaia un elemento DOM. Utile per contenuti dinamici che si caricano in modo asincrono.
Required parameters:
- selector: CSS selettore da aspettare
Optional parameters:
- timeoutMsTimeout in millisecondi (predefinito 5000, massimo 30000)
mcp_browser_eval_js
Valuta un'espressione JavaScript nel contesto della pagina e restituisci il risultato come stringa.
Required parameters:
- expression: JavaScript espressione 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()).
mcp_browser_list_tabs
Elenca tutte le schede aperte con il loro index, title, e URL. No parameters. Restituisce un array di {index, title, url}.
mcp_browser_switch_tab
Passa a una scheda per indice.
Required parameters:
- tabIndex: Indice di tabulazione basato su 0
mcp_browser_new_tab
Apri una nuova scheda, opzionalmente navigando verso un URL.
Optional parameters:
- url: URL per aprire (scheda vuota se omessa)
Restituisce {index, title, url}.
mcp_browser_close_tab
Chiudi una scheda per indice.
Required parameters:
- tabIndex: Indice di tabulazione basato su 0
mcp_browser_screenshot
Scatta uno screenshot PNG solo della viewport del browser (non a schermo intero). No parameters. Restituisce una PNG codificata base64.
mcp_accessibility_get_accessibility_tree
Recupera l'albero degli elementi UI per la finestra in primo piano. Ogni elemento include ruolo, nome, valore e coordinate dello schermo.
Optional parameters:
- 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[...]}.
mcp_accessibility_find_ui_element
Cerca elementi UI per contenuto testuale, ruolo di accessibilità o nome (sottostringa insensibile alla maiuscolo). Restituisce elementi corrispondenti con le loro coordinate sullo schermo cliccabili.
Optional parameters:
- text: Testo da cercare (usato come nome se nome omesso)
-
role: Filtro ruolo UI —
Button,TextBox,CheckBox,MenuItem,ComboBox, e altro ancora - name: Nome accessibile (ha la precedenza sul testo se entrambi sono forniti)
- windowHandle: Maniglia della finestra target (nullo = finestra in primo piano)
Note
Deve essere fornito almeno uno di testo, ruolo o nome. Restituisce un array di {role, name, value, x, y, width, height}.
Key features
Desktop interaction
- Click, doppio clic, clic destro e cinque tasti mouse controllo.
- Trascinare e rilasciare con precisione pixel.
- Scorrimento basato su tacche (tre tacche ≈ una pagina).
- Tastiera e scorciatoie multitasto.
- Tracciamento della posizione del cursore.
- Rilevamento della risoluzione dello schermo.
Acquisizione e analisi dello schermo
- Screenshot PNG a schermo intero o ritagliati.
- OCR dello schermo intero con punteggi di fiducia per regione e riquadri di delimitazione.
- Screenshot solo per i contenuti web con vista del browser.
Window management
- 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.
Command execution
- Comandi shell sandboxati con una lista di permessi (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
- Esecuzione Python in sandbox fino a 262.144 caratteri di codice.
- Directory di lavoro e controllo del timeout per chiamata (massimo 30 secondi).
- Limiti di risorse e lista di blocchi rafforzata contro i metacaratteri della shell, flag di valutazione, escalation dei privilegi e operazioni distruttive.
Browser automation
- Naviga, indietro, avanti, ricarica.
- Leggi paginaURL, titolo, testo visibile (limite di 512 KB) e HTML completo (limite di 512 KB).
- Query di click, digitazione e testo a livello DOM tramite selettore CSS.
- Aspetta gli elementi dinamici con timeout configurabile.
- Valuta JavaScript le espressioni nel contesto della pagina.
- Gestione multi-scheda: lista, switch, apri, chiudere.
- Gira su Microsoft Edge, avviata automaticamente al primo utilizzo.
UI accessibility
- 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.
- Restituisce le coordinate dello schermo cliccabili per il targeting preciso di pulsanti, caselle di testo, caselle di spunta, elementi del menu e caselle combo.
Tempismo e sincronizzazione
- Brevi pausa di one-shot (
mcp_desktop_wait_millisecondsmassimo cinque secondi). - Polling a livello DOM tramite
mcp_browser_wait_for(massimo 30 secondi).
Notes
- Tutte le coordinate sono in pixel dello schermo con (0,0) nell'angolo in alto a sinistra. Le coordinate da
mcp_desktop_take_screenshot,mcp_desktop_analyze_screen,mcp_accessibility_find_ui_element, emcp_desktop_list_windowstutte condividono lo stesso spazio di coordinate. - È attivo un sistema di sicurezza del cursore: se il cursore si sposta 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
mcp_desktop_execute_python_code. - Se i flag di valutazione dell'interprete sono bloccati o se
python -c "..."enode -e "..."vengono rifiutati, puoi usaremcp_desktop_execute_python_codeper Python codice, oppure scrivere codice su un file prima. - 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
mcp_desktop_execute_shell_commandemcp_desktop_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 file con
mcp_desktop_execute_shell_commandusando il comandotype; scrivi file conmcp_desktop_execute_python_codeusando l'I/O integrato di Python. La redirezione dell'uscita della shell (>, >>) è bloccata. -
mcp_browser_eval_jsrestituisce sempre una corda. Converti oggetti o numeri esplicitamente prima di restituirli. - Gli strumenti DOM del browser (
mcp_browser_click,mcp_browser_type,mcp_browser_eval_js, ecc.) operano solo sull'istanza Microsoft Edge.mcp_desktop_focus_browserPuò mettere a fuoco le finestre di Chrome o Firefox, ma gli strumenti DOM non le prenderanno di mira. -
mcp_desktop_take_screenshotRichiede tutti e quattro i parametri di ritaglio (x, y, larghezza, altezza) insieme, oppure nessuno per una cattura a schermo intero. -
mcp_desktop_scrollUsa unità a tacca (fissate a [-20, 20]), non pixel. Tre tacche corrispondono a circa una pagina. -
mcp_accessibility_find_ui_elementRichiede almeno uno di testo, ruolo o nome. Quando sono forniti sia testo che nome, il nome ha la precedenza.
Casi d'uso comuni
Compila un modulo web
- Chiama
mcp_browser_navigateper aprire la pagina target. - Chiama
mcp_browser_wait_forper aspettare che il modulo si carichi. - Chiamata
mcp_browser_typeper compilare ogni campo tramite il selettore CSS. - Chiama
mcp_browser_clickper inviare il modulo. - Chiama
mcp_browser_wait_forper aspettare l'elemento di conferma. - Chiama
mcp_browser_get_textper leggere e verificare il risultato.
Automatizza un'applicazione desktop
- Chiama
mcp_desktop_activate_windowper portare la domanda in primo piano. - Chiamata
mcp_desktop_take_screenshotper catturare lo stato attuale. - Chiama
mcp_accessibility_find_ui_elementper trovare un pulsante o un campo per nome. - Chiama
mcp_desktop_clickle coordinate segnalate dall'elemento. - Chiama
mcp_desktop_type_textper inserire dati. - Richiedi
mcp_desktop_press_keysscorciatoie (ad esempio, ["ctrl","s"] per salvare). - Chiama
mcp_desktop_take_screenshotper verificare il risultato.
Estrae dati da una pagina web
- Chiama
mcp_browser_navigateper aprire la pagina. - Chiamata
mcp_browser_get_textper estrarre il contenuto testuale visibile. - Chiamata
mcp_desktop_execute_python_codeper analizzare ed elaborare i dati estratti. - Chiama
mcp_browser_eval_jsa query valori specifici tramite JavaScript quando l'estrazione del testo non è sufficiente.
Esegui compiti di sviluppo
- Chiama
mcp_desktop_execute_shell_command,git pullnpm install, edotnet build. - Chiamata
mcp_desktop_take_screenshotper catturare l'output della build. - Chiama
mcp_desktop_execute_python_codeper analizzare log o risultati di test. - Chiama
mcp_browser_navigatead aprire un server di sviluppo locale nel browser. - Chiama
mcp_browser_screenshotper catturare la pagina renderizzata.
Leggi e scrivi file
- Leggi un file con
mcp_desktop_execute_shell_commandusandotype C:\path\to\file.txt. - Scrivi un file con
mcp_desktop_execute_python_codeusando Pythonopen(...)ewrite(...). - Verifica usando
mcp_desktop_execute_shell_commanddir C:\path\to\output.txt.
Naviga in un'interfaccia utente complessa con accessibilità
- Chiama
mcp_accessibility_get_accessibility_treeper capire tutta la struttura dell'interfaccia utente. - Chiama
mcp_accessibility_find_ui_elementper trovare un controllo specifico (ad esempio, ruolo: "MenuItem", nome: "Impostazioni"). - Chiama
mcp_desktop_clickusando le coordinate riportate dall'elemento. - Chiama
mcp_accessibility_find_ui_elementdi nuovo per trovare il controllo successivo nel dialogo. - Chiama
mcp_desktop_type_textomcp_desktop_clickinteragisci con esso.
Mantenere viva una sessione di lunga durata
- Invia qualsiasi richiesta MCP almeno una volta ogni 30 minuti per evitare lo sfratto inattivo.
-
mcp_desktop_get_screen_sizeè leggero e funziona bene come battito cardiaco.