Windows 365 dla agentów — dokumentacja serwera MCP

Note

W tym artykule opisano funkcje używane w agentach lub przepływach agentów obsługiwanych przez standardowe środowisko uruchomieniowe.

Windows 365 for Agents to serwer MCP, który daje pełną kontrolę operacyjną nad komputerem w chmurze z systemem Windows 365. Wykorzystaj ten serwer MCP do tworzenia prawdziwego środowiska Windows poprzez interakcję z pulpitem (mysz, klawiatura, przechwytywanie ekranu, wykonywanie poleceń), automatyzację przeglądarki za pomocą Microsoft Edge oraz semantyczną inspekcję interfejsu przez Windows automatyzacja interfejsu użytkownika.

Note

Automatyzacja przeglądarki działa na Microsoft Edge. Edge uruchamia się automatycznie przy pierwszym wywołaniu narzędzia przeglądarki. focus_browser mogą także targetować Chrome lub Firefox, ale narzędzia przeglądarki na poziomie DOM działają tylko na instancji Edge.

Aby dowiedzieć się więcej o Windows 365 dla agentów, zapoznaj się z dokumentacją rozwiązania Windows 365 dla agentów.

Przegląd

Identyfikator serwera Adres URL na poziomie dzierżawcy nazwa wyświetlana Description
mcp_W365ComputerUse https://agent365.svc.cloud.microsoft/
agents/tenants/{tenantId}/
servers/mcp_W365ComputerUse
Serwer MCP Windows 365 dla agentów Pełną kontrolę operacyjną nad komputerem w chmurze Windows 365, w tym interakcję z pulpitem, automatyzację przeglądarki oraz inspekcję interfejsu użytkownika.

Dostępne narzędzia

mcp_W365ComputerUse_StartSession

Rozpoczyna sesję korzystania z komputera Windows 365, nawiązując połączenie z komputerem w chmurze i przydzielając zasób komputera w chmurze. Zwraca sessionId, którego można użyć do zarządzania sesją.

Nie ma wymaganych parametrów.

mcp_W365ComputerUse_EndSession

Kończy aktywną sesję korzystania z komputera Windows 365 i uwalnia powiązane zasoby chmurowego komputera. Przekaż zwrócony sessionId przez mcp_W365ComputerUse_StartSession.

Wymagane parametry: sessionId

mcp_W365ComputerUse_GetSessionDetails

Zwraca metadane dla jednej sesji korzystania z komputera Windows 365 zidentyfikowanej przez .sessionId Przekaż zwrócony sessionId przez mcp_W365ComputerUse_StartSession. Nie ma tam wielu sesji.

Wymagane parametry: sessionId

move_mouse

Przenosi kursor do położenia ekranu. Użyj zamiast tego click, jeśli zamierzasz kliknąć w miejscu docelowym. Wymagane parametry:

  • x: współrzędna X w pikselach ekranu
  • y: współrzędna y w pikselach ekranu

click

Klika w określonym położeniu lub w bieżącej lokalizacji kursora, jeśli współrzędne nie zostaną podane. Obsługuje pojedyncze kliknięcie, podwójne kliknięcie oraz wszystkie pięć przycisków myszy.

Parametry opcjonalne:

  • x: współrzędna X w pikselach ekranu (pomijam dla bieżącej pozycji)
  • y: współrzędna y w pikselach ekranu (pomijam dla aktualnej pozycji)
  • przycisk: Lewy, Prawy, Środkowy, Przedni lub Tylny (domyślnie: Lewy)
  • clickCount: 1 = pojedynczy klik, 2 = podwójny klik (domyślnie 1)

get_cursor_position

Zwraca współrzędne bieżącego kursora. Brak parametrów. Zwraca {cursorX, cursorY}.

przeciągnij_myszą

Przeciąga z jednej pozycji do innej. Przydatne do przesuwania obiektów, zmiany rozmiaru okien lub przewijania z dokładnością piksela. Wymagane parametry:

  • startX: Początkowa współrzędna X.
  • startY: Rozpocznij koordynację Y.
  • endX: Współrzędna końcowa X.
  • endY: Współrzędna końcowa Y. Parametry opcjonalne:
  • przycisk: Lewo, Prawo lub Środek (domyślnie Lewo)

Przewiń

Przewija w danej pozycji przy użyciu jednostek wycięć, a nie pikseli. Trzy wycięcia to około jednej strony.

Wymagane parametry:

  • x: Pozycja przewijania X
  • y: pozycja przewijania Y

Parametry opcjonalne:

  • deltaX: poziome wycięcia, dodatnie = prawo (domyślnie 0)
  • deltaY: Przesunięcia pionowe, wartość dodatnia = w dół (domyślnie 0)

Note

Wartości są ograniczone do zakresu [-20, 20].

type_text

Wpisz tekst, symulując wprowadzanie klawiatury. Do skrótów klawiaturowych użyj press_keys. Dla pól formularza webowego użyj browser_type.

