Windows 365 dla agentów – referencja serwera MCP (podgląd)

Important

  • Jest to funkcja w wersji zapoznawczej.
  • Funkcje w wersji zapoznawczej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje podlegają dodatkowym warunkom użytkowania i są dostępne przed oficjalną wersją, aby klienci mogli uzyskać wczesny dostęp i przekazać opinię.

Windows 365 for Agents to serwer MCP umożliwiający 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

  • Istniejące połączenia korzystające z wcześniejszych wersji serwerów Microsoft MCP pozostają wspierane.
  • Do wszystkich nowych połączeń korzystaj z najnowszego serwera MCP Windows 365 Agents, który udostępnia narzędzia obejmujące funkcje desktopowe, przeglądarkowe i dostępne.
  • 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 celować w 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, zobacz Windows 365 dla dokumentacji agentów.

Overview

Server ID Display name Description
mcp_W365AServer Windows 365 dla serwera MCP Agents Pełną kontrolę operacyjną nad komputerem w chmurze Windows 365, w tym interakcję z pulpitem, automatyzację przeglądarki oraz inspekcję interfejsu użytkownika.

Available tools

mcp_desktop_move_mouse

Przesuń kursor na pozycję ekranu. Użyj mcp_desktop_click zamiast tego, jeśli zamierzasz kliknąć w stronę celu.  Required parameters:

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

mcp_desktop_click

Kliknij na pozycję lub na aktualną pozycję kursora, jeśli pominięto współrzędne. Obsługuje pojedyncze kliknięcie, podwójne kliknięcie oraz wszystkie pięć przycisków myszy. 

Optional parameters:

  • x: współrzędna X w pikselach ekranu (pomijam dla bieżącej pozycji)

  • y: współrzędna y w pikselach ekranu (pomijam dla bieżącej pozycji)

  • button: Lewo, Prawo, Środek, Do przodu lub Do tyłu (domyślnie Lewo)

  • clickCount: 1 = pojedyncze kliknięcie, 2 = podwójne kliknięcie (domyślnie 1)

mcp_desktop_get_cursor_position

Zwróć aktualne współrzędne kursora. No parameters. Zwraca {cursorX, cursorY}.

mcp_desktop_drag_mouse

Przeciągnij z jednej pozycji do drugiej. Przydatne do przesuwania obiektów, zmiany rozmiaru okien lub przewijania z dokładnością piksela. Required parameters:

  • startX: Rozpocznij X współrzędna.
  • startY: Współrzędna Y na początek.
  • endX: Koniec współrzędnej X.
  • endY: Koniec współrzędnej Y. Optional parameters:
  • button: Lewo, Prawo lub Środek (domyślnie Lewo)

mcp_desktop_scroll

Przewijaj w określonej pozycji, używając jednostek notch (nie pikseli). Trzy nacięcia to mniej więcej jedna strona. 

Required parameters:

  • x: Pozycja przewijania X

  • y: Pozycja przewijania Y

Optional parameters:

  • deltaX: Poziome nacięcia, dodatnie = prawo (domyślnie 0)
  • deltaY: Pionowe nacięcia, dodatnie = dół (domyślnie 0)

Note

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

mcp_desktop_type_text

Pisz tekst za pomocą symulacji klawiatury. Do skrótów klawiaturowych użyj mcp_desktop_press_keys. Dla pól formularza webowego użyj mcp_browser_type

Required parameters:

  • text: Tekst do pisania

mcp_desktop_press_keys

Naciśnij kombinację klawiszy jednocześnie. Obsługuje klawisze modyfikujące, funkcyjne oraz standardowe klawisze. 

Required parameters:

  • keys: Tablica nazw klawiszy do wspólnego naciskania (na przykład \["ctrl","c"\], \["alt","tab"\], \["ctrl","shift","s"\])

mcp_desktop_take_screenshot

Uchwyć pełny ekran lub przycięty obszar jako obraz PNG (zakodowany w base64). 

Optional parameters:

  • x: Lewa krawędź regionu upraw
  • y: Górna krawędź regionu upraw
  • width: Szerokość regionu upraw
  • height: Wysokość regionu upraw

Note

