Riferimento del server MCP di Windows 365 per agenti

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.

Informazioni generali

ID del server URL a livello di tenant Nome visualizzato Description
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_desktop_move_mouse

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

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

mcp_desktop_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)

mcp_desktop_get_cursor_position

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

mcp_desktop_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)

mcp_desktop_scroll

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].

mcp_desktop_type_text

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

Parametri obbligatori:

  • testo: Testo da digitare.

mcp_desktop_press_keys

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"])

mcp_desktop_take_screenshot

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

Parametri facoltativi:

  • x: area di ritaglio 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.

mcp_desktop_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.

mcp_desktop_analizza_schermo

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

mcp_desktop_get_screen_size

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

mcp_desktop_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}.

mcp_desktop_activate_window

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

Parametri obbligatori:

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

mcp_desktop_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)

mcp_desktop_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:

  • titlePattern: Titolo parziale della finestra (soglia di corrispondenza dell'80%). Restituisce {matchedTitle, processName, closed}.

mcp_desktop_resize_window

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)

mcp_desktop_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 di lavoro. Utilizza barre (ad esempio, C:/Users/me/project).
  • timeoutMs: Timeout in millisecondi (predefinito 30000, max 30000)

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 mcp_desktop_execute_python_code. Il comando restituisce {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

mcp_desktop_execute_python_code

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 di lavoro. Utilizza barre.
  • timeoutMs: Timeout in millisecondi (predefinito 30000, massimo 30000).

Restituisce lo stesso schema di mcp_desktop_execute_shell_command.

Note

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

mcp_desktop_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 mcp_browser_wait_for per il sondaggio DOM.

Parametri obbligatori:

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

mcp_desktop_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.

mcp_desktop_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.

mcp_desktop_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 mcp_desktop_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.

mcp_desktop_kill_process

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

Parametri obbligatori:

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

Parametri facoltativi:

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

Restituisce un risultato JSON che descrive l'esito.

mcp_desktop_launch_application

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

Parametri obbligatori:

  • path: Path assoluto verso l'eseguibile. Utilizza barre (ad esempio, C:/Program Files/app.exe).

Parametri facoltativi:

  • args: Elenco di argomenti della riga di comando

Restituisce {path, pid}.

mcp_desktop_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.

mcp_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)

mcp_browser_back

Torna indietro nella cronologia del browser. Nessun parametro.

mcp_browser_forward

Naviga avanti nella cronologia del browser. Nessun parametro.

mcp_browser_reload

Ricarica la pagina corrente. Nessun parametro.

mcp_browser_get_url

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

mcp_browser_get_title

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

mcp_browser_get_text

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

mcp_browser_get_html

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

mcp_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.

mcp_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)

mcp_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.

mcp_browser_query_text

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

Parametri obbligatori:

  • Selettore: Selettore CSS.

mcp_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.

mcp_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()).

mcp_browser_list_tabs

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

mcp_browser_switch_tab

Seleziona una scheda in base all'indice.

Parametri obbligatori:

  • tabIndex: indice di tabulazione con base 0

mcp_browser_new_tab

Apre una nuova scheda, facoltativamente passando a un URL.

Parametri facoltativi:

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

Restituisce {index, title, url}.

mcp_browser_create_tabs

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.

mcp_browser_close_tab

Chiude una scheda in base al relativo indice.

Parametri obbligatori:

  • tabIndex: indice di tabulazione con base 0

mcp_browser_screenshot

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

mcp_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.

mcp_browser_fill_form

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.

mcp_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

mcp_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%. Utilizza barre.

Restituisce una conferma che include il percorso del file salvato.

mcp_browser_handle_dialog

Accetta o chiude una finestra di dialogo del browser in sospeso (avviso, conferma, prompt 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)

mcp_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.

mcp_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.

mcp_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.

mcp_browser_snapshot

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 mcp_browser_click_ref, mcp_browser_type_ref e mcp_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.

mcp_browser_click_ref

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

Parametri obbligatori:

  • snapshotId: ID snapshot restituito da mcp_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.

mcp_browser_type_ref

Inserisce del testo in un elemento usando l'ID di riferimento ottenuto da mcp_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 mcp_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.

mcp_browser_hover_ref

Passa con il puntatore su un elemento utilizzando l'ID di riferimento di mcp_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 mcp_browser_snapshot
  • ref: Elemento ref (ad esempio, e5) dai nodi snapshot

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

mcp_accessibility_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[...]}.

mcp_browser_keypress_ref

