Referência do servidor MCP do Windows 365 para Agentes

Note

Este artigo descreve recursos usados em agentes ou fluxos de agentes baseados no harness padrão.

Windows 365 for Agents é um servidor MCP que te dá controle operacional total de um PC em nuvem com Windows 365. Use esse servidor MCP para conduzir um ambiente Windows real por meio de interação com desktop (mouse, teclado, captura de tela, execução de comandos), automação do navegador via Microsoft Edge e inspeção semântica da interface via Windows Automação da Interface do Usuário.

Note

A automação do navegador funciona no Microsoft Edge. O Edge inicia automaticamente na primeira chamada de ferramenta do navegador. focus_browser também pode ser direcionado ao Chrome ou Firefox, mas ferramentas de navegador em nível DOM só funcionam na instância do Edge.

Para saber mais sobre Windows 365 para Agentes, veja Windows 365 para documentação de Agentes.

Visão geral

ID de servidor URL no nível do locatário Nome de exibição Description
mcp_W365ComputerUse https://agent365.svc.cloud.microsoft/
agents/tenants/{tenantId}/
servers/mcp_W365ComputerUse
servidor MCP do Windows 365 para Agentes Controle operacional total de um PC em nuvem com Windows 365, incluindo interação com desktop, automação do navegador e inspeção da interface.

Ferramentas disponíveis

mcp_W365ComputerUse_StartSession

Inicia uma sessão de Uso de Computador do Windows 365, estabelecendo uma conexão com um PC em nuvem e alocando um recurso para PC em nuvem. Retorna o sessionId que pode ser usado para gerenciar a sessão.

Sem parâmetros obrigatórios.

mcp_W365ComputerUse_EndSession

Encerra uma sessão ativa de Uso de Computador do Windows 365 e libera os recursos associados ao PC em nuvem. Passe o sessionId retornado por mcp_W365ComputerUse_StartSession.

Parâmetros exigidos: sessionId

mcp_W365ComputerUse_GetSessionDetails

Retorna metadados de uma sessão de Uso do Computador do Windows 365 identificada por sessionId. Passe o sessionId retornado por mcp_W365ComputerUse_StartSession. Não lista várias sessões.

Parâmetros exigidos: sessionId

move_mouse

Move o cursor para uma posição na tela. Use click em vez disso, se você pretende clicar no destino. Parâmetros requeridos:

  • x: Coordenada X em pixels da tela
  • y: Coordenada Y nos pixels da tela

clique

Clica em uma posição ou na posição atual do cursor, se as coordenadas forem omitidas. Suporta o clique simples, o duplo clique e os cinco botões do mouse.

Parâmetros opcionais:

  • x: Coordenada X nos pixels da tela (omita a posição atual)
  • y: Coordenada Y nos pixels da tela (omita a posição atual)
  • botão: Esquerda, Direita, Central, Avançar ou Voltar (padrão: Esquerda)
  • Contagem de cliques: 1 = clique simples, 2 = clique duplo (padrão 1)

get_cursor_position

Retorna as coordenadas atuais do cursor. Sem parâmetros. Retorna {cursorX, cursorY}.

drag_mouse

Arrasta de uma posição para outra. Útil para mover objetos, redimensionar janelas ou rolar com precisão de pixel. Parâmetros requeridos:

  • startX: Coordenada Start X.
  • startY: Coordenada Start Y.
  • endX: Coordenada do fim X.
  • endY: Coordenada Y final. Parâmetros opcionais:
  • botão: Esquerda, Direita ou Meio (o padrão é Esquerda)

Rolar a tela

Rola em uma posição usando unidades de entalhe, não pixels. Três entalhes correspondem aproximadamente a uma página.

Parâmetros requeridos:

  • x: Posição de rolo X
  • y: Posição de rolagem Y

Parâmetros opcionais:

  • deltaX: Entalhes horizontais, positivo = direito (padrão 0)
  • deltaY: Entalhes verticais, positivo = baixo (padrão 0)

Note

Os valores são fixados na faixa [-20, 20].

type_text

Digita texto simulando a entrada do teclado. Para atalhos de teclado, use press_keys. Para campos de formulário web, use browser_type.