Podaj wszystkie cztery parametry przycięcia razem lub pomiń je, aby uzyskać pełnoekranowe przejęcie. 

mcp_desktop_analyze_screen

Wykonaj OCR na całym ekranie. No parameters. Zwraca wartość {fullText, averageConfidence, boxes[{text, confidence, x, y, width, height}], width, height}.

mcp_desktop_get_screen_size

Zwróć rozdzielczość ekranu. No parameters. Zwraca wartość {width, height}.

mcp_desktop_list_windows

Wypisz wszystkie widoczne okna wraz z ich tytułami, pozycjami i wymiarami. No parameters. Zwraca tablicę {title, processName, handle, x, y, width, height}.

mcp_desktop_activate_window

Zbliż się do pierwszego planu, używając rozmytego meczu o tytuł.

Required parameters:

  • titlePattern: Częściowy tytuł okna (podciąg nierozróżniający wielkość liter)

mcp_desktop_focus_browser

Skup się na oknie przeglądarki (Edge, Chrome lub Firefox), opcjonalnie filtrowanym według adresu URL lub tytułu.

Optional parameters:

  • pattern: URL lub podciąg tytułu do dopasowania (pominięcie dla dowolnego okna przeglądarki)

mcp_desktop_close_window

Z gracją zamykaj okno przez rozmyty pojedynek o tytuł. Procesy krytyczne dla systemu są chronione i nie mogą być zamknięte.

Required parameters:

  • titlePattern: Częściowy tytuł przy okienku (80% progu meczu). Zwraca wartość {matchedTitle, processName, closed}.

mcp_desktop_execute_shell_command

Uruchom komendę shell w środowisku sandboxowym. Polecenia są weryfikowane na podstawie listy dozwolonych, a niebezpieczne wzorce są blokowane.

Required parameters:

  • command: Polecenie wykonania

Optional parameters:

  • cwd: Katalog roboczy
  • timeoutMs: Czas przekroczenia w milisekundach (domyślnie 30000, maksymalnie 30000)

Note

  • Dozwolone polecenia: git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, oraz type.
  • Wzorce blokowane obejmują metaznaki powłoki (|, ;, &, <, ), >rozszerzenie (%VAR%)zmiennych środowiskowych, flagi oceny interpretera (python -c lub node -e), git config --global, npm -g, pliki wykonywalne z prefiksami ścieżek, rm -rf, sudo, oraz polecenia dysk/system.
  • stdout stderr i każda z nich jest skrócona do 32 KB. Zastosowanie mcp_desktop_execute_python_code do dowolnych obliczeń. Zwraca wartość {stdout, stderr, exitCode, success, timedOut, resourceLimitsApplied}.

mcp_desktop_execute_python_code

Uruchamiaj kod Python w środowisku sandboxowym z ograniczeniami zasobów. Idealne do przetwarzania danych, obliczeń, operacji wejścia i wyjścia plików oraz wszelkich obliczeń wykraczających poza proste polecenia powłoki.

Required parameters:

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

Optional parameters:

  • cwd: Katalog roboczy
  • timeoutMs: Czas przekroczenia w milisekundach (domyślnie 30000, maksymalnie 30000).

Zwraca ten sam schemat co mcp_desktop_execute_shell_command

mcp_desktop_wait_milliseconds

Zatrzymaj wykonanie, aby umożliwić zakończenie animacji lub przejść między nimi. Nie używaj w pętlach odpytywania—używaj mcp_browser_wait_for do ankiet DOM. 

Required parameters:

  • ms: Czas oczekiwania w milisekundach (przycisnął do [0, 5000])

mcp_browser_navigate

Przejdź do adresu URL i poczekaj, aż strona się załaduje. 

Required parameters:

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

mcp_browser_back

Wróć do historii przeglądarki. No parameters.

mcp_browser_forward

Przesuwaj się do przodu w historii przeglądarki. No parameters.

mcp_browser_reload

Przeczytaj aktualną stronę. No parameters.

mcp_browser_get_url

Zwróć aktualny adres URL strony jako zwykły ciąg znaków. No parameters.

mcp_browser_get_title