Wymagane parametry:

  • tekst: tekst do wpisu.

Parametry opcjonalne:

  • usePaste: Wklej tekst ze schowka zamiast pisać.

naciśnij_klawisze

Jednocześnie naciska kombinację klawiszy. Obsługuje klawisze modyfikujące, funkcyjne oraz standardowe klawisze.

Wymagane parametry:

  • klawisze: Tablica nazw klawiszy do jednoczesnego naciskania (na przykład ["ctrl","c"], ["alt","tab"], ["ctrl","shift","s"])

zrób_zrzut_ekranu

Przechwytuje pełny ekran lub przycięty region jako obraz PNG (zakodowany w formacie base64).

Parametry opcjonalne:

  • x: lewa krawędź obszaru przycinania
  • y: Górna krawędź regionu upraw
  • szerokość: szerokość obszaru upraw
  • Wysokość: Wysokość regionu uprawnego

Note

Podaj jednocześnie wszystkie cztery parametry przycięcia albo pomiń wszystkie cztery, aby uzyskać pełnoekranowy zrzut ekranu.

zoom_region

Rejestruje obszar ekranu w natywnej rozdzielczości jako obraz PNG (zakodowany w base64). Użyj tej funkcji, aby przyjrzeć się małemu tekstowi lub upakowanym elementom interfejsu, które trudno odczytać na pomniejszonym zrzucie pełnoekranowym.

Wymagane parametry:

  • x: współrzędna X lewej krawędzi w pikselach ekranu
  • y: Górna krawędź współrzędna Y w pikselach ekranu
  • szerokość: Szerokość regionu w pikselach
  • Wysokość: Wysokość regionu w pikselach

Note

Maksymalny rozmiar regionu to 1920x1080 pikseli.

analiza_ekranu

Wykonuje OCR na całym ekranie. Brak parametrów. Zwraca wartość {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height}.

get_screen_size

Zwraca rozdzielczość ekranu. Brak parametrów. Zwraca wartość {width, height}.

list_windows

Lista wszystkich widocznych okien wraz z ich tytułami, pozycjami i wymiarami. Brak parametrów. Zwraca tablicę {title, processName, handle, x, y, width, height}.

aktywuj_okno

Przenosi okno na pierwszy plan za pomocą przybliżonego dopasowania tytułu.

Wymagane parametry:

  • title: częściowy tytuł okna (ciąg podrzędny nieuwzględniający wielkości liter)

focus_browser

Skupia okno przeglądarki (Edge, Chrome lub Firefox), opcjonalnie filtrowane według adresu URL lub tytułu.

Parametry opcjonalne:

  • pattern: ciąg podrzędny adresu URL lub tytułu do dopasowania (pominąć dla dowolnego okna przeglądarki)

close_window

Zamyka okno w sposób kontrolowany za pomocą przybliżonego dopasowania tytułu. System chroni kluczowe procesy i nie możesz ich zamknąć.

Wymagane parametry:

  • tytuł: Częściowy tytuł okna (próg dopasowania 80%). Zwraca wartość {matchedTitle, processName, closed}.

zmień_rozmiar_okna

Zmienia rozmiar, przenosi, maksymalizuje, minimalizuje lub przywraca okno za pomocą przybliżonego dopasowania tytułu.

Wymagane parametry:

  • title: tytuł okna do dopasowania (dopasowanie rozmyte bez rozróżniania wielkości liter)
  • Akcja: Działanie do wykonania - Resize, , MoveMaximize, Minimize, lubRestore

Parametry opcjonalne:

  • x: Współrzędna X lewej krawędzi (używana z Resize lub Move)
  • y: Współrzędna Y górnej krawędzi (używana z Resize lub Move)
  • szerokość: szerokość w pikselach (używane z Resize)
  • wysokość: Wysokość w pikselach (używana z Resize)

execute_shell_command

Uruchamia polecenie shell w środowisku sandboxowym. Polecenie jest sprawdzane względem listy dozwolonych, a niebezpieczne wzorce są blokowane.

Wymagane parametry:

  • komenda: Polecenie do uruchomienia

Parametry opcjonalne:

  • cwd: Katalog roboczy. Użyj ukośników (na przykład C:/Users/me/project).
  • TimeoutMs: Timeout w milisekundach (domyślnie 30000, maksymalnie 120000)