Parâmetros requeridos:

  • texto: Texto para digitar.

Parâmetros opcionais:

  • usePaste: Cole texto da prancheta em vez de digitar.

press_keys

Pressiona uma combinação de teclas simultaneamente. Suporta teclas modificadoras, teclas de função e teclas padrão.

Parâmetros requeridos:

  • chaves: Array de nomes de chaves para pressionar juntos (por exemplo, ["ctrl","c"], ["alt","tab"], ["ctrl","shift","s"])

take_screenshot

Captura a tela inteira ou uma região cortada como uma imagem PNG (codificada em base64).

Parâmetros opcionais:

  • x: Região de cultivo da borda esquerda
  • y: Região de cultivo na borda superior
  • largura: Largura da região de cultivo
  • altura: Altura da região de cultivo

Note

Forneça os quatro parâmetros de corte juntos, ou omita os quatro para uma captura em tela cheia.

zoom_region

Captura uma região da tela em resolução nativa como uma imagem PNG (codificada base64). Use esse recurso para inspecionar textos pequenos ou elementos densos da interface que são difíceis de ler em uma captura de tela cheia reduzida.

Parâmetros requeridos:

  • x: Coordenada X da borda esquerda nos pixels da tela
  • y: Coordenada Y da borda superior em pixels da tela
  • largura: Largura da região em pixels
  • altura: Altura da região em pixels

Note

O tamanho máximo da região é 1920x1080 pixels.

analyze_screen

Executa OCR em toda a tela. Sem parâmetros. Retorna {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height}.

obter_tamanho_da_tela

Devolve a resolução da tela. Sem parâmetros. Retorna {width, height}.

list_windows

Lista todas as janelas visíveis com seus títulos, posições e dimensões. Sem parâmetros. Retorna um array de {title, processName, handle, x, y, width, height}.

ativar_janela

Traz uma janela para o primeiro plano usando uma correspondência de título difusa.

Parâmetros requeridos:

  • título: Título parcial da janela (subcadeia sem diferenciar maiúsculas de minúsculas)

focus_browser

Concentra uma janela do navegador (Edge, Chrome ou Firefox), opcionalmente filtrada por URL ou título.

Parâmetros opcionais:

  • Padrão: URL ou substring de título para corresponder (omito em qualquer janela do navegador)

close_window

Fecha uma janela de forma elegante usando uma correspondência aproximada de título. O sistema protege processos críticos e você não pode fechá-los.

Parâmetros requeridos:

  • título: Título parcial da janela (limiar de correspondência de 80%). Retorna {matchedTitle, processName, closed}.

redimensionar_janela

Redimensiona, move, maximiza, minimiza ou restaura uma janela usando uma correspondência de título difusa.

Parâmetros requeridos:

  • título: Título da janela para corresponder (correspondência difusa insensível a maiúsculas e minúsculas)
  • ação: Ação para executar - Resize, Move, Maximize, Minimize, ou Restore

Parâmetros opcionais:

  • x: Coordenada X da aresta esquerda (usada com Resize ou Move)
  • y: Coordenada Y da borda superior (usada com Resize ou Move)
  • largura: Largura em pixels (usada com Resize)
  • altura: Altura em pixels (usado com Resize)

execute_shell_command

Executa um comando shell em um ambiente sandbox. O comando é verificado em relação a uma lista de permissões, e padrões perigosos são bloqueados.

Parâmetros requeridos:

  • comando: Comando para executar

Parâmetros opcionais:

  • cwd: Diretório de trabalho. Use cortes para frente (por exemplo, C:/Users/me/project).
  • timeoutMs: Tempo limite em milissegundos (padrão 30000, máximo 120000)