Zwróć aktualny tytuł strony jako zwykły ciąg znaków. No parameters.

mcp_browser_get_text

Zwróć widoczny tekst strony jako zwykły ciąg znaków. No parameters. Skrócone do 512 KB.

mcp_browser_get_html

Zwróć źródło HTML na całej stronie jako zwykły ciąg znaków. No parameters. Skrócone do 512 KB.

mcp_browser_click

Kliknij element DOM za pomocą selektora CSS. Bardziej niezawodne niż klikanie oparte na współrzędnych na treści internetowe.

Required parameters:

  • selektor: selektor CSS (na przykład #submit-btna.nav-linklub )

mcp_browser_type

Wpisuj tekst do elementu formularza za pomocą selektora CSS.

Required parameters:

  • selector: CSS selektor elementu wejściowego.
  • text: Tekst do pisania

mcp_browser_query_text

Uzyskaj zawartość tekstu pierwszego elementu dopasowaną do selektora CSS.

Required parameters:

  • selector: CSS selektor

mcp_browser_wait_for

Poczekaj, aż pojawi się element DOM. Przydatne do dynamicznych treści, które ładują się asynchronicznie.

Required parameters:

  • selector: CSS selektor do oczekiwania

Optional parameters:

  • timeoutMs: Czas przekroczenia w milisekundach (domyślnie 5000, maksymalnie 30000)

mcp_browser_eval_js

Oceniaj JavaScript wyrażenie w kontekście strony i zwracaj wynik jako ciąg znaków.

Required parameters:

  • expression: JavaScript wyrażenie, które zwraca ciąg

Note

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

mcp_browser_list_tabs

Wypisz wszystkie otwarte karty wraz z ich index, title, i URL. No parameters. Zwraca tablicę {index, title, url}.

mcp_browser_switch_tab

Przełącz się na zakładkę według indeksu.

Required parameters:

  • tabIndex: indeks tabulacji oparty na 0

mcp_browser_new_tab

Otwórz nową kartę, opcjonalnie przechodząc do adresu URL.

Optional parameters:

  • url: URL do otwarcia (pusta karta, jeśli pominięcie)

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

mcp_browser_close_tab

Zamknij zakładkę przy indeksie.

Required parameters:

  • tabIndex: indeks tabulacji oparty na 0

mcp_browser_screenshot

Zrób zrzut PNG tylko z widoku przeglądarki (nie z pełnego ekranu). No parameters. Zwraca PNG zakodowane w bazie 64.

mcp_accessibility_get_accessibility_tree

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

Optional parameters:

  • maxDepth: Maksymalna głębokość przechodzenia drzewa, 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[...]}.

mcp_accessibility_find_ui_element

Wyszukaj elementy UI według treści tekstowej, roli dostępności lub nazwy (podciąg nierozróżniający wielkość liter). Zwraca dopasowane elementy z ich klikalnymi współrzędnymi ekranu.

Optional parameters:

  • text: Tekst do wyszukiwania (używany jako nazwa, jeśli imię zostało pominięte)
  • role: Filtr ról UI — Button, , TextBoxCheckBox, MenuItem, ComboBox, i inne
  • name: Dostępna nazwa (ma pierwszeństwo przed tekstem, jeśli oba są dostępne)
  • windowHandle: Uchwyt okna celu (null = okno pierwszego planu)

Note

Należy podać co najmniej jeden z tekstem, rolą lub nazwą. Zwraca tablicę {role, name, value, x, y, width, height}.

Key features

Desktop interaction

  • Kliknij, podwójnie kliknij, kliknij prawym i pięcioprzyciskowym sterowaniem myszką.
  • Przeciągnij i upuść precyzyjnie jak piksele.
  • Przewijanie oparte na nacięciach (trzy nacięcia ≈ jednej stronie).
  • Pisanie na klawiaturze i kombinacje skrótów wieloklawiszowych.
  • Śledzenie pozycji kursora.
  • Wykrywanie rozdzielczości ekranu.

Zrzut ekranu i analiza

  • Zrzuty ekranu lub przycięte w PNG.
  • OCR pełnego ekranu z ocenami pewności dla regionów i ramkami ograniczającymi.
  • Zrzuty ekranu tylko w przeglądarce do treści internetowych.

