Referência ao servidor MCP do Windows 365 para Agentes (prévia)

Important

  • Esta é uma funcionalidade de pré-visualização.
  • As versões prévias do recurso não foram criadas para uso em ambientes de produção e podem ter funcionalidade restrita. Esses recursos estão sujeitos a termos de uso suplementares e são disponibilizados antes de um lançamento oficial, de maneira que os clientes possam ter acesso antecipado e fazer comentários.

Windows 365 para Agentes é um servidor MCP para 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

  • Conexões existentes que utilizam versões anteriores dos servidores MCP da Microsoft continuam suportadas.
  • Para todas as novas conexões, use o servidor MCP mais recente do Windows 365 Agents, que expõe ferramentas em áreas de trabalho, navegador e acessibilidade.
  • A automação do navegador opera no Microsoft Edge. O Edge inicia automaticamente na primeira chamada de ferramenta do navegador. focus_browser também pode mirar no Chrome ou Firefox, mas ferramentas de navegador em nível DOM operam apenas na instância do Edge.

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

Overview

Server ID Display name Description
mcp_W365AServer Windows 365 para Agentes servidor MCP 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.

Available tools

mcp_desktop_move_mouse

Mova o cursor para a posição da tela. Use mcp_desktop_click em vez disso se pretende clicar no destino.  Required parameters:

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

mcp_desktop_click

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

Optional parameters:

  • x: Coordenada X em pixels da tela (omita a posição atual)

  • y: Coordenada Y nos pixels da tela (omita a posição atual)

  • button: Esquerda, Direita, Meio, Frente ou Trás (padrão Esquerda)

  • clickCount: 1 = clique simples, 2 = clique duplo (padrão 1)

mcp_desktop_get_cursor_position

Retorne as coordenadas atuais do cursor. No parameters. Retorna {cursorX, cursorY}.

mcp_desktop_drag_mouse

Arraste de uma posição para outra. Útil para mover objetos, redimensionar janelas ou rolar com precisão de pixel. Required parameters:

  • startX: Coordenada X inicial.
  • startY: Coordenada Start Y.
  • endX: Fim coordenada X.
  • endY: Fim da coordenada Y. Optional parameters:
  • button: Esquerda, Direita ou Meio (padrão é Esquerda)

mcp_desktop_scroll

Role em uma posição usando unidades de notch (não pixels). Três entalhes correspondem aproximadamente a uma página. 

Required parameters:

  • x: Posição do scroll X

  • y: Posição de rolagem Y

Optional parameters:

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

mcp_desktop_type_text

Digite texto via simulação de teclado. Para atalhos de teclado, use mcp_desktop_press_keys. Para campos de formulário web, use mcp_browser_type

Required parameters:

  • text: Texto para digitar

mcp_desktop_press_keys

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

Required parameters:

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

mcp_desktop_take_screenshot

Capture a tela cheia ou uma região recortada como uma imagem PNG (codificada base64). 

Optional parameters:

  • x: Região de cultivo na borda esquerda
  • y: Região de cultivo na borda superior
  • width: Largura da região de cultivo
  • height: Altura da região agrícola

Note

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

mcp_desktop_analyze_screen

Realize OCR em toda a tela. No parameters. Retorna {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height}.

mcp_desktop_get_screen_size

Devolva a resolução da tela. No parameters. Retorna {width, height}.

mcp_desktop_list_windows

Liste todas as janelas visíveis com seus títulos, posições e dimensões. No parameters. Retorna um array de {title, processName, handle, x, y, width, height}.

mcp_desktop_activate_window

Coloque uma janela em primeiro plano usando uma luta pelo título com fuzzy.

Required parameters:

  • titlePattern: Título parcial da janela (substringa insensível a maiúsculas minúsculas)

mcp_desktop_focus_browser

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

Optional parameters:

  • pattern: URL ou substring de título para corresponder (omita em qualquer janela do navegador)

mcp_desktop_close_window

Feche uma janela com elegância com uma luta pelo título confusa. Processos críticos para o sistema são protegidos e não podem ser fechados.

Required parameters:

  • titlePattern: Título parcial da janela (80% limiar de partida). Retorna {matchedTitle, processName, closed}.

mcp_desktop_execute_shell_command

Execute um comando shell em um ambiente sandbox. Comandos são validados contra uma lista de permissão e padrões perigosos são bloqueados.

Required parameters:

  • command: Comando para executar

Optional parameters:

  • cwd: Diretório de trabalho
  • timeoutMs: Tempo limite em milissegundos (padrão 30000, máximo 30000)