Note

  • Comandos permitidos: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type e notepad.
  • Padrões bloqueados incluem metacaracteres de shell (|, ;, &, <, >), expansão (%VAR%) de variáveis de ambiente, sinalizadores de eval de interpretadores (python -c ou node -e), git config --global, npm -g, executáveis prefixados por caminho, rm -rf, sudo e comandos de disco ou de sistema.
  • Os comandos stdout e stderr cada um se truncam a 32 KB. Para computação arbitrária, use execute_python_code. O comando retorna {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

execute_python_code

Executa código Python em um ambiente sandbox com limites de recursos. Essa função é ideal para processamento de dados, cálculos, E/S de arquivos e qualquer computação que vá além de simples comandos de shell.

Parâmetros requeridos:

  • code: código Python (máximo de 262.144 caracteres).

Parâmetros opcionais:

  • cwd: Diretório de trabalho. Use cortes para frente.
  • timeoutMs: Tempo limite em milissegundos (padrão 30000, máximo 120000).

Retorna o mesmo esquema que execute_shell_command.

Note

O sandbox impõe um limite de memória de 512 MB e um tempo limite de 30 segundos.

wait_milliseconds

Pausa a execução para permitir que animações ou transições sejam concluídas. Não use esta função em loops de sondagem. Em vez disso, use browser_wait_for para sondagem do DOM.

Parâmetros requeridos:

  • ms: Duração de espera em milissegundos (apertado a [0, 5000])

clipboard_read

Lê o conteúdo atual da prancheta do sistema. Esse comando não exige nenhum parâmetro. Retorna um objeto JSON que descreve o formato da área de transferência e a carga útil, que pode ser um texto ou uma imagem codificada em base64.

clipboard_write

Escreve texto na prancheta do sistema, substituindo o conteúdo atual.

Parâmetros requeridos:

  • texto: Texto para escrever na prancheta

Retorna uma confirmação que inclui a contagem de caracteres.

list_processes

Lista processos em execução na sessão atual. Cada entrada inclui o PID, nome do processo, uso de memória, título da janela (se houver) e startTimeTicks. Combine startTimeTicks com kill_process para evitar matar um PID reciclado.

Parâmetros opcionais:

  • maxCount: Número máximo de processos a serem retornados (padrão 200)

Retorna um array JSON de objetos de informações do processo.

kill_process

Encerra um processo pelo PID. Forneça em startTime o valor de list_processes para se proteger contra a reciclagem de PID.

Parâmetros requeridos:

  • pid: ID do processo retornado por list_processes
  • startTime: ticks de hora de início do processo retornados por list_processes

Parâmetros opcionais:

  • force: Encerrar à força sem um encerramento normal (o padrão é false)

Retorna um resultado JSON descrevendo o resultado.

iniciar_aplicativo

Inicia um aplicativo gui de um diretório permitido. Use execute_shell_command para comandos de CLI em vez disso.

Parâmetros requeridos:

  • path: Caminho absoluto para o executável. Use cortes para frente (por exemplo, C:/Program Files/app.exe).

Parâmetros opcionais:

  • args: Array de argumentos de linha de comando

Retorna {path, pid}.

get_system_info

Retorna a versão do sistema operacional, CPU, RAM, espaço disponível em disco e resolução de exibição. Sem parâmetros. Retorna um objeto JSON contendo as informações do sistema.

browser_navigate

Navega até uma URL e espera a página carregar.

Parâmetros requeridos:

  • URL: URL completa incluindo protocolo (por exemplo, https://example.com)

browser_back

Navega de volta no histórico do navegador. Sem parâmetros.

browser_forward

Navega para frente no histórico do navegador. Sem parâmetros.

recarregar_navegador

Recarrega a página atual. Sem parâmetros.

browser_get_url

Retorna a URL da página atual como uma string simples. Sem parâmetros.

browser_get_title

Retorna o título da página atual como uma string simples. Sem parâmetros.

browser_get_text

Retorna o conteúdo do texto da página visível como uma string simples. Sem parâmetros. Reduzido em 512 KB.

browser_get_html

Retorna a fonte HTML da página inteira como uma string simples. Sem parâmetros. Reduzido em 512 KB.

browser_get_page_state

Recupera múltiplos campos de estado de página em uma única chamada. Útil para capturar vários sinais ao mesmo tempo sem emitir chamadas separadas para ferramentas.

Parâmetros requeridos:

  • campos: Array de campos a retornar. Valores permitidos: url, title, dom, screenshot, tabs

Retorna um objeto JSON contendo apenas os campos solicitados.

browser_click

Clica em um elemento DOM pelo seletor CSS. Mais confiável do que cliques baseados em coordenadas para conteúdo da web.

Parâmetros requeridos:

  • seletor: seletor CSS (por exemplo, #submit-btn ou a.nav-link)

tipo_navegador

Digita texto em um elemento de formulário usando um seletor CSS.

Parâmetros requeridos:

  • seletor: Seletor CSS do elemento de entrada.
  • texto: Texto para digitar.

browser_query_text

Obtém o conteúdo de texto do primeiro elemento que corresponde a um seletor CSS.

Parâmetros requeridos:

  • seletor: seletor de CSS.

navegador_aguardar

Espera que um elemento DOM apareça. Essa função é útil para conteúdo dinâmico que carrega de forma assíncrona.

Parâmetros requeridos:

  • seletor: seletor CSS pelo qual aguardar.

Parâmetros opcionais:

  • timeoutMs: Tempo limite em milissegundos. O padrão é 5.000 e o máximo é 30.000.

browser_eval_js

Avalia uma expressão JavaScript no contexto da página e retorna o resultado como uma string.

Parâmetros requeridos:

  • expression: expressão JavaScript que retorna uma string

Note

Se sua expressão retornar um objeto ou número, converta-o explicitamente em uma string (por exemplo, JSON.stringify(obj) ou .toString()).

browser_list_tabs

Lista todas as abas abertas com seu índice, título e URL. Nenhum parâmetro é necessário. Retorna um array de {index, title, url}.

Parâmetros opcionais:

  • tabId: Identificador único de aba

alternar entre abas do navegador

Alterna para uma aba pelo índice.

Parâmetros requeridos:

  • tabIndex: índice de aba baseado em 0

Parâmetros opcionais:

  • tabId: Identificador único de aba

browser_new_tab

Abre uma nova guia, opcionalmente navegando até uma URL.

Parâmetros opcionais:

  • URL: URL para abrir (aba em branco se omitida)

Retorna {index, title, url}.

browser_create_tabs

Abre várias abas ao mesmo tempo. Opcionalmente, traga um deles para o primeiro plano.

Parâmetros requeridos:

  • URLs: Array de URLs para abrir, uma aba por URL

Parâmetros opcionais:

  • foregroundIndex: Índice da aba para trazer para o primeiro plano após a criação (omita para manter a aba atual focada)

Retorna uma mensagem de confirmação.

browser_close_tab

Fecha uma aba pelo índice.

Parâmetros requeridos:

  • tabIndex: índice de aba baseado em 0 Parâmetros opcionais:

  • tabId: Identificador único de aba

captura_de_tela_do_navegador

Captura uma captura de tela PNG somente do visor do navegador (não na tela inteira). Sem parâmetros. Retorna um PNG codificado base64.

selecionar opção no navegador

Seleciona uma ou mais opções em um elemento <select> com base no atributo value.

Parâmetros requeridos:

  • seletor: seletor CSS para o <select> elemento
  • valores: Matriz de valor ou valores das opções a serem selecionadas

Retorna uma confirmação com a contagem de opções selecionadas.

navegador_preencher_formulário

Preencha vários campos de formulário em uma única chamada. Cada entrada forma um par {selector, value}. A operação para na primeira falha e informa quais campos foram bem-sucedidos.

Parâmetros requeridos:

  • campos: Matriz de {selector, value} pares

Retorna uma confirmação com a contagem de campos preenchidos.

browser_drag

Arrasta um elemento de origem para um elemento de destino. Ambos os elementos são identificados pelo seletor CSS.

Parâmetros requeridos:

  • sourceSelector: Seletor CSS da fonte de arrasto
  • targetSelector: seletor CSS do destino de soltura

navegador_pdf_salvar

Salva a página atual como um arquivo PDF. Caminhos de destino são restritos a %USERPROFILE% ou %TEMP%.

Parâmetros requeridos:

  • filePath: Caminho do arquivo de destino sob %USERPROFILE% ou %TEMP%. Use cortes para frente.

Retorna uma confirmação incluindo o caminho do arquivo salvo.

browser_handle_dialog

Aceita ou descarta uma caixa de diálogo pendente do navegador (alerta, confirmação, prompt ou pré-carregamento). Retorna "Nenhum diálogo pendente" se nenhum diálogo estiver ativo.

Parâmetros requeridos:

  • ação: accept ou dismiss

Parâmetros opcionais:

  • promptText: Texto para fornecer a um diálogo de prompt (ignorado para alerta e confirmação)

browser_get_cookies

Obtém cookies para a página atual ou para um conjunto especificado de URLs. Os valores dos cookies são sempre omitidos por questões de segurança; nomes, domínios, caminhos e atributos são retornados.

Parâmetros opcionais:

  • URLs: Array de URLs para obter cookies (omito na página atual)

Retorna um array de objetos cookie com valores redigidos.

browser_set_cookies

Define cookies no domínio da página atual. Essa ação adiciona ou substitui cookies, mas não limpa cookies existentes.

Parâmetros requeridos:

  • cookies: Variedade de objetos de cookies. Cada entrada requer name e value. Campos opcionais: domain, path, secure, httpOnly, sameSite.

Retorna uma mensagem de confirmação.

browser_execute_batch

Executa várias ações do navegador sequencialmente em uma única chamada. Essa ação para na primeira falha e retorna os resultados coletados até aquele ponto.

Parâmetros requeridos:

  • ações: Matriz de {action, params} objetos. Ações permitidas: navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, wait_for, . eval_js

Retorna uma matriz de resultados, um por ação executada.

instantâneo_do_navegador

Captura a árvore de acessibilidade da página com IDs de referência estáveis (por exemplo, e5) que correspondem a nós do DOM. Use as referências com browser_click_ref, browser_type_ref, e browser_hover_ref. Referências expiram quando a página navega — refaça um snapshot após a navegação.

Parâmetros opcionais:

  • maxDepth: Profundidade máxima da árvore, 1-10 (padrão 5)
  • incluiIframes: Inclui iframes de origem cruzada (padrão verdadeiro)

Retorna um objeto JSON contendo o snapshot de acessibilidade e os IDs de referência.

browser_click_ref

Clica em um elemento pelo ID de referência a partir de browser_snapshot. Um teste de detecção verifica se nenhum outro elemento está sobreposto ao elemento de destino. Falha se o snapshot expirar — tire o snapshot novamente nesse caso.

Parâmetros requeridos:

  • snapshotId: ID de snapshot retornado por browser_snapshot
  • ref: referência do elemento (por exemplo, e5) dos nós do instantâneo

Parâmetros opcionais:

  • botão: Esquerda, Direita ou Central (padrão: Esquerda)
  • Contagem de cliques: 1 = clique simples, 2 = clique duplo (padrão 1)

Retorna uma confirmação incluindo as coordenadas clicadas.

browser_type_ref

Digita texto em um elemento usando o ID de referência de browser_snapshot. O elemento é focado primeiro, e o texto existente é limpo por padrão. A operação falha se o snapshot expirar.

Parâmetros requeridos:

  • snapshotId: ID de snapshot retornado por browser_snapshot
  • ref: referência do elemento (por exemplo, e5) dos nós do instantâneo
  • texto: Texto para digitar

Parâmetros opcionais:

  • Clear: Limpar o texto existente primeiro (padrão verdadeiro)

Retorna uma confirmação que inclui a contagem de caracteres.

browser_hover_ref

Paira sobre um elemento usando o ID de referência de browser_snapshot. Retorna imediatamente. A operação falhará se a captura instantânea expirar; nesse caso, faça uma nova captura instantânea.

Parâmetros requeridos:

  • snapshotId: ID de snapshot retornado por browser_snapshot
  • ref: referência do elemento (por exemplo, e5) dos nós do instantâneo

Retorna uma confirmação incluindo as coordenadas de hover.

get_accessibility_tree

Recupera a árvore de elementos da interface do usuário para a janela de primeiro plano. Cada elemento inclui seu papel, nome, valor e coordenadas de tela.

Parâmetros opcionais:

  • maxDepth: Profundidade máxima de travessia da árvore, 1-10 (padrão 3)
  • maxElements: Elementos máximos a retornar, 1-2000 (padrão 500)

Retorna uma árvore hierárquica de {role, name, value, x, y, width, height, children[...]}.

browser_keypress_ref

Pressiona uma única tecla em um elemento por ID de referência de browser_snapshot. O elemento recebe foco primeiro. Suporta teclas modificadoras. Falha se o snapshot tiver expirado — refaça o snapshot nesse caso.

Parâmetros requeridos:

  • snapshotId: ID de snapshot retornado por browser_snapshot
  • ref: referência do elemento (por exemplo, e5) dos nós do instantâneo
  • chave: Nome da chave — por exemplo, Enter, Escape, Tab, ArrowUp, ArrowDown, ou F1F12

Parâmetros opcionais:

  • modificadores: Matriz de teclas modificadoras a segurar durante a pressão — Ctrl, Shift, Alt, ou Meta

Retorna uma mensagem de confirmação.

browser_scroll_ref

Rola um elemento até ficar visível pelo ID da ref de browser_snapshot. Opcionalmente, rola por um delta de pixel dentro do elemento. Falha se o snapshot expirar.

Parâmetros requeridos:

  • snapshotId: ID de snapshot retornado por browser_snapshot
  • ref: referência do elemento (por exemplo, e5) dos nós do instantâneo

Parâmetros opcionais:

  • deltaX: Delta de rolagem horizontal em pixels (padrão 0)
  • deltaY: Delta de rolagem vertical em pixels (padrão 0)

Retorna uma mensagem de confirmação.

browser_set_file_input_ref

Define os arquivos em um elemento de entrada de arquivo pelo ID de referência de browser_snapshot. Os caminhos de arquivo são restritos aos diretórios do usuário Documents, Downloads, Desktop ou %TEMP%.

Parâmetros requeridos:

  • snapshotId: ID de snapshot retornado por browser_snapshot
  • ref: Element ref para a entrada do arquivo
  • filePaths: Array de caminhos de arquivo a serem enviados

Retorna uma mensagem de confirmação.

find_ui_element

Pesquisa elementos de interface do usuário por conteúdo de texto, função de acessibilidade ou nome (subcadeia de caracteres que não diferencia maiúsculas de minúsculas). Retorna elementos correspondentes com suas coordenadas clicáveis na tela.

Parâmetros opcionais:

  • texto: Texto a ser buscado (usado como nome caso o nome seja omitido)
  • função: filtro de função da interface do usuário - Button, TextBox, CheckBox, MenuItem, ComboBox e mais
  • nome: Nome acessível (tem precedência sobre o texto se ambos forem fornecidos)
  • windowHandle: Identificador da janela de destino (null = janela em primeiro plano)

Principais recursos

Interação no desktop

  • Clique, clique duplo, clique direito e controle do mouse com cinco botões.
  • Arrastar e soltar com precisão em nível de pixel.
  • Rolagem por cliques (três cliques ≈ uma página).
  • Digitação pelo teclado e combinações de teclas de atalho.
  • Rastreamento da posição do cursor.
  • Detecção de resolução de tela.

Captura de tela e análise

  • Capturas de tela cheia ou recortadas em PNG.
  • OCR da tela inteira com níveis de confiança por região e caixas delimitadoras.
  • Capturas de tela somente da área visível do navegador de conteúdo da web.

Gerenciamento de janelas

  • Enumere todas as janelas visíveis com posições e dimensões.
  • Ative janelas por correspondência aproximada do título.
  • Foque nas janelas do navegador (Edge, Chrome, Firefox) opcionalmente filtradas por URL ou título.
  • Fechamento suave da janela com proteção para processos críticos do sistema.

Execução do comando

  • Comandos de shell em sandbox com uma lista de permissões (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
  • Execução em sandbox Python de até 262.144 caracteres de código.
  • Diretório de trabalho e tempo limite por chamada (máximo de 30 segundos).
  • Limites de recursos e lista de bloqueio endurecida contra metacaracteres de shell, sinalizadores do eval, escalonamento de privilégios e operações destrutivas.

Automação de navegador

  • Navegar, voltar, avançar, recarregar e condições de espera configuráveis na navegação (load, networkidle0, networkidle2).
  • Leia a URL da página, título, texto visível (limite de 512 KB) e HTML completo (limite de 512 KB).
  • Recuperação consolidada do estado da página — URL, título, DOM, captura de tela e lista de abas em uma única chamada.
  • Clique, digitação, preenchimento de formulário, arrasto e <select> seleção de opções em nível DOM pelo seletor CSS.
  • Interação baseada em snapshot de acessibilidade por ID de referência — clique, digitação, pairar, pressionamento de tecla com modificadores, rolagem e upload de arquivo por campo de entrada.
  • Espere por elementos dinâmicos com tempo limite configurável, opcionalmente exigindo visibilidade.
  • Avalie JavaScript expressões no contexto da página.
  • Gerenciamento de múltiplas abas: lista, troca, abrir uma ou várias de uma vez e fechar.
  • Inspeção de cookies (valores redigidos) e atribuição ao domínio atual.
  • Execução em lote — sequência de múltiplos passos do navegador em uma única chamada, parando na primeira falha.
  • Salve a página atual como PDF sob %USERPROFILE% ou %TEMP%.
  • Tratamento de diálogo para alert, confirm, prompt, e beforeunload.
  • Roda no Microsoft Edge, é lançado automaticamente no primeiro uso.

Acessibilidade da interface do usuário

  • Recupere o Windows Automação da Interface do Usuário tree para a janela em primeiro plano com profundidade e contagem de elementos configuráveis.
  • Encontre elementos da interface por texto, função ou nome acessível.
  • Retorna coordenadas clicáveis na tela para direcionar com precisão botões, caixas de texto, caixas de seleção, itens de menu e caixas de combo.

Temporização e sincronização

  • Use wait_milliseconds para pausas curtas e únicas (até cinco segundos).
  • Use browser_wait_for para polling em nível DOM (até 30 segundos).

Observações

  • Todas as coordenadas estão em pixels da tela com (0,0) no canto superior esquerdo. Coordenadas de take_screenshot, analyze_screen, find_ui_element, e list_windows todas compartilham o mesmo espaço de coordenadas.
  • Um sistema de segurança do cursor está ativo: Se o cursor se mover a menos de cinco pixels de qualquer canto da tela, as operações do mouse são canceladas. Evite mirar nas bordas extremas da tela.
  • Operadores de tubos shell (|), pontos e vírgula (;), ampersands (&) e redirecionamento de saída (>, <) são bloqueados. Para transformar a saída do comando, capture-a e processe-a com execute_python_code.
  • Se as flags de avaliação do interpretador estiverem bloqueadas ou se python -c "..." e node -e "..." forem rejeitados, você pode usar execute_python_code para código Python ou primeiro gravar o código em um arquivo.
  • O comando stdout/stderr é truncado a 32 KB cada. Use flags para limitar a saída verbosa (por exemplo, git log --oneline -20) ou redirecione para um arquivo e leia separadamente.
  • O tempo máximo para execute_shell_command e execute_python_code é de 30 segundos. Para trabalhos mais longos, divida em etapas menores ou inicie um processo em segundo plano a partir do Python e faça uma pesquisa.
  • Não existe uma ferramenta dedicada para leitura/gravação de arquivos. Leia arquivos com execute_shell_command usando o comando type. Escreva arquivos com execute_python_code usando a I/O de arquivos embutida da Python. A redireção de saída do shell (>, >>) é bloqueada.
  • browser_eval_js sempre retorna uma string. Converta objetos ou números explicitamente antes de retornar.
  • As ferramentas DOM do navegador (browser_click, browser_type, browser_eval_js e outras) operam apenas na instância Microsoft Edge.  focus_browser consegue colocar em foco janelas do Chrome ou do Firefox, mas as ferramentas de DOM não as têm como alvo.
  • take_screenshot requer os quatro parâmetros de corte (x, y, largura, altura) juntos, ou nenhum para uma captura em tela inteira.
  • scroll usa unidades de notch (limitadas ao intervalo de [-20, 20]), não em pixels. Três entalhes correspondem aproximadamente a uma página.
  • find_ui_element requer pelo menos um destes elementos: texto, função ou nome. Quando tanto texto quanto nome são fornecidos, o nome tem precedência.
  • browser_snapshot Referências expiram na navegação. Se uma ferramenta _ref (clicar, digitar, passar o cursor, pressionar uma tecla, rolar ou definir o campo de arquivo) falhar porque o snapshot está desatualizado, capture o snapshot novamente e tente outra vez.
  • browser_set_file_input_ref aceita apenas caminhos de arquivo nos diretórios Documents, Downloads, Desktop ou %TEMP% do usuário. Arquivos fora dessas localidades são rejeitados.
  • browser_get_cookies sempre retorna os valores dos cookies redigidos. Use-o para inspeção — nomes, domínios, caminhos e flags são retornados na íntegra, mas os valores não são expostos.
  • browser_set_cookies Só adiciona ou sobrescreve cookies. Não apaga os cookies existentes. Para remover um cookie, sobrescreva-o com um expires com valor expirado por meio desta ferramenta ou limpe-o na própria página.
  • browser_execute_batch para na primeira ação falhada e retorna apenas os resultados coletados até aquele momento. Ações subsequentes no array não são executadas. As ações em lote permitidas estão limitadas a: navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, wait_for e eval_js.
  • browser_create_tabs abre abas na ordem fornecida. Se foregroundIndex for omitido, o foco permanece na aba atualmente ativa.
  • browser_get_page_state retorna apenas os campos listados no fields array. Solicite apenas o que você precisa – incluir dom ou screenshot pode gerar payloads grandes.

Casos de uso comuns

Preencha um formulário online

  • Ligue browser_navigate para abrir a página alvo.
  • Chame browser_wait_for para aguardar o carregamento do formulário.
  • Chame browser_type para preencher cada campo pelo seletor CSS.
  • Ligue browser_click para enviar o formulário.
  • Chame browser_wait_for para esperar pelo elemento de confirmação.
  • Ligue browser_get_text para ler e verificar o resultado.

Automatize um aplicativo de desktop

  • Chame activate_window para colocar a aplicação em primeiro plano.
  • Chame take_screenshot para capturar o estado atual.
  • Ligue find_ui_element para localizar um botão ou campo pelo nome.
  • Chame click nas coordenadas informadas do elemento.
  • Ligue type_text para inserir dados.
  • Use press_keys para atalhos (por exemplo, ["ctrl","s"] para salvar).
  • Ligue take_screenshot para verificar o resultado.

Extrair dados de uma página web

  • Ligue browser_navigate para abrir a página.
  • Chame browser_get_text para extrair conteúdo textual visível.
  • Chamar execute_python_code para analisar e processar os dados extraídos.
  • Chamar browser_eval_js para consultar valores específicos via JavaScript quando extração de texto não for suficiente.

Executar tarefas de desenvolvimento

  • Ligue para execute_shell_command para git pull, npm install e dotnet build.
  • Chame take_screenshot para capturar a saída da compilação.
  • Chame execute_python_code para analisar logs ou resultados de testes.
  • Chamar browser_navigate para abrir um servidor de desenvolvimento local no navegador.
  • Chame browser_screenshot para capturar a página renderizada.

Ler e gravar arquivos

  • Leia um arquivo usando execute_shell_command com type C:\path\to\file.txt.
  • Escreva um arquivo usando execute_python_code com Python open(...) e write(...).
  • Verifique usando execute_shell_command com dir C:\path\to\output.txt.
  • Ligue get_accessibility_tree para entender toda a estrutura da interface.
  • Chame find_ui_element para encontrar um controle específico (por exemplo, role: "MenuItem", name: "Settings").
  • Chame click usando as coordenadas reportadas pelo elemento.
  • Ligue find_ui_element novamente para encontrar o próximo controle no diálogo.
  • Ligue para type_text ou click para interagir com ela.

Mantenha uma sessão de longa duração ativa

  • Envie qualquer solicitação MCP ao menos uma vez a cada 30 minutos para evitar a remoção por inatividade.
  • get_screen_size é leve e funciona bem como batimentos cardíacos.

Saiba mais

Windows 365 para Agentes