Window management

  • Wypisz wszystkie widoczne okna wraz z pozycjami i wymiarami.
  • Aktywuj Windows przez dopasowanie do tytułu fuzzy.
  • 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.

Command execution

  • Polecenia powłoki w piaskownicy z listą dozwolonych (git, npm, dotnet, python, cargo, node, pip, dir, mkdir, del, copy, move, robocopy, findstr, where, type).
  • Sandboxowany Python wykonanie do 262 144 znaków kodu.
  • Kontrola timeoutu w katalogu roboczym i pojedynczego połączenia (maksymalnie 30 sekund).
  • Limity zasobów i utwardzona lista bloków przeciwko metaznakom powłoki, flagom evaluacyjnym, eskalacji uprawnień oraz operacjom destrukcyjnym.

Browser automation

  • Nawigacja, tył, naprzód, przeładowanie.
  • Czytaj pageURL, tytuł, widoczny tekst (limitacja 512 KB) oraz pełny HTML (limit 512 KB).
  • Kliknięcia, wpisy i zapytania tekstowe na poziomie DOM za pomocą selektora CSS.
  • Czekaj na dynamiczne elementy z konfigurowalnym timeoutem.
  • Oceń JavaScript wyrażenia w kontekście strony.
  • Zarządzanie wieloma kartami: lista, przełączanie, otwieranie, zamykanie.
  • Działa na Microsoft Edge, uruchamia się automatycznie przy pierwszym użyciu.

UI accessibility

  • Pobierz Windows automatyzacja interfejsu użytkownika tree dla okna pierwszego planu z konfigurowalną głębokością i liczbą elementów.
  • Znajdź elementy UI według tekstu, roli lub dostępnej nazwy.
  • Zwraca klikalne współrzędne ekranu dla precyzyjnego celowania przycisków, pól tekstowych, pól checkboxów, pozycji menu i pól kombinacji.

Synchronizacja i synchronizacja

  • Krótkie pauzy w jednorazowym odcinku via mcp_desktop_wait_milliseconds (maksymalnie pięć sekund).
  • Badanie na poziomie DOM przez mcp_browser_wait_for (maksymalnie 30 sekund).

Notes

  • Wszystkie współrzędne są w pikselach ekranu z (0,0) w lewym górnym rogu. Współrzędne z mcp_desktop_take_screenshot, mcp_desktop_analyze_screen, mcp_accessibility_find_ui_element, i mcp_desktop_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, operacje myszy zostają anulowane. Unikaj celowania w skrajne krawędzie ekranu.
  • Operatory rur powłokowych (|), średniki (;), ampersandy (&) oraz przekierowanie wyjścia (>, <) są zablokowane. Aby przekształcić wyjście polecenia, należy je przechwycić i przetworzyć za pomocą mcp_desktop_execute_python_code.
  • Jeśli flagi oceny interpretera są zablokowane lub jeśli python -c "..." i node -e "..." zostaną odrzucone, możesz użyć mcp_desktop_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 czas mcp_desktop_execute_shell_commandmcp_desktop_execute_python_code na czas to 30 sekund. Przy dłuższej pracy podziel ją na mniejsze kroki lub uruchom proces w tle w Python i poll.
  • Nie ma dedykowanego narzędzia do odczytu/zapisu plików. Czytaj pliki za pomocą mcp_desktop_execute_shell_command za pomocą polecenia type; zapisuj pliki za pomocą mcp_desktop_execute_python_code korzystając z wbudowanego pliku I/O Python. Przekierowanie wyjścia powłoki (>, >>) jest zablokowane.
  • mcp_browser_eval_js zawsze zwraca ciąg znaków. Konwersja obiektów lub liczb jest jawna przed zwrotem.
  • Narzędzia DOM przeglądarki (mcp_browser_click, mcp_browser_type, mcp_browser_eval_js itd.) działają tylko na Microsoft Edge instancji.  mcp_desktop_focus_browser może ustawić ostrość w oknach Chrome lub Firefox, ale narzędzia DOM nie będą ich celować.
  • mcp_desktop_take_screenshot wymaga wszystkich czterech parametrów przycięcia (x, y, szerokość, wysokość) razem lub żadnego do przechwytywania na pełnym ekranie.
  • mcp_desktop_scroll używa jednostek notch (przymocowanych do [-20, 20]), nie pikseli. Trzy nacięcia to mniej więcej jedna strona.
  • mcp_accessibility_find_ui_element wymaga co najmniej jednego z tekstu, roli lub imienia. Gdy podawane są zarówno teksty, jak i imię, imię ma pierwszeństwo.