Preme un singolo tasto su un elemento tramite l'ID di riferimento da mcp_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 mcp_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.

mcp_browser_scroll_ref

Scorre un elemento nella visualizzazione in base all'ID riferimento da mcp_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 mcp_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.

mcp_browser_set_file_input_ref

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

Parametri obbligatori:

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

Risponde a un messaggio di conferma.

mcp_accessibility_find_ui_element

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 shell eseguiti in ambiente isolato con una lista di elementi consentiti (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 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 mcp_desktop_wait_milliseconds per brevi pause una tantum (fino a cinque secondi).
  • Usare mcp_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 mcp_desktop_take_screenshot, mcp_desktop_analyze_screen, mcp_accessibility_find_ui_element, e mcp_desktop_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 il reindirizzamento 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 "..." e node -e "..." vengono rifiutati, puoi usare mcp_desktop_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 mcp_desktop_execute_shell_command e mcp_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 i file con mcp_desktop_execute_shell_command usando il comando type. Scrivi file con mcp_desktop_execute_python_code usando l'I/O file integrato di Python. La redirezione dell'uscita della shell (>, >>) è bloccata.
  • mcp_browser_eval_js restituisce sempre una stringa. Converti oggetti o numeri esplicitamente prima di restituirli.
  • Gli strumenti DOM del browser (mcp_browser_click, mcp_browser_type, mcp_browser_eval_js e altri) operano solo sull'istanza Microsoft Edge.  mcp_desktop_focus_browser Può mettere a fuoco le finestre di Chrome o Firefox, ma gli strumenti DOM non le mirano.
  • mcp_desktop_take_screenshot richiede tutti e quattro i parametri di ritaglio (x, y, larghezza, altezza) insieme, oppure nessuno per una cattura a schermo intero.
  • mcp_desktop_scroll usa unità notch (limitate all'intervallo [-20, 20]), non i pixel. Tre tacche equivalgono a circa una pagina.
  • mcp_accessibility_find_ui_element richiede almeno uno tra testo, ruolo o nome. Quando sono forniti sia testo che nome, il nome ha la precedenza.
  • I riferimenti mcp_browser_snapshot scadono durante la navigazione. Se uno strumento _ref (clicca, digita, passi il cursore, preme un tasto, scorri o imposta input file) fallisce perché lo snapshot è obsoleto, rifai lo snapshot e riprova.
  • mcp_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.
  • mcp_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.
  • mcp_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.
  • mcp_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.
  • mcp_browser_create_tabs Apre le schede nell'ordine fornito. Se foregroundIndex viene omesso, la concentrazione rimane sulla scheda attualmente attiva.
  • mcp_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 mcp_browser_navigate per aprire la pagina target.
  • Chiama mcp_browser_wait_for per aspettare che il modulo si carichi.
  • Chiamata mcp_browser_type per compilare ogni campo tramite il selettore CSS.
  • Chiama mcp_browser_click per inviare il modulo.
  • Chiama mcp_browser_wait_for per aspettare l'elemento di conferma.
  • Chiama mcp_browser_get_text per leggere e verificare il risultato.

Automatizza un'applicazione desktop

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

Estrae dati da una pagina web

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

Esegui compiti di sviluppo

  • Chiama mcp_desktop_execute_shell_command per git pull, npm install e dotnet build.
  • Richiama mcp_desktop_take_screenshot per acquisire l'output della build.
  • Chiama mcp_desktop_execute_python_code per analizzare log o risultati di test.
  • Chiama mcp_browser_navigate ad aprire un server di sviluppo locale nel browser.
  • Chiama mcp_browser_screenshot per catturare la pagina renderizzata.

Leggi e scrivi file

  • Leggi un file usando mcp_desktop_execute_shell_command con type C:\path\to\file.txt.
  • Scrivi un file usando mcp_desktop_execute_python_code con Python open(...) e write(...).
  • Verifica usando mcp_desktop_execute_shell_command con dir C:\path\to\output.txt.
  • Chiama mcp_accessibility_get_accessibility_tree per capire tutta la struttura dell'interfaccia utente.
  • Chiama mcp_accessibility_find_ui_element per trovare un controllo specifico (ad esempio, role: "MenuItem", name: "Settings").
  • Chiama mcp_desktop_click usando le coordinate riportate dall'elemento.
  • Chiama mcp_accessibility_find_ui_element di nuovo per trovare il controllo successivo nel dialogo.
  • Chiama mcp_desktop_type_text o mcp_desktop_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à.
  • mcp_desktop_get_screen_size è leggero e funziona bene come battito cardiaco.