Referencia del servidor MCP de Windows 365 para agentes

Note

Este artículo describe características utilizadas en agentes o flujos de agentes alimentados por el arnés estándar.

Windows 365 para Agentes es un servidor MCP que te da control operativo total de un PC en la nube con Windows 365. Utiliza este servidor MCP para manejar un entorno Windows real mediante interacción de escritorio (ratón, teclado, captura de pantalla, ejecución de comandos), automatización del navegador mediante Microsoft Edge y inspección semántica de la interfaz mediante Windows Automatización de la interfaz de usuario.

Note

La automatización del navegador funciona en Microsoft Edge. Edge se inicia automáticamente en la primera llamada a la herramienta del navegador. focus_browser también puede dirigirse a Chrome o Firefox, pero las herramientas de navegador a nivel DOM solo funcionan en la instancia de Edge.

Para saber más sobre Windows 365 para agentes, consulta Windows 365 para la documentación de agentes.

Información general

Id. de servidor Dirección URL a nivel de arrendatario Nombre para mostrar Descripción
mcp_W365ComputerUse https://agent365.svc.cloud.microsoft/
agents/tenants/{tenantId}/
servers/mcp_W365ComputerUse
Windows 365 para agentes servidor MCP Control operativo completo de un PC en la nube con Windows 365, incluyendo interacción de escritorio, automatización del navegador e inspección de la interfaz de usuario.

Herramientas disponibles

mcp_W365ComputerUse_StartSession

Inicia una sesión de Uso de Ordenador con Windows 365, estableciendo una conexión a un PC en la nube y asignando un recurso para PC en la nube. Devuelve el sessionId que puede usarse para gestionar la sesión.

No hay parámetros requeridos.

mcp_W365ComputerUse_EndSession

Finaliza una sesión activa de Uso de Ordenador de Windows 365 y libera los recursos asociados en la nube del PC. Pase el sessionId devuelto por mcp_W365ComputerUse_StartSession.

Parámetros requeridos: sessionId

mcp_W365ComputerUse_GetSessionDetails

Devuelve los metadatos de una sesión de Uso del equipo de Windows 365 identificada por el sessionId. Pase el sessionId devuelto por mcp_W365ComputerUse_StartSession. No lista varias sesiones.

Parámetros requeridos: sessionId

move_mouse

Mueve el cursor a una posición de pantalla. Usa click en su lugar si quieres hacer clic en el lugar de destino. Parámetros requeridos:

  • x: Coordenada X en píxeles de pantalla
  • y: Coordenada Y en los píxeles de pantalla

click

Hace clic en una posición o en la ubicación actual del cursor si se omiten las coordenadas. Soporta clic simple, doble clic y los cinco botones del ratón.

Parámetros opcionales:

  • x: coordenada X en píxeles de pantalla (omitir la posición actual)
  • y: Coordenada Y en los píxeles de pantalla (omitir la posición actual)
  • botón: Izquierda, Derecha, Medio, Adelante o Atrás (por defecto Izquierda)
  • clickCount: 1 = clic simple, 2 = doble clic (por defecto 1)

get_cursor_position

Devuelve las coordenadas del cursor actuales. No hay parámetros. Devuelve {cursorX, cursorY}.

arrastrar con el ratón

Arrastra de una posición a otra. Útil para mover objetos, redimensionar ventanas o desplazamiento con precisión de píxeles. Parámetros requeridos:

  • startX: Coordenada Start X.
  • startY: Coordenada Start Y.
  • endX: Coordenada final X.
  • endY: Coordenada Y final. Parámetros opcionales:
  • botón: Izquierda, Derecha o Medio (por defecto es Izquierda)

Pergamino

Se desplaza hasta una posición utilizando unidades de muesca, no píxeles. Tres marcas equivalen aproximadamente a una página.

Parámetros requeridos:

  • x: Posición de desplazamiento X
  • y: Posición de desplazamiento Y

Parámetros opcionales:

  • deltaX: Muescas horizontales, positivo = derecho (por defecto 0)
  • deltaY: Desplazamientos verticales, positivo = hacia abajo (por defecto 0)

Note

Los valores se ajustan al rango [-20, 20].

type_text

Escribe texto simulando la entrada del teclado. Para atajos de teclado, usa press_keys. Para los campos de formulario web, utiliza browser_type.