Note

  • Comandos permitidos: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, e type.
  • Padrões bloqueados incluem metacaracteres de shell (|, ;, &, <, ), >expansão (%VAR%)de variáveis de ambiente, flags de avaliação do interpretador (python -c ou node -e), git config --global, npm -g, executáveis com prefixo de caminho, rm -rf, sudo, e comandos de disco/sistema.
  • stdout e stderr cada um é truncado a 32 KB. Use mcp_desktop_execute_python_code para cálculos arbitrários. Retorna {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

mcp_desktop_execute_python_code

Execute código Python em um ambiente sandbox com limites de recursos. Ideal para processamento de dados, cálculos, I/O de arquivos e qualquer cálculo que vá além de simples comandos de shell.

Required parameters:

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

Optional parameters:

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

Retorna o mesmo esquema que mcp_desktop_execute_shell_command

mcp_desktop_wait_milliseconds

Pause a execução para permitir que animações ou transições sejam concluídas. Não use em loops de votação — use mcp_browser_wait_for para polling do DOM. 

Required parameters:

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

mcp_browser_navigate

Navegue até uma URL e espere a página carregar. 

Required parameters:

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

mcp_browser_back

Navegue de volta no histórico do navegador. No parameters.

mcp_browser_forward

Navegue para frente no histórico do navegador. No parameters.

mcp_browser_reload

Recarregue a página atual. No parameters.

mcp_browser_get_url

Retorne a URL da página atual como uma string simples. No parameters.

mcp_browser_get_title

Devolva o título da página atual como uma string simples. No parameters.

mcp_browser_get_text

Devolva o texto visível da página como uma string simples. No parameters. Reduzido em 512 KB.

mcp_browser_get_html

Devolva a fonte HTML da página completa como uma string simples. No parameters. Reduzido em 512 KB.

mcp_browser_click

Clique em um elemento DOM pelo seletor CSS. Mais confiável do que clicar por coordenadas para conteúdo web.

Required parameters:

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

mcp_browser_type

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

Required parameters:

  • selector: CSS seletor do elemento de entrada.
  • text: Texto para digitar

mcp_browser_query_text

Obtenha o conteúdo do texto do primeiro elemento correspondente a um seletor CSS.

Required parameters:

  • selector: CSS seletor

mcp_browser_wait_for

Espere um elemento DOM aparecer. Útil para conteúdo dinâmico que carrega de forma assíncrona.

Required parameters:

  • selector: CSS seletor para esperar por

Optional parameters:

  • timeoutMs: Tempo limite em milissegundos (padrão 5000, máximo 30000)

mcp_browser_eval_js

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

Required parameters:

  • expression: JavaScript expressão que retorna uma cadeia

Note

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

mcp_browser_list_tabs

Liste todas as abas abertas com a URL de e deles index, title, . No parameters. Retorna um array de {index, title, url}.

mcp_browser_switch_tab

Mude para uma aba pelo índice.

Required parameters:

  • tabIndex: Índice de tabulação baseado em 0

mcp_browser_new_tab

Abra uma nova aba, opcionalmente navegue até uma URL.

Optional parameters:

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

Retorna {index, title, url}.

mcp_browser_close_tab

Feche uma aba por índice.

Required parameters:

  • tabIndex: Índice de tabulação baseado em 0

mcp_browser_screenshot

Capture uma captura de tela em PNG apenas da viewport do navegador (não da tela cheia). No parameters. Retorna um PNG codificado base64.

mcp_accessibility_get_accessibility_tree

Recupere a árvore de elementos da interface para a janela em primeiro plano. Cada elemento inclui seu papel, nome, valor e coordenadas de tela.

Optional parameters:

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

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

mcp_accessibility_find_ui_element

Procure por elementos de interface por conteúdo de texto, função de acessibilidade ou nome (substringa insensível a maiúsculas minúsculas). Retorna elementos correspondentes com suas coordenadas de tela clicáveis.

Optional parameters:

  • text: Texto a ser buscado (usado como nome caso nome seja omitido)
  • role: filtro de função da interface — Button, TextBox, CheckBox, MenuItem, ComboBox, e mais
  • name: Nome acessível (tem precedência sobre o texto se ambos forem fornecidos)
  • windowHandle: Controle da janela alvo (nulo = janela em primeiro plano)

Note

Pelo menos um de texto, função ou nome deve ser fornecido. Retorna um array de {role, name, value, x, y, width, height}.

Key features

Desktop interaction

  • Clique, clique duplo, clique direito e controle do mouse com cinco botões.
  • Arrastar e soltar com precisão de pixel.
  • Rolagem baseada em entalhes (três entalhes ≈ uma página).
  • Teclado e atalhos combinados de teclado.
  • 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 cheia com pontuações de confiança por região e caixas delimitadoras.
  • Capturas de tela apenas para o navegador para conteúdo da web.

Window management

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

Command execution

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

Browser automation

  • Navegar, voltar, avançar, recarregar.
  • Leia a página URL, título, texto visível (limite de 512 KB) e HTML completo (limite de 512 KB).
  • Consulta de clique, digitação e texto em nível DOM por seletor CSS.
  • Espere pelos elementos dinâmicos com tempo limite configurável.
  • Avalie JavaScript expressões no contexto da página.
  • Gerenciamento multi-aba: lista, troca, abertura, fechamento.
  • Roda no Microsoft Edge, é lançado automaticamente no primeiro uso.

UI accessibility

  • 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

  • Pausas curtas de um tiro ( mcp_desktop_wait_milliseconds máximo cinco segundos).
  • Polling em nível DOM via mcp_browser_wait_for (máximo 30 segundos).

Notes

  • Todas as coordenadas estão em pixels da tela com (0,0) no canto superior esquerdo. Coordenadas de mcp_desktop_take_screenshot, mcp_desktop_analyze_screen, mcp_accessibility_find_ui_element, e mcp_desktop_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 mcp_desktop_execute_python_code.
  • Se flags de avaliação do interpretador estiverem bloqueados ou se python -c "..." e node -e "..." forem rejeitados, você pode usar mcp_desktop_execute_python_code para Python código, ou escrever código em um arquivo primeiro.
  • O comando stdout/stderr é truncado em 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 mcp_desktop_execute_shell_command e mcp_desktop_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 de leitura/gravação de arquivos. Leia arquivos com mcp_desktop_execute_shell_command usando o comando type; escreva arquivos com mcp_desktop_execute_python_code usando a I/O de arquivos embutida da Python. A redireção de saída do shell (>, >>) é bloqueada.
  • mcp_browser_eval_js Sempre devolve uma corda. Converta objetos ou números explicitamente antes de retornar.
  • As ferramentas DOM do navegador (mcp_browser_click, mcp_browser_type, mcp_browser_eval_js, etc.) operam apenas na instância Microsoft Edge.  mcp_desktop_focus_browser Posso focar nas janelas do Chrome ou Firefox, mas as ferramentas DOM não as direcionam.
  • mcp_desktop_take_screenshot requer os quatro parâmetros de corte (x, y, largura, altura) juntos, ou nenhum para uma captura em tela inteira.
  • mcp_desktop_scroll Usa unidades de entalhe (fixadas a [-20, 20]), não pixels. Três entalhes correspondem aproximadamente a uma página.
  • mcp_accessibility_find_ui_element Requer pelo menos um de texto, função ou nome. Quando tanto texto quanto nome são fornecidos, o nome tem precedência.

Casos de uso comuns

Preencha um formulário online

  • Ligue mcp_browser_navigate para abrir a página alvo.
  • Ligue mcp_browser_wait_for para esperar o formulário carregar.
  • Chame mcp_browser_type para preencher cada campo pelo seletor CSS.
  • Ligue mcp_browser_click para enviar o formulário.
  • Ligue mcp_browser_wait_for para esperar o elemento de confirmação.
  • Ligue mcp_browser_get_text para ler e verificar o resultado.

Automatize um aplicativo de desktop

  • Chame mcp_desktop_activate_window para colocar a aplicação em primeiro plano.
  • Chame mcp_desktop_take_screenshot para capturar o estado atual.
  • Ligue mcp_accessibility_find_ui_element para localizar um botão ou campo pelo nome.
  • Ligue mcp_desktop_click para as coordenadas reportadas do elemento.
  • Ligue mcp_desktop_type_text para inserir dados.
  • Peça mcp_desktop_press_keys atalhos (por exemplo, ["ctrl","s"] para salvar).
  • Ligue mcp_desktop_take_screenshot para verificar o resultado.

Extrair dados de uma página web

  • Ligue mcp_browser_navigate para abrir a página.
  • Chamada mcp_browser_get_text para extrair conteúdo de texto visível.
  • Chamar mcp_desktop_execute_python_code para analisar e processar os dados extraídos.
  • Chamar mcp_browser_eval_js para consultar valores específicos via JavaScript quando extração de texto não for suficiente.

Executar tarefas de desenvolvimento

  • Chame mcp_desktop_execute_shell_command , git pullnpm install, e dotnet build.
  • Chamar mcp_desktop_take_screenshot para capturar a saída da build.
  • Ligue mcp_desktop_execute_python_code para analisar logs ou resultados de testes.
  • Chamar mcp_browser_navigate para abrir um servidor de desenvolvimento local no navegador.
  • Chame mcp_browser_screenshot para capturar a página renderizada.

Ler e gravar arquivos

  • Leia um arquivo com mcp_desktop_execute_shell_command usando type C:\path\to\file.txt.
  • Escreva um arquivo com mcp_desktop_execute_python_code usando os Python open(...) e write(...).
  • Verifique usando mcp_desktop_execute_shell_commanddir C:\path\to\output.txto .
  • Ligue mcp_accessibility_get_accessibility_tree para entender toda a estrutura da interface.
  • Chame mcp_accessibility_find_ui_element para encontrar um controle específico (por exemplo, função: "MenuItem", nome: "Configurações").
  • Chame mcp_desktop_click usando as coordenadas reportadas pelo elemento.
  • Ligue mcp_accessibility_find_ui_element novamente para encontrar o próximo controle no diálogo.
  • Ligue mcp_desktop_type_text ou mcp_desktop_click interaja com ela.

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

  • Envie qualquer pedido de MCP pelo menos uma vez a cada 30 minutos para evitar o despejo ocioso.
  • mcp_desktop_get_screen_size é leve e funciona bem como batimentos cardíacos.