Note

  • Dozwolone polecenia: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type i notepad.
  • Zablokowane wzorce obejmują metaznaki powłoki (|, ;, &, <, >), rozszerzanie zmiennych środowiskowych (%VAR%), flagi oceny interpretera (python -c lub node -e), git config --global, npm -g, pliki wykonywalne poprzedzone ścieżką, rm -rf, sudo oraz polecenia dyskowe lub systemowe.
  • Każde z poleceń, stdout i stderr, skraca się na poziomie 32 KB. Dla dowolnych obliczeń używamy execute_python_code. Polecenie zwraca wartość {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

execute_python_code

Wykonuje kod Python w środowisku sandboxowym z ograniczeniami zasobów. Funkcja ta idealnie nadaje się do przetwarzania danych, obliczeń, operacji wejścia/wyjścia na plikach oraz wszelkich zadań obliczeniowych wykraczających poza proste polecenia powłoki.

Wymagane parametry:

  • kod: kod Python (maksymalnie 262 144 znaki).

Parametry opcjonalne:

  • cwd: Katalog roboczy. Użyj ukośników.
  • timeoutMs: Timeout w milisekundach (domyślnie 30000, maksymalnie 120000).

Zwraca ten sam schemat co execute_shell_command.

Note

Sandbox wymusza limit pamięci 512 MB oraz 30-sekundowy timeout.

wait_milliseconds

Zatrzymuje wykonanie, aby umożliwić zakończenie animacji lub przejść. Nie używaj tej funkcji w pętlach polling. Zamiast tego użyj browser_wait_for do ankiet DOM.

Wymagane parametry:

  • ms: Czas oczekiwania w milisekundach (ograniczony do zakresu [0, 5000])

clipboard_read

Odczytuje aktualną zawartość systemowego schowka. To polecenie nie wymaga żadnych parametrów. Zwraca obiekt JSON opisujący format i zawartość schowka, przy czym zawartość ta może być ciągiem tekstowym lub obrazem zakodowanym w formacie base64.

clipboard_write

Zapisuje tekst do systemowego schowka, zastępując obecną treść.

Wymagane parametry:

  • text: tekst do zapisania do schowka

Zwraca potwierdzenie zawierające liczbę znaków.

lista_procesów

Wyświetla listę uruchomionych procesów w bieżącej sesji. Każdy wpis zawiera PID, nazwę procesu, zużycie pamięci, tytuł okna (jeśli występuje) oraz startTimeTicks. Sparuj startTimeTicks z kill_process, aby zapobiec zakończeniu PID poddanego recyklingowi.

Parametry opcjonalne:

  • maxCount: Maksymalna liczba procesów do zwrócenia (domyślnie 200)

Zwraca tablicę JSON obiektów informacji o procesie.

kill_process

Kończy proces według PID. Podaj wartość startTime z list_processes, aby zabezpieczyć przed ponownym użyciem PID.

Wymagane parametry:

  • pid: ID procesu zwrócony przez list_processes
  • startTime: takty czasu rozpoczęcia procesu zwrócone przez list_processes

Parametry opcjonalne:

  • force: wymusza zakończenie bez poprawnego zamknięcia (domyślnie: fałsz)

Zwraca wynik JSON opisujący wynik.

uruchom_aplikację

Uruchamia aplikację graficznego interfejsu użytkownika z dozwolonego katalogu. Używaj execute_shell_command zamiast tego do poleceń CLI.

Wymagane parametry:

  • ścieżka: Absolutna ścieżka do pliku wykonywalnego. Użyj ukośników (na przykład C:/Program Files/app.exe).

Parametry opcjonalne:

  • args: Zestaw argumentów wiersza poleceń

Zwraca wartość {path, pid}.

get_system_info

Zwraca wersję systemu operacyjnego, procesor, pamięć RAM, dostępną przestrzeń na dysku oraz rozdzielczość wyświetlania. Brak parametrów. Zwraca obiekt JSON zawierający informacje systemowe.

browser_navigate

Przechodzi do adresu URL i czeka, aż strona się załaduje.

Wymagane parametry:

  • URL: Pełny adres URL wraz z protokołem (na przykład https://example.com)

browser_back

Wraca do historii przeglądarki. Brak parametrów.

browser_forward

Przesuwa się do przodu w historii przeglądarki. Brak parametrów.

browser_reload

Ponownie ładuje bieżącą stronę. Brak parametrów.

browser_get_url

Zwraca aktualny adres URL strony jako zwykły ciąg znaków. Brak parametrów.

browser_get_title

Zwraca aktualny tytuł strony jako zwykły ciąg znaków. Brak parametrów.

browser_get_text

Zwraca widoczną treść strony jako zwykły ciąg znaków. Brak parametrów. Obcięte do 512 KB.

browser_get_html

Zwraca pełne źródło HTML strony jako zwykły ciąg znaków. Brak parametrów. Obcięte do 512 KB.

browser_get_page_state

Pobiera wiele pól stanu strony w jednym wywołaniu. Przydatne do przechwytywania kilku sygnałów jednocześnie bez wywoływania oddzielnych wywołań narzędzi.

Wymagane parametry:

  • fields: tablica pól do zwrotu. Dozwolone wartości: url, , , title, domscreenshottabs

Zwraca obiekt JSON zawierający tylko żądane pola.

browser_click

Kliknięcie elementu DOM za pomocą selektora CSS. Bardziej niezawodne niż klikanie według współrzędnych w przypadku treści internetowych.

Wymagane parametry:

  • selektor: selektor CSS (na przykład #submit-btn lub a.nav-link)

browser_type

Wpisuje tekst do elementu formularza za pomocą selektora CSS.

Wymagane parametry:

  • selektor: selektor CSS elementu wejściowego.
  • tekst: tekst do wpisu.

browser_query_text

Otrzymuje treść tekstu pierwszego elementu, który odpowiada selektorowi CSS.

Wymagane parametry:

  • selektor: selektor CSS.

browser_wait_for

Czeka na pojawienie się elementu DOM. Ta funkcja jest przydatna dla dynamicznych treści ładowanych asynchronicznie.

Wymagane parametry:

  • selektor: selektor CSS, na który należy czekać.

Parametry opcjonalne:

  • TimeoutMs: Timeout w milisekundach. Domyślnie to 5 000, a maksimum to 30 000.

browser_eval_js

Ocenia wyrażenie JavaScript w kontekście strony i zwraca wynik jako łańcuch znaków.

Wymagane parametry:

  • wyrażenie: wyrażenie JavaScript zwracające ciąg znaków

Note

Jeśli twoje wyrażenie zwraca obiekt lub liczbę, przekonwertuj go jawnie na ciąg (na przykład JSON.stringify(obj) lub .toString()).

browser_list_tabs

Wyświetla wszystkie otwarte karty wraz z ich indeksem, tytułem i adresem URL. Brak wymaganych parametrów. Zwraca tablicę {index, title, url}.

Parametry opcjonalne:

  • tabId: Unikalny identyfikator zakładki

browser_switch_tab

Przechodzi na kartę według indeksu.

Wymagane parametry:

  • tabIndex: indeks zakładek oparty na 0

Parametry opcjonalne:

  • tabId: Unikalny identyfikator zakładki

browser_new_tab

Otwiera nową kartę, opcjonalnie przechodząc do adresu URL.

Parametry opcjonalne:

  • url: adres URL do otwarcia (otworzy pustą kartę, jeśli pominięto)

Zwraca wartość {index, title, url}.

przeglądarka_utwórz_karty

Otwiera wiele kart jednocześnie. Opcjonalnie można wysunąć jednego z nich na pierwszy plan.

Wymagane parametry:

  • adresy URL: Tablica adresów URL do otwarcia, po jednej karcie dla każdego adresu URL

Parametry opcjonalne:

  • foregroundIndex: Indeks karty, która po utworzeniu ma zostać przeniesiona na wierzch (pomiń, aby fokus pozostał na bieżącej karcie)

Otrzymuje potwierdzenie w SMS-ie.

browser_close_tab

Zamyka kartę według indeksu.

Wymagane parametry:

  • tabIndex: Tab index oparty na 0 Parametry opcjonalne:

  • tabId: Unikalny identyfikator zakładki

zrzut_ekranu_przeglądarki

Przechwytuje zrzut ekranu PNG przedstawiający tylko okienko wyświetlania przeglądarki (a nie pełny ekran). Brak parametrów. Zwraca PNG zakodowane w bazie 64.

browser_select_option

Wybiera co najmniej jedną opcję w elemencie <select> na podstawie atrybutu value.

Wymagane parametry:

  • Selektor: Selektor CSS dla elementu <select>
  • wartości: Tablica wartości opcji do wyboru

Zwraca potwierdzenie z liczbą wybranych opcji.

wypełnij formularz w przeglądarce

Wypełnij wiele pól formularza podczas jednego połączenia. Każdy wpis stanowi parę {selector, value}. Operacja kończy się przy pierwszej awarii i raportuje, które pola zakończyły się sukcesem.

Wymagane parametry:

  • pola: Tablica {selector, value} par

Zwraca potwierdzenie z liczbą wypełnionych pól.

browser_drag

Przeciąga element źródłowy na element docelowy. Oba elementy są identyfikowane przez selektor CSS.

Wymagane parametry:

  • sourceSelector: Selektor CSS źródła przeciągania
  • targetSelector: selektor CSS celu zrzutu

browser_pdf_save

Zapisuje bieżącą stronę jako plik PDF. Ścieżki docelowe są ograniczone do %USERPROFILE% lub %TEMP%.

Wymagane parametry:

  • filePath: Docelowa ścieżka pliku pod %USERPROFILE% lub %TEMP%. Użyj ukośników.

Zwraca potwierdzenie wraz z zapisaną ścieżką pliku.

browser_handle_dialog

Akceptuje lub odrzuca oczekujące okno dialogowe przeglądarki (alert, potwierdzenie, polecenie lub beforeunload). Zwraca komunikat "Brak dialogu w trakcie", jeśli dialog nie jest aktywny.

Wymagane parametry:

  • Akcja: accept lub dismiss

Parametry opcjonalne:

  • promptText: tekst do wprowadzenia do sesji dialogowej polecenia (zignorowane dla alertu i potwierdzenia)

browser_get_cookies

Pobiera pliki cookie dla bieżącej strony lub dla określonego zestawu adresów URL. Wartości plików cookie są zawsze ukrywane ze względów bezpieczeństwa; zwracane są nazwy, domeny, ścieżki i flagi.

Parametry opcjonalne:

  • urls: Tablica adresów URL, dla których mają zostać pobrane pliki cookie (pomiń dla bieżącej strony)

Zwraca tablicę obiektów ciasteczek z ocenzurowanymi wartościami.

browser_set_cookies

Ustawia pliki cookie w domenie bieżącej strony. Ta akcja dodaje lub zastępuje pliki cookie, ale nie usuwa istniejących plików cookie.

Wymagane parametry:

  • Ciasteczka: Zestaw obiektów ciasteczek. Każdy wpis wymaga name i value. Pola opcjonalne: domain, path, secure, httpOnly, . sameSite

Otrzymuje potwierdzenie w SMS-ie.

browser_execute_batch

Wykonuje wiele akcji przeglądarki sekwencyjnie w jednym wywołaniu. To działanie zatrzymuje się przy pierwszym niepowodzeniu i zwraca wyniki zebrane do tego momentu.

Wymagane parametry:

  • akcje: Tablica obiektów {action, params} . Dozwolone działania: navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, wait_for, eval_js.

Zwraca tablicę wyników, po jednym na wykonaną akcję.

migawka_przeglądarki

Przechwytuje drzewo ułatwień dostępności strony za pomocą stabilnych identyfikatorów referencyjnych (na przykład e5), które mapują się na węzły DOM. Użyj odwołań z browser_click_ref, browser_type_ref i browser_hover_ref. Odwołania wygasają podczas nawigacji po stronie — wykonaj ponownie migawkę po nawigacji.

Parametry opcjonalne:

  • maxDepth: Maksymalna głębokość drzewa, 1-10 (domyślnie 5)
  • includeIframes: Dołącz ramki iframe z innych domen (domyślnie: true)

Zwraca obiekt JSON zawierający migawkę dostępności oraz identyfikatory referencyjne.

browser_click_ref

Kliknij element według identyfikatora referencyjnego z browser_snapshot. Test trafienia sprawdza, czy żaden inny element nie zakrywa elementu docelowego. Nie powiedzie się, jeśli zrzut wygaśnie — w takim przypadku wykonaj zrzut ponownie.

Wymagane parametry:

  • snapshotId: identyfikator migawki zwrócony przez browser_snapshot
  • ref: odwołanie do elementu (na przykład e5) z węzłów migawki

Parametry opcjonalne:

  • przycisk: Lewo, Prawo lub Środek (domyślnie Lewo)
  • clickCount: 1 = pojedynczy klik, 2 = podwójny klik (domyślnie 1)

Zwraca potwierdzenie wraz z klikniętymi współrzędnymi.

browser_type_ref

Wpisuje tekst do elementu, używając identyfikatora referencyjnego z browser_snapshot. Element najpierw otrzymuje fokus, a istniejący tekst jest domyślnie czyszczony. Operacja nie powiedzie się, jeśli migawka wygaśnie.

Wymagane parametry:

  • snapshotId: identyfikator migawki zwrócony przez browser_snapshot
  • ref: odwołanie do elementu (na przykład e5) z węzłów migawki
  • tekst: Tekst do wpisania

Parametry opcjonalne:

  • clear: Najpierw wyczyść istniejący tekst (domyślnie prawda)

Zwraca potwierdzenie zawierające liczbę znaków.

browser_hover_ref

Umieszcza kursor nad elementem, używając identyfikatora ref z browser_snapshot. Zwraca natychmiast. Operacja nie powiedzie się, jeśli migawka straci ważność — w takim przypadku utwórz migawkę ponownie.

Wymagane parametry:

  • snapshotId: identyfikator migawki zwrócony przez browser_snapshot
  • ref: odwołanie do elementu (na przykład e5) z węzłów migawki

Zwraca potwierdzenie wraz z współrzędnymi najechania kursorem.

get_accessibility_tree

Pobiera drzewo elementów interfejsu użytkownika dla okna pierwszego planu. Każdy element zawiera swoją rolę, nazwę, wartość oraz współrzędne ekranu.

Parametry opcjonalne:

  • maxDepth: maksymalna głębokość przechodzenia przez drzewo, 1–10 (domyślnie 3)
  • maxElements: Maksymalna liczba elementów do zwrotu, 1-2000 (domyślnie 500)

Zwraca drzewo hierarchiczne {role, name, value, x, y, width, height, children[...]}.

browser_keypress_ref

Naciska pojedynczy klawisz na elemencie na podstawie identyfikatora referencyjnego z browser_snapshot. Najpierw skupia się na elemencie. Obsługuje klawisze modyfikatorów. Operacja zakończy się niepowodzeniem, jeśli migawka wygasła — w takim przypadku ponownie wykonaj migawkę.

Wymagane parametry:

  • snapshotId: identyfikator migawki zwrócony przez browser_snapshot
  • ref: odwołanie do elementu (na przykład e5) z węzłów migawki
  • klucz: Nazwa klucza — na przykład Enter, Escape, Tab, , ArrowUp, ArrowDown, lub F1–F12

Parametry opcjonalne:

  • modyfikatory: Tablica klawiszy modyfikujących do przytrzymania podczas naciśnięcia — Ctrl, Shift, Alt, lub Meta

Otrzymuje potwierdzenie w SMS-ie.

browser_scroll_ref

Przewija element do widoku według identyfikatora referencyjnego z browser_snapshot. Opcjonalnie przewija się według pikseli w elemencie. Nie powiedzie się, jeśli migawka wygaśnie.

Wymagane parametry:

  • snapshotId: identyfikator migawki zwrócony przez browser_snapshot
  • ref: odwołanie do elementu (na przykład e5) z węzłów migawki

Parametry opcjonalne:

  • deltaX: różnica przewijania w poziomie w pikselach (domyślnie 0)
  • deltaY: różnica przewijania w pionie w pikselach (domyślnie 0)

Otrzymuje potwierdzenie w SMS-ie.

browser_set_file_input_ref

Ustawia pliki w elemencie wejściowym pliku według identyfikatora referencyjnego z browser_snapshot. Ścieżki plików są ograniczone do , DocumentsDownloads, Desktop, lub %TEMP% katalogów użytkownika.

Wymagane parametry:

  • snapshotId: identyfikator migawki zwrócony przez browser_snapshot
  • ref: Element ref dla pliku wejściowego
  • filePaths: Tablica ścieżek plików do przesłania

Otrzymuje potwierdzenie w SMS-ie.

find_ui_element

Wyszukuje elementy interfejsu użytkownika według treści tekstowej, roli dostępności lub nazwy (podciąg bez rozróżniania wielkości liter). Zwraca dopasowane elementy z ich klikalnymi współrzędnymi ekranu.

Parametry opcjonalne:

  • tekst: Tekst do wyszukiwania (używany jako nazwa, jeśli imię zostało pominięte)
  • role: filtr roli interfejsu użytkownika — Button, TextBox, CheckBox, MenuItem, ComboBox i nie tylko
  • nazwa: Dostępne imię (ma pierwszeństwo przed tekstem, jeśli oba są dostępne)
  • windowHandle: uchwyt okna docelowego (null = okno pierwszego planu)

Kluczowe funkcje

Interakcja z pulpitem

  • Klikanie, dwukrotne kliknięcie, kliknięcie prawym przyciskiem oraz obsługa myszy pięcioprzyciskowej.
  • Przeciągnij i upuść z dokładnością do piksela.
  • Przewijanie oparte na wycięciach (trzy wycięcia to około jedna strona).
  • Pisanie na klawiaturze i kombinacje skrótów wieloklawiszowych.
  • Śledzenie pozycji kursora.
  • Wykrywanie rozdzielczości ekranu.

Zrzut ekranu i analiza

  • Pełnoekranowe lub przycięte zrzuty ekranu PNG.
  • OCR pełnego ekranu ze współczynnikami ufności i polami ograniczenia na region.
  • Zrzuty ekranu ograniczone do obszaru widocznego w oknie przeglądarki dla treści internetowych.

Zarządzanie oknami

  • Wypisz wszystkie widoczne okna wraz z pozycjami i wymiarami.
  • Aktywuj okna na podstawie przybliżonego dopasowania tytułu.
  • Skup się na oknach przeglądarki (Edge, Chrome, Firefox) opcjonalnie filtrowanych według adresu URL lub tytułu.
  • Eleganckie zamykanie okien z ochroną dla procesów krytycznych dla systemu.

Wykonywanie poleceń

  • Polecenie powłoki uruchamiane w piaskownicy z listą dozwolonych poleceń (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
  • Wykonywanie w piaskownicy Python do 262 144 znaków kodu.
  • Kontrola limitu czasu dla katalogu roboczego i dla każdego wywołania (maks. 30 sekund).
  • Limity zasobów i stała lista bloków przeciwko metaznakom powłoki, flagom ocen, eskalacji uprawnień oraz operacjom destrukcyjnym.

Automatyzacja przeglądarki

  • Przechodzenie, przejście wstecz, przejście do przodu, ładowanie wstępne i konfigurowalne warunki oczekiwania podczas nawigacji (load, networkidle0, networkidle2).
  • Czytaj adres URL strony, tytuł, widoczny tekst (limit 512 KB) oraz pełny HTML (limit 512 KB).
  • Skonsolidowane pobieranie stanu strony — URL, tytuł, DOM, zrzut ekranu i lista kart w jednym wywołaniu.
  • Kliknięcia, wpisywanie, wypełnianie formularzy, przeciąganie i wybór opcji <select> na poziomie DOM za pomocą selektora CSS.
  • Interakcja oparta na migawce ułatwień dostępu według identyfikatora referencyjnego — kliknij, napisz, najedź kursorem, naciśnij klawisz z modyfikatorami, przewiń i przekaż dane wejściowe pliku.
  • Czekaj na dynamiczne elementy z konfigurowalnym limitem czasu, opcjonalnie wymagającym widoczności.
  • Oceń wyrażenia JavaScript w kontekście strony.
  • Zarządzanie wieloma kartami: lista, przełączanie, otwieranie jednej lub wielu naraz i zamykanie.
  • Inspekcja plików cookie (wartości zredagowane) i przypisanie do aktualnej domeny.
  • Wsadowe wykonywanie akcji — wykonuj wiele kroków w przeglądarce w jednym wywołaniu, zatrzymując wykonywanie po pierwszym niepowodzeniu.
  • Zapisz aktualną stronę jako PDF pod %USERPROFILE% lub %TEMP%.
  • Obsługa dialogów dla alert, confirm, prompt, oraz beforeunload.
  • Działa na Microsoft Edge, uruchamia się automatycznie przy pierwszym użyciu.

Dostępność interfejsu użytkownika

  • Pobierz Windows automatyzacja interfejsu użytkownika tree dla okna na pierwszym planie z konfigurowalną głębokością oraz liczbą elementów.
  • Znajdź elementy UI według tekstu, roli lub dostępnej nazwy.
  • Zwraca klikalne współrzędne ekranu w celu precyzyjnego wybierania przycisków, pól tekstowych, pól wyboru, elementów menu i pól kombi.

Taktowanie i synchronizacja

  • Użyj wait_milliseconds do krótkich, pojedynczych pauz (do pięciu sekund).
  • Zastosowanie browser_wait_for do ankietowania na poziomie DOM (do 30 sekund).

Notatki

  • Wszystkie współrzędne są w pikselach ekranu z (0,0) w lewym górnym rogu. Współrzędne z take_screenshot, analyze_screen, find_ui_element, i list_windows wszystkie dzielą tę samą przestrzeń współrzędnych.
  • Aktywny jest zabezpieczenie kursora: jeśli kursor przesunie się w odległości pięciu pikseli od dowolnego narożnika ekranu, ruchy myszką zostają anulowane. Unikaj celowania w skrajne krawędzie ekranu.
  • Operatory potoku powłok (|), średniki (;), znaki handlowego „i” (&) oraz przekierowanie danych wyjściowych (>, <) są zablokowane. Aby przekształcić wyjście polecenia, należy je przechwycić i przetworzyć za pomocą execute_python_code.
  • Jeśli flagi oceny interpretera są zablokowane lub jeśli python -c "..." i node -e "..." zostaną odrzucone, możesz użyć execute_python_code do Python kodu lub najpierw zapisać kod do pliku.
  • Komendy stdout/stderr są ograniczone do 32 KB każda. Użyj flag, aby ograniczyć rozwlekłe wypowiedzi (na przykład git log --oneline -20) lub przekieruj do pliku i przeczytaj go osobno.
  • Maksymalny limit czasu dla execute_shell_command i execute_python_code wynosi 30 sekund. W przypadku dłuższych zadań podziel je na mniejsze etapy albo uruchom z Pythona proces działający w tle i okresowo sprawdzaj jego stan.
  • Nie ma dedykowanego narzędzia do odczytu/zapisu plików. Czytaj pliki za pomocą execute_shell_command, używając polecenia type. Zapisuj pliki za pomocą execute_python_code korzystając z wbudowanego wejścia i wyjścia plików Python. Przekierowanie wyjścia powłoki (>, >>) jest zablokowane.
  • browser_eval_js zawsze zwraca ciąg znaków. Jawnie konwertuj obiekty lub liczby przed ich zwróceniem.
  • Narzędzia DOM przeglądarki (browser_click, browser_type, browser_eval_js i inne) działają tylko na Microsoft Edge instancji.  focus_browser może ustawić fokus na oknach Chrome lub Firefoksa, ale narzędzia DOM nie są na nie ukierunkowane.
  • take_screenshot wymaga podania wszystkich czterech parametrów przycięcia (x, y, szerokość, wysokość) jednocześnie albo żadnego z nich w przypadku przechwytywania pełnego ekranu.
  • scroll używa jednostek wycięcia (przymocowanych do [-20, 20]), a nie pikseli. Trzy wycięcia to około jedna strona.
  • find_ui_element wymaga co najmniej jednego z następujących elementów: tekst, rola lub nazwa. Gdy podawane są zarówno teksty, jak i imię, imię ma pierwszeństwo.
  • browser_snapshot — te odwołania wygasają w nawigacji. Jeśli narzędzie _ref (kliknięcie, wpisywanie, najechanie kursorem, naciśnięcie klawisza, przewijanie lub ustawienie pola danych wejściowych pliku) nie działa, ponieważ zrzut jest nieaktualny, ponownie wykonaj zrzut i spróbuj jeszcze raz.
  • browser_set_file_input_ref akceptuje tylko ścieżki plików w katalogach Documentsużytkownika, Downloads, Desktop, , lub %TEMP% . Pliki spoza tych lokalizacji są odrzucane.
  • browser_get_cookies zawsze zwraca ocenzurowane wartości ciasteczek. Używaj go do inspekcji — nazwy, domeny, ścieżki i flagi są zwracane w całości, ale wartości nie są ujawniane.
  • browser_set_cookies Tylko dodaje lub nadpisuje ciasteczka. Nie usuwa istniejących plików cookie. Aby usunąć plik cookie, nadpisz go wygasłą wartością expires za pomocą tego narzędzia lub usuń go bezpośrednio z poziomu samej strony.
  • browser_execute_batch zatrzymuje się przy pierwszej nieudanej akcji i zwraca tylko wyniki zebrane do tego momentu. Kolejne akcje w tablicy nie są podejmowane. Dozwolone działania wsadowe są ograniczone do: navigate, snapshot, click_ref, type_ref, hover_ref, scroll_ref, keypress_ref, wait_for oraz eval_js.
  • browser_create_tabs Otwiera zakładki w podanej kolejności. W przypadku pominięcia foregroundIndex fokus pozostaje na karcie aktywnej.
  • browser_get_page_state zwraca tylko pola wymienione w tablicy fields . Żądaj tylko tego, czego potrzebujesz — uwzględnienie dom lub screenshot może skutkować dużymi ładunkami danych.

Typowe przypadki użycia

Wypełnij formularz internetowy

  • Kliknij browser_navigate, aby otworzyć stronę docelową.
  • Wywołaj browser_wait_for, aby poczekać, aż formularz się załaduje.
  • Wywołaj browser_type, aby wypełnić każde pole za pomocą selektora CSS.
  • Wywołaj browser_click, aby przesłać formularz.
  • Wywołaj browser_wait_for, aby poczekać na element potwierdzenia.
  • Wywołaj browser_get_text, aby odczytać i zweryfikować wynik.

Zautomatyzuj aplikację komputerową

  • Wywołaj activate_window, aby przenieść aplikację na pierwszy plan.
  • Wywołaj take_screenshot, aby przechwycić bieżący stan.
  • Wywołaj find_ui_element, aby znaleźć przycisk lub pole według nazwy.
  • Wywołaj click na zgłoszone współrzędne elementu.
  • Kliknij type_text, aby wprowadzić dane.
  • Wzywaj press_keys do skrótów (na przykład ["ctrl","s"] do zapisu).
  • Zadzwoń, take_screenshot aby potwierdzić wynik.

Wyodrębnianie danych ze strony internetowej

  • Naciśnij browser_navigate, aby otworzyć stronę.
  • Wywołaj browser_get_text, aby wyodrębnić widoczną zawartość tekstową.
  • Wywołaj, execute_python_code aby przeanalizować i przetworzyć wyodrębnione dane.
  • Wywołaj browser_eval_js, aby za pomocą JavaScriptu odpytać konkretne wartości, gdy wyodrębnianie tekstu nie wystarcza.

Wykonuj zadania deweloperskie

  • Wywołaj execute_shell_command dla git pull, npm install i dotnet build.
  • Wywołaj take_screenshot, aby przechwycić dane wyjściowe kompilacji.
  • Wywołaj execute_python_code, aby przeanalizować logi lub wyniki testów.
  • Użyj browser_navigate, aby otworzyć w przeglądarce lokalny serwer deweloperski.
  • Wywołaj browser_screenshot, aby przechwycić wygenerowaną stronę.

Odczyt i zapis plików

  • Odczytaj plik za pomocą execute_shell_command z użyciem type C:\path\to\file.txt.
  • Zapisz plik za pomocą execute_python_code i języka Python: open(...) oraz write(...).
  • Zweryfikuj za pomocą execute_shell_command z użyciem dir C:\path\to\output.txt.
  • Wywołaj get_accessibility_tree, aby poznać całą strukturę interfejsu użytkownika.
  • Wywołaj, find_ui_element aby znaleźć konkretną kontrolę (na przykład role: "MenuItem", name: "Settings").
  • Wywołaj click, używając współrzędnych podanych przez element.
  • Wywołaj ponownie find_ui_element, aby znaleźć kolejną kontrolkę w sesji dialogowej.
  • Wywołaj type_text lub click, aby z nim współdziałać.

Utrzymuj aktywność długotrwałej sesji

  • Wysyłaj dowolne żądanie MCP przynajmniej raz na 30 minut, aby zapobiec usunięciu z powodu bezczynności.
  • get_screen_size to element uproszczony i działa dobrze jako puls.

Learn more

Windows 365 dla agentów