Parámetros requeridos:

  • texto: Texto a escribir.

Parámetros opcionales:

  • usePaste: Pegar texto desde la carpeta en lugar de escribir.

pulsar_teclas

Presiona una combinación de teclas simultáneamente. Soporta teclas modificadoras, teclas de función y teclas estándar.

Parámetros requeridos:

  • teclas: Matriz de nombres de claves para pulsar juntos (por ejemplo, ["ctrl","c"], ["alt","tab"], ["ctrl","shift","s"])

hacer_una_captura_de_pantalla

Captura la pantalla completa o una región recortada como una imagen PNG (codificada en base64).

Parámetros opcionales:

  • x: Borde izquierdo de la región de cultivo
  • y: Borde superior de la región de cultivo
  • Ancho: Ancho de la región de cultivo
  • altura: Altura de la región de cultivo

Note

Proporciona los cuatro parámetros de recorte juntos, o omite los cuatro para una captura de pantalla completa.

región_de_zoom

Captura una región de pantalla a resolución nativa como una imagen PNG (codificada en base64). Utiliza esta función para inspeccionar texto pequeño o elementos densos de la interfaz que son difíciles de leer en una captura de pantalla a pantalla completa reducida.

Parámetros requeridos:

  • x: Coordenada X del borde izquierdo en los píxeles de pantalla
  • y: Coordenada Y en el borde superior de los píxeles de pantalla
  • ancho: Ancho de región en píxeles
  • altura: Altura de la región en píxeles

Note

El tamaño máximo de la región es de 1920x1080 píxeles.

analyze_screen

Realiza OCR en toda la pantalla. No hay parámetros. Devuelve {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height}.

get_screen_size

Devuelve la resolución de pantalla. No hay parámetros. Devuelve {width, height}.

list_windows

Lista todas las ventanas visibles con sus títulos, posiciones y dimensiones. No hay parámetros. Devuelve un array de {title, processName, handle, x, y, width, height}.

activate_window

Trae una ventana al primer plano mediante una coincidencia de título aproximada.

Parámetros requeridos:

  • título: Título parcial de ventana (subcadena insensible a mayúsculas)

focus_browser

Centra una ventana del explorador (Edge, Chrome o Firefox), filtrada opcionalmente por dirección URL o título.

Parámetros opcionales:

  • patrón: URL o subcadena del título que debe coincidir (omitir para cualquier ventana de navegador)

cerrar_ventana

Cierra una ventana correctamente mediante una coincidencia de título aproximada. El sistema protege procesos críticos y no puedes cerrarlos.

Parámetros requeridos:

  • título: Título de ventana parcial (umbral de coincidencia del 80 %). Devuelve {matchedTitle, processName, closed}.

Redimensionar ventana

Cambia el tamaño, mueve, maximiza, minimiza o restaura una ventana mediante una coincidencia de título aproximada.

Parámetros requeridos:

  • título: Título de la ventana que debe coincidir (coincidencia difusa sin distinguir entre mayúsculas y minúsculas)
  • acción: Acción para realizar - Resize, Move, Maximize, Minimize, o Restore

Parámetros opcionales:

  • x: Coordenada X del borde izquierdo (usada con Resize o Move)
  • y: Coordenada Y del borde superior (usada con Resize o Move)
  • ancho: Ancho en píxeles (usado con Resize)
  • altura: Altura en píxeles (usado con Resize)

ejecutar_comando_de_shell

Ejecuta un comando shell en un entorno sandbox. El comando se comprueba con una lista de permisos y se bloquean los patrones peligrosos.

Parámetros requeridos:

  • comando: Comando para ejecutar

Parámetros opcionales:

  • cwd: Directorio de trabajo. Usa barras diagonales (por ejemplo, C:/Users/me/project).
  • timeoutMs: Timeout en milisegundos (por defecto 30000, máximo 120000)