Typowe przypadki użycia

Wypełnij formularz internetowy

  • Zadzwoń, mcp_browser_navigate aby otworzyć stronę docelową.
  • Zadzwoń, mcp_browser_wait_for aby poczekać na załadowanie formularza.
  • Wywołanie mcp_browser_type wypełni każde pole przez selektor CSS.
  • Zadzwoń, mcp_browser_click aby przesłać formularz.
  • Zadzwoń, mcp_browser_wait_for aby poczekać na element potwierdzający.
  • Zadzwoń, mcp_browser_get_text aby przeczytać i zweryfikować wynik.

Automate a desktop app

  • Zadzwoń, mcp_desktop_activate_window aby wysunąć wniosek na pierwszy plan.
  • Wezwanie mcp_desktop_take_screenshot , aby uchwycić aktualny stan.
  • Zadzwoń, mcp_accessibility_find_ui_element aby zlokalizować przycisk lub pole po nazwie.
  • Zadzwoń mcp_desktop_click na zgłoszone współrzędne elementu.
  • Zadzwoń, mcp_desktop_type_text aby wprowadzić dane.
  • Wezwanie mcp_desktop_press_keys skrótów (na przykład ["ctrl","s"] do zapisu).
  • Zadzwoń, mcp_desktop_take_screenshot aby potwierdzić wynik.

Wyodrębnianie danych ze strony internetowej

  • Zadzwoń, mcp_browser_navigate aby otworzyć stronę.
  • Wywołanie mcp_browser_get_text w celu wyodrębnienia widocznych treści tekstowych.
  • Wywołaj, mcp_desktop_execute_python_code aby przeanalizować i przetworzyć wyodrębnione dane.
  • Wywołanie mcp_browser_eval_js zapytania o konkretne wartości przez JavaScript, gdy ekstrakcja tekstu nie wystarcza.

Wykonuj zadania deweloperskie

  • Niech mcp_desktop_execute_shell_command będą , git pullnpm install, oraz dotnet build.
  • Wywołanie mcp_desktop_take_screenshot do przechwycenia wyniku budowy.
  • Zadzwoń, mcp_desktop_execute_python_code aby przeanalizować logi lub wyniki testów.
  • Zadzwoń, mcp_browser_navigate aby otworzyć lokalny serwer deweloperski w przeglądarce.
  • Wywołanie mcp_browser_screenshot , aby przechwycić wyrenderowaną stronę.

Odczyt i zapis plików

  • Odczytaj plik używając mcp_desktop_execute_shell_command .type C:\path\to\file.txt
  • Zapisz plik z mcp_desktop_execute_python_code używając Python open(...) i write(...).
  • Sprawdź, używając mcp_desktop_execute_shell_command .dir C:\path\to\output.txt
  • Zadzwoń, mcp_accessibility_get_accessibility_tree aby poznać pełną strukturę interfejsu.
  • Wywołaj, mcp_accessibility_find_ui_element aby znaleźć konkretną kontrolkę (na przykład rolę: "MenuItem", nazwa: "Settings").
  • Wywołaj, mcp_desktop_click używając zgłoszonych współrzędnych elementu.
  • Zadzwoń mcp_accessibility_find_ui_element ponownie, aby znaleźć kolejną kontrolkę w dialogu.
  • Zadzwoń mcp_desktop_type_text lub mcp_desktop_click wchodzi w interakcję.

Utrzymuj długotrwałą sesję przy życiu

  • Wyślij wniosek MCP co najmniej raz na 30 minut, aby zapobiec bezczynnej eksmisji.
  • mcp_desktop_get_screen_size Jest lekki i działa dobrze jak serce.