Note

  • Comandos permitidos: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type y notepad.
  • Los patrones bloqueados incluyen metacaracteres de shell (|, ;, &, <, >), la expansión de variables de entorno (%VAR%), indicadores de evaluación del intérprete (python -c o node -e), git config --global, npm -g, ejecutables con rutas como prefijo, rm -rf, sudo y comandos de disco o del sistema.
  • Los comandos stdout y stderr cada uno se reducen a 32 KB. Para cálculos arbitrarios, use execute_python_code. El comando devuelve{stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

execute_python_code

Ejecuta código Python en un entorno sandbox con límites de recursos. Esta función es ideal para el procesamiento de datos, cálculos, E/S de archivos y cualquier cálculo que vaya más allá de simples comandos de shell.

Parámetros requeridos:

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

Parámetros opcionales:

  • cwd: Directorio de trabajo. Usa tajos hacia delante.
  • timeoutMs: Tiempo límite en milisegundos (por defecto 30000, máximo 120000).

Devuelve el mismo esquema que execute_shell_command.

Note

El sandbox impone un límite de memoria de 512 MB y un tiempo de espera de 30 segundos.

wait_milliseconds

Pausa la ejecución para permitir que se completen animaciones o transiciones. No uses esta función en bucles de sondeo. En su lugar, usa browser_wait_for para el polling del DOM.

Parámetros requeridos:

  • ms: Duración de espera en milisegundos (sujeto a [0, 5000])

clipboard_read

Lee el contenido actual del portapapeles del sistema. Este comando no requiere ningún parámetro. Devuelve un objeto JSON que describe el formato del portapapeles y la carga útil, que puede ser una cadena de texto o una imagen codificada en base64.

escribir_portapapeles

Escribe texto en el portapapeles del sistema, reemplazando el contenido actual.

Parámetros requeridos:

  • texto: Texto para escribir en el portapapeles

Devuelve una confirmación que incluye el recuento de caracteres.

list_processes

Lista los procesos en ejecución en la sesión actual. Cada entrada incluye el PID, nombre del proceso, uso de memoria, título de ventana (si lo hay), y startTimeTicks. Combina startTimeTicks con kill_process para evitar matar un PID reciclado.

Parámetros opcionales:

  • maxCount: Número máximo de procesos que devolver (por defecto 200)

Devuelve un array JSON de objetos info de proceso.

finalizar_proceso

Finaliza un proceso mediante su PID. Proporciona el startTime valor de list_processes para protegerte contra el reciclaje de PID.

Parámetros requeridos:

  • pid: ID de proceso devuelto por list_processes
  • Tiempode inicio: Ticks de tiempo de inicio de proceso devueltos por list_processes

Parámetros opcionales:

  • force: Forzar la finalización sin un cierre ordenado (predeterminado: false)

Devuelve un resultado JSON que describe el resultado.

iniciar_aplicación

Inicia una aplicación de GUI desde un directorio permitido. Úsalo execute_shell_command para comandos de CLI en su lugar.

Parámetros requeridos:

  • ruta: Ruta absoluta hacia el ejecutable. Usa barras diagonales (por ejemplo, C:/Program Files/app.exe).

Parámetros opcionales:

  • args: Matriz de argumentos de línea de comandos

Devuelve {path, pid}.

get_system_info

Devuelve la versión del sistema operativo, CPU, RAM, espacio disponible en disco y resolución de pantalla. No hay parámetros. Devuelve un objeto JSON que contiene la información del sistema.

browser_navigate

Navega hasta una URL y espera a que cargue la página.

Parámetros requeridos:

  • URL: URL completa incluyendo protocolo (por ejemplo, https://example.com)

browser_back

Navega hacia atrás en el historial del navegador. No hay parámetros.

navegador_adelante

Navega hacia adelante en el historial del navegador. No hay parámetros.

recargar navegador

Vuelve a cargar la página actual. No hay parámetros.

browser_get_url

Devuelve la URL actual de la página como una cadena plana. No hay parámetros.

browser_get_title

Devuelve el título de la página actual como una cadena simple. No hay parámetros.

browser_get_text

Devuelve el texto visible de la página como una cadena simple. No hay parámetros. Truncado a 512 KB.

browser_get_html

Devuelve el código fuente HTML de página completa como una cadena simple. No hay parámetros. Truncado a 512 KB.

browser_get_page_state

Recupera varios campos de estado de página en una sola llamada. Útil para capturar varias señales a la vez sin emitir llamadas separadas a herramientas.

Parámetros requeridos:

  • campos: Lista de campos que se deben devolver. Valores permitidos: url, title, dom, screenshot, tabs

Devuelve un objeto JSON que contiene solo los campos solicitados.

browser_click

Hace clic en un elemento DOM mediante el selector CSS. Más fiable que el clic basado en coordenadas para contenido web.

Parámetros requeridos:

  • selector: selector de CSS (por ejemplo, #submit-btn o a.nav-link)

browser_type

Escribe texto en un elemento de formulario usando un selector CSS.

Parámetros requeridos:

  • selector: selector CSS del elemento de entrada.
  • texto: Texto a escribir.

browser_query_text

Obtiene el contenido de texto del primer elemento que coincide con un selector CSS.

Parámetros requeridos:

  • selector: selector de CSS.

browser_wait_for

Espera a que aparezca un elemento DOM. Esta función es útil para contenido dinámico que carga de forma asincrónica.

Parámetros requeridos:

  • Selector: Selector CSS para esperar.

Parámetros opcionales:

  • timeoutMs: Tiempo de espera en milisegundos. El valor por defecto es 5.000 y el máximo es 30.000.

browser_eval_js

Evalúa una expresión JavaScript en el contexto de la página y devuelve el resultado como cadena.

Parámetros requeridos:

  • expresión: expresión JavaScript que devuelve una cadena

Note

Si tu expresión devuelve un objeto o número, conviértelo explícitamente a una cadena (por ejemplo, JSON.stringify(obj) o .toString()).

browser_list_tabs

Lista todas las pestañas abiertas con su índice, título y URL. No se requiere ningún parámetro. Devuelve un array de {index, title, url}.

Parámetros opcionales:

  • tabId: Identificador de pestaña único

browser_switch_tab

Cambia de pestaña según su índice.

Parámetros requeridos:

  • tabIndex: índice de tabulación basado en 0

Parámetros opcionales:

  • tabId: Identificador de pestaña único

browser_new_tab

Abre una nueva pestaña y, opcionalmente, navega a una dirección URL.

Parámetros opcionales:

  • URL: URL para abrir (pestaña vacía si se omite)

Devuelve {index, title, url}.

browser_create_tabs

Abre varias pestañas a la vez. Opcionalmente, trae uno de ellos al primer plano.

Parámetros requeridos:

  • URLs: Array de URLs para abrir, una pestaña por URL

Parámetros opcionales:

  • foregroundIndex: Índice de la pestaña que se debe llevar al primer plano después de crearla (si se omite, se mantiene el foco en la pestaña actual)

Devuelve un mensaje de confirmación.

browser_close_tab

Cierra una pestaña por índice.

Parámetros requeridos:

  • tabIndex: índice de tabulación basado en 0 Parámetros opcionales:

  • tabId: Identificador de pestaña único

captura_de_pantalla_del_navegador

Captura una captura de pantalla PNG solo de la ventanilla del explorador (no la pantalla completa). No hay parámetros. Devuelve un PNG codificado en base64.

navegador_seleccionar_opción

Selecciona una o varias opciones en un <select> elemento por su value atributo.

Parámetros requeridos:

  • selector: selector CSS para el <select> elemento
  • valores: Array de valor(es) de opción a seleccionar

Devuelve una confirmación con el conteo de opciones seleccionadas.

navegador_rellenar_formulario

Rellena varios campos de formulario en una sola llamada. Cada entrada es un par {selector, value}. La operación se detiene en el primer fallo e informa de qué campos tuvieron éxito.

Parámetros requeridos:

  • campos: Matriz de {selector, value} pares

Devuelve una confirmación con el conteo de campos rellenados.

browser_drag

Arrastra un elemento de origen a un elemento de destino. Ambos elementos se identifican mediante el selector CSS.

Parámetros requeridos:

  • sourceSelector: selector CSS de la fuente de arrastre
  • targetSelector: selector CSS del destino de colocación

browser_pdf_save

Guarda la página actual como un archivo PDF. Las rutas de destino están restringidas a %USERPROFILE% o %TEMP%.

Parámetros requeridos:

  • Ruta de archivo: Ruta de archivo de destino bajo %USERPROFILE% o %TEMP%. Usa tajos hacia delante.

Devuelve una confirmación que incluye la ruta del archivo guardado.

browser_handle_dialog

Acepta o descarta un cuadro de diálogo de explorador pendiente (alerta, confirmación, aviso o antes de la descarga). Devuelve "No hay diálogo pendiente" si no hay ningún diálogo activo.

Parámetros requeridos:

  • acción: accept o dismiss

Parámetros opcionales:

  • promptText: Texto para enviar a un diálogo de prompt (ignorado para alertar y confirmar)

browser_get_cookies

Obtiene cookies para la página actual o para un conjunto especificado de direcciones URL. Los valores de las cookies siempre están redactados por motivos de seguridad; se devuelven nombres, dominios, rutas y banderas.

Parámetros opcionales:

  • URLs: Array de URLs para obtener cookies (omitido en la página actual)

Devuelve un array de objetos cookie con valores censurados.

browser_set_cookies

Establece cookies en el dominio de la página actual. Esta acción agrega o sobrescribe cookies, pero no borra las cookies existentes.

Parámetros requeridos:

  • cookies: Lista de objetos de cookie. Cada entrada requiere name y value. Campos opcionales: domain, path, secure, httpOnly, sameSite.

Devuelve un mensaje de confirmación.

browser_execute_batch

Ejecuta varias acciones del explorador secuencialmente en una sola llamada. Esta acción se detiene en el primer fallo y devuelve los resultados obtenidos hasta ese momento.

Parámetros requeridos:

  • acciones: Matriz de {action, params} objetos. Acciones permitidas: navigate, snapshot, click_ref, type_refhover_ref, , scroll_ref, keypress_ref, wait_for, . eval_js

Devuelve una serie de resultados, uno por acción ejecutada.

browser_snapshot

Captura el árbol de accesibilidad de la página con IDs de referencia estables (por ejemplo, e5) que se asignan a nodos DOM. Usa las referencias con browser_click_ref, browser_type_ref, y browser_hover_ref. Las referencias expiran cuando la página cambia; vuelve a tomar una instantánea después de la navegación.

Parámetros opcionales:

  • maxDepth: Profundidad máxima del árbol, 1-10 (por defecto 5)
  • incluyeIframes: Incluye iframes de origen cruzado (por defecto verdadero)

Devuelve un objeto JSON que contiene la instantánea de accesibilidad y los IDs de referencia.

browser_click_ref

Hace clic en un elemento mediante el ID de referencia de browser_snapshot. Una prueba de impacto verifica que ningún otro elemento se superponga al elemento de destino. Falla si la instantánea caduca; vuelve a tomar la instantánea en ese caso.

Parámetros requeridos:

  • snapshotId: ID de instantánea devuelto por browser_snapshot
  • ref: Referencia del elemento (por ejemplo, e5) de los nodos de la instantánea

Parámetros opcionales:

  • botón: Izquierda, Derecha o Medio (por defecto Izquierda)
  • clickCount: 1 = clic simple, 2 = doble clic (por defecto 1)

Devuelve una confirmación que incluye las coordenadas pulsadas.

browser_type_ref

Escribe texto en un elemento usando el identificador de referencia de browser_snapshot. El elemento se enfoca primero y el texto existente se borra por defecto. La operación falla si la instantánea expira.

Parámetros requeridos:

  • snapshotId: ID de instantánea devuelto por browser_snapshot
  • ref: Referencia del elemento (por ejemplo, e5) de los nodos de la instantánea
  • texto: Texto para escribir

Parámetros opcionales:

  • Clear: Borrar primero el texto existente (por defecto verdadero)

Devuelve una confirmación que incluye el recuento de caracteres.

browser_hover_ref

Pasa el cursor sobre un elemento usando el ID de referencia de browser_snapshot. Devuelve inmediatamente. La operación falla si la instantánea expira; en ese caso, vuelva a tomar la instantánea.

Parámetros requeridos:

  • snapshotId: ID de instantánea devuelto por browser_snapshot
  • ref: Referencia del elemento (por ejemplo, e5) de los nodos de la instantánea

Devuelve una confirmación que incluye las coordenadas de flotación.

obtener_árbol_de_accesibilidad

Recupera el árbol de elementos de la interfaz de usuario para la ventana de primer plano. Cada elemento incluye su función, nombre, valor y coordenadas de pantalla.

Parámetros opcionales:

  • maxDepth: Profundidad máxima de travesía del árbol, 1-10 (por defecto 3)
  • maxElements: Máximo de elementos que deben regresar, 1-2000 (por defecto 500)

Devuelve un árbol jerárquico de {rol, nombre, valor, x, y, ancho, altura, hijos[...]}.

browser_keypress_ref

Presiona una sola tecla en un elemento mediante el identificador de referencia de browser_snapshot. El elemento se enfoca primero. Soporta teclas modificadoras. Falla si la instantánea ha expirado; vuelve a tomar la instantánea en ese caso.

Parámetros requeridos:

  • snapshotId: ID de instantánea devuelto por browser_snapshot
  • ref: Referencia del elemento (por ejemplo, e5) de los nodos de la instantánea
  • clave: Nombre clave — por ejemplo, Enter, Escape, Tab, ArrowUp, ArrowDown, o F1F12

Parámetros opcionales:

  • modificadores: Matriz de teclas modificadoras que mantener mantenidas durante la pulsación — Ctrl, Shift, Alt, o Meta

Devuelve un mensaje de confirmación.

browser_scroll_ref

Desplaza un elemento hasta hacerlo visible mediante el ID de ref. desde browser_snapshot. Opcionalmente, se desplaza por un delta de píxeles dentro del elemento. Falla si la instantánea caduca.

Parámetros requeridos:

  • snapshotId: ID de instantánea devuelto por browser_snapshot
  • ref: Referencia del elemento (por ejemplo, e5) de los nodos de la instantánea

Parámetros opcionales:

  • deltaX: Delta de desplazamiento horizontal en píxeles (por defecto 0)
  • deltaY: Delta de desplazamiento vertical en píxeles (por defecto 0)

Devuelve un mensaje de confirmación.

browser_set_file_input_ref

Establece los archivos en un elemento de entrada de archivos mediante el ID de referencia de browser_snapshot. Las rutas de acceso a archivos están restringidas a los directorios del usuario Documents, Downloads, Desktop o %TEMP%.

Parámetros requeridos:

  • snapshotId: ID de instantánea devuelto por browser_snapshot
  • ref: Element ref para la entrada del archivo
  • filePaths: Matriz de rutas de archivo para subir

Devuelve un mensaje de confirmación.

find_ui_element

Busca elementos de la interfaz de usuario por contenido de texto, rol de accesibilidad o nombre (subcadena sin distinción entre mayúsculas y minúsculas). Devuelve elementos coincidentes con sus coordenadas de pantalla clicables.

Parámetros opcionales:

  • texto: Texto para buscar (usado como nombre si se omite el nombre)
  • role: filtro de roles de interfaz de usuario: Button, TextBox, CheckBox, MenuItem, , ComboBoxy más
  • nombre: Nombre accesible (tiene prioridad sobre el texto si ambos se proporcionan)
  • windowHandle: Identificador de la ventana de destino (null = ventana en primer plano)

Características principales

Interacción con el escritorio

  • Clic doble, clic derecho, control de ratón con cinco botones.
  • Arrastrar y soltar con precisión de píxel.
  • Desplazamiento por muescas (tres muescas ≈ una página).
  • Escritura con teclado y combinaciones de teclas de acceso directo.
  • Seguimiento de posición del cursor.
  • Detección de resolución de pantalla.

Captura de pantalla y análisis

  • Capturas de pantalla completa o recortadas en PNG.
  • OCR de toda la pantalla con niveles de confianza por región y cajas delimitadoras.
  • Capturas de pantalla solo del área visible del navegador de contenido web.

Administración de ventanas

  • Enumera todas las ventanas visibles con posiciones y dimensiones.
  • Activa Windows mediante una coincidencia de título difusa.
  • Enfoca las ventanas del navegador (Edge, Chrome, Firefox) filtradas opcionalmente por URL o título.
  • Cierre de ventana elegante con protección para procesos críticos para el sistema.

Ejecución del comando

  • Comandos de shell sandbox con una lista de permisos (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
  • Ejecución en entorno aislado Python de hasta 262.144 caracteres de código.
  • Directorio de trabajo y control de tiempo de espera por llamada (máximo 30 segundos).
  • Límites de recursos y lista de bloqueos reforzada contra metacaracteres de shell, flags de evaluación, escalada de privilegios y operaciones destructivas.

Automatización de explorador

  • Navegar, retroceder, avanzar, recargar y condiciones de espera configurables en la navegación (load, networkidle0, networkidle2).
  • URL de la página, título, texto visible (límite de 512 KB) y HTML completo (límite de 512 KB).
  • Recuperación consolidada del estado de la página — URL, título, DOM, captura de pantalla y lista de pestañas en una sola llamada.
  • Hacer clic, escritura de texto, relleno de formularios, arrastre y selección de opciones <select> a nivel de DOM mediante un selector CSS.
  • Interacción basada en instantáneas de accesibilidad mediante ID de referencia: hacer clic, escribir, pasar el cursor, pulsar teclas con modificadores, desplazarse y subir archivos mediante el campo de entrada.
  • Espera a los elementos dinámicos con tiempo de espera configurable, que opcionalmente requieren vizibilidad.
  • Evalúa expresiones JavaScript en el contexto de la página.
  • Gestión de varias pestañas: lista, cambiar, abrir una o varias a la vez y cerrar.
  • Consulta de cookies (valores ocultos) y asignación de cookies en el dominio actual.
  • Ejecución de acciones por lotes — secuencia varios pasos del navegador en una sola llamada, deteniéndose al primer fallo.
  • Guarda la página actual como PDF bajo %USERPROFILE% o %TEMP%.
  • Manejo de diálogo para alert, confirm, prompt, y beforeunload.
  • Funciona en Microsoft Edge y se lanza automáticamente al primer uso.

Accesibilidad de la interfaz de usuario

  • Recuperar el Windows Automatización de la interfaz de usuario tree para la ventana de primer plano con profundidad y conteo de elementos configurables.
  • Busca elementos de la interfaz por texto, rol o nombre accesible.
  • Devuelve coordenadas de pantalla en las que se puede hacer clic para seleccionar con precisión botones, cuadros de texto, casillas de selección, elementos de menú y cuadros combinados.

Temporización y sincronización

  • Utilice wait_milliseconds para pausas cortas y puntuales (de hasta cinco segundos).
  • Úsalo browser_wait_for para sondeos a nivel DOM (hasta 30 segundos).

Notas

  • Todas las coordenadas están en píxeles de pantalla con (0,0) en la esquina superior izquierda. Las coordenadas de take_screenshot, analyze_screen, find_ui_element, y list_windows todas comparten el mismo espacio de coordenadas.
  • Un sistema de seguridad del cursor está activo: si el cursor se mueve a menos de cinco píxeles de cualquier esquina de la pantalla, las operaciones con el ratón se cancelan. Evita apuntar a los bordes extremos de la pantalla.
  • Los operadores de tubos de shell (|), puntos y coma (;), ampersands (&) y redirección de salida (>, <) están bloqueados. Para transformar la salida de comandos, capturarla y procesarla con execute_python_code.
  • Si las banderas de evaluación del intérprete están bloqueadas o si se rechazan python -c "..." y node -e "...", puedes usar execute_python_code para código Python, o escribir primero el código en un archivo.
  • El comando stdout/stderr se reduce a 32 KB cada uno. Usa flags para limitar la salida verbosa (por ejemplo, git log --oneline -20) o redirige a un archivo y léelo por separado.
  • El tiempo máximo de espera para execute_shell_command y execute_python_code es de 30 segundos. Para trabajos más largos, divídelo en pasos más pequeños o lanza un proceso en segundo plano desde Python y haz encuestas.
  • No hay una herramienta dedicada para leer/escribir archivos. Lee archivos con execute_shell_command usando el comando type. Escribe archivos con execute_python_code usando la E/S de archivos integrada de Python. La redirección de salida de la shell (>, >>) está bloqueada.
  • browser_eval_js siempre devuelve una cadena. Convierte objetos o números explícitamente antes de devolverlos.
  • Las herramientas DOM del navegador (browser_click, browser_type, browser_eval_js y otras) solo funcionan en la instancia Microsoft Edge.  focus_browser puede enfocar ventanas de Chrome o Firefox, pero las herramientas DOM no las apuntan.
  • take_screenshot requiere los cuatro parámetros de recorte (x, y, ancho, altura) juntos, o ninguno para una captura de pantalla completa.
  • scroll usa unidades de notch (limitadas al intervalo [-20, 20]), no píxeles. Tres muescas equivalen aproximadamente a una página.
  • find_ui_element requiere al menos uno de los siguientes: texto, la función o el nombre. Cuando se proporcionan tanto texto como nombre, el nombre tiene prioridad.
  • browser_snapshot Las referencias caducan en la navegación. Si una acción de _ref (clic, escribir, pasar el cursor, pulsar una tecla, desplazar o establecer la entrada de archivo) falla porque la instantánea está obsoleta, vuelve a tomar la instantánea y vuelve a intentarlo.
  • browser_set_file_input_ref solo acepta rutas de archivo dentro de los directorios del usuario Documents, Downloads, Desktop o %TEMP%. Los archivos fuera de esas ubicaciones son rechazados.
  • browser_get_cookies siempre devuelve valores de cookies censurados. Úsalo para inspeccionar: los nombres, dominios, rutas e indicadores se muestran íntegramente, pero no se muestran los valores.
  • browser_set_cookies solo añade o sobrescribe cookies. No borra las cookies existentes. Para eliminar una cookie, sobrescríbela mediante esta herramienta con un valor expires caducado, o bórrala desde la propia página.
  • browser_execute_batch se detiene en la primera acción fallida y solo devuelve los resultados recogidos hasta ese momento. No se intentan acciones posteriores en el arreglo. Las acciones por lotes permitidas se limitan a: navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, wait_for y eval_js.
  • browser_create_tabs abre las pestañas en el orden proporcionado. Si foregroundIndex se omite, el foco se mantiene en la pestaña actualmente activa.
  • browser_get_page_state solo devuelve los campos listados en el fields array. Solicita solo lo que necesites; incluir dom o screenshot puede producir grandes cargas útiles.

Casos de uso comunes

Rellena un formulario web

  • Llama browser_navigate para abrir la página objetivo.
  • Llama browser_wait_for para esperar a que cargue el formulario.
  • Llama browser_type para rellenar cada campo mediante el selector CSS.
  • Llama a browser_click para enviar el formulario.
  • Llamar a browser_wait_for para esperar al elemento de confirmación.
  • Llama browser_get_text para leer y verificar el resultado.

Automatizar una aplicación de escritorio

  • Llame a activate_window para traer la aplicación al primer plano.
  • Llama take_screenshot para capturar el estado actual.
  • Llama find_ui_element para localizar un botón o campo por nombre.
  • Solicita click las coordenadas reportadas del elemento.
  • Llama type_text para introducir datos.
  • Abre press_keys para ver los atajos (por ejemplo, ["ctrl","s"] para guardar).
  • Llama take_screenshot para verificar el resultado.

Extraer datos de una página web

  • Llama browser_navigate para abrir la página.
  • Llama browser_get_text para extraer contenido de texto visible.
  • Llama execute_python_code para analizar y procesar los datos extraídos.
  • Llamar browser_eval_js a consultar valores específicos mediante JavaScript cuando la extracción de texto no es suficiente.

Ejecutar tareas de desarrollo

  • Llama a execute_shell_command para git pull, npm install y dotnet build.
  • Llama take_screenshot para capturar la salida de la compilación.
  • Llama execute_python_code para analizar registros o resultados de pruebas.
  • Llamar browser_navigate para abrir un servidor de desarrollo local en el navegador.
  • Llama browser_screenshot para capturar la página renderizada.

Lee y escribe archivos

  • Lee un archivo usando execute_shell_command con type C:\path\to\file.txt.
  • Escriba un archivo mediante execute_python_code con open(...) y write(...) de Python.
  • Verifica usando execute_shell_command con dir C:\path\to\output.txt.
  • Llama get_accessibility_tree para entender toda la estructura de la interfaz.
  • Llama find_ui_element para encontrar un control específico (por ejemplo, role: "MenuItem", name: "Settings").
  • Llama a click usando las coordenadas devueltas por el elemento.
  • Llama find_ui_element de nuevo para encontrar el siguiente control en el diálogo.
  • Llama type_text o click para interactuar con él.

Mantén viva una sesión de larga duración

  • Envía cualquier solicitud MCP al menos una vez cada 30 minutos para evitar la expulsión por inactividad.
  • get_screen_size es ligera y funciona bien como latido.

Aprende más

Windows 365 para Agentes