Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
WorkSpaces Aplikasi MCP Server
Server WorkSpaces Aplikasi MCP adalah layanan yang dikelola sepenuhnya yang menyediakan alat Model Context Protocol (MCP) kepada agen AI untuk berinteraksi dengan aplikasi desktop selama sesi streaming. Agen dapat mengklik tombol, memasukkan teks, menggulir, dan mengambil tangkapan layar desktop.
Ikhtisar
Saat Anda mengaktifkan akses agen di tumpukan, agen dapat terhubung ke server MCP terkelola untuk berinteraksi dengan aplikasi desktop. Server MCP menangani komunikasi antara agen Anda dan sesi streaming. Agen Anda mengirimkan permintaan alat MCP, dan server mengeksekusinya di desktop.
Server MCP di-host di AWS cloud. Anda tidak perlu menginstal atau memelihara komponen server apa pun. Server menggunakan Streamable HTTP sebagai protokol transportasinya.
Akses agen mendukung armada non-domain yang bergabung dan bergabung dengan domain. Metode koneksi berbeda menurut jenis armada. Non-domain-joined armada mengautentikasi sesi dengan URL streaming, sementara armada yang bergabung dengan domain mengautentikasi melalui federasi SAMP. Untuk jalur yang cocok dengan armada Anda, lihatMenghubungkan ke server MCP.
Menghubungkan ke server MCP
Agen terhubung ke server MCP pada titik akhir berikut:
https://agentaccess-mcp.region.api.aws/mcp
Server MCP di-host di AWS cloud dan menggunakan Streamable HTTP sebagai protokol transportasinya. Anda tidak perlu menginstal atau memelihara komponen server apa pun.
Setiap permintaan harus SigV4-signed menggunakan kredensil IAM dengan nama layanan. agentaccess-mcp Contoh Python berikut menunjukkan pola koneksi umum menggunakan: mcp-proxy-for-aws
from mcp_proxy_for_aws import aws_iam_streamablehttp_client async with aws_iam_streamablehttp_client( endpoint="https://agentaccess-mcp.region.api.aws/mcp", aws_service="agentaccess-mcp", aws_region="region", headers={ # Fleet-type-specific headers (see the following subsections) }, metadata={ # Fleet-type-specific metadata (see the following subsections) }, ) as (read, write, _): # Use read/write streams with your MCP client ...
Untuk bahasa lain, tulis logika penandatanganan SigV4 Anda sendiri untuk permintaan MCP keluar atau gunakan pustaka yang mendukung penandatanganan SigV4. Untuk informasi selengkapnyamcp-proxy-for-aws, lihat mcp-proxy-for-aws
Cara Anda mengautentikasi sesi streaming tergantung pada jenis armada Anda:
-
Non-domain-joined armada — Berikan URL streaming sebagai header. Lihat Menghubungkan dengan armada yang tidak bergabung dengan domain.
-
Domain-joined armada — Lulus pernyataan SAMP yang ditandatangani sebagai metadata. Lihat Menghubungkan dengan armada yang bergabung dengan domain.
Menghubungkan dengan armada yang tidak bergabung dengan domain
Untuk armada yang tidak bergabung dengan domain, buat URL streaming menggunakan CreateStreamingURL API dan teruskan sebagai header pada X-Amzn-AgentAccess-Streaming-Session-Url setiap permintaan. Tidak diperlukan parameter khusus agen. Perilaku agen ditentukan oleh konfigurasi akses agen stack.
import boto3 from mcp_proxy_for_aws import aws_iam_streamablehttp_client # Generate streaming URL appstream = boto3.client("appstream", region_name="region") response = appstream.create_streaming_url( StackName="stack-name", FleetName="fleet-name", UserId="user-id", ) streaming_url = response["StreamingURL"] # Connect to MCP server async with aws_iam_streamablehttp_client( endpoint="https://agentaccess-mcp.region.api.aws/mcp", aws_service="agentaccess-mcp", aws_region="region", headers={ "X-Amzn-AgentAccess-Streaming-Session-Url": streaming_url, }, ) as (read, write, _): ...
Untuk informasi selengkapnya tentang CreateStreamingURL API, lihat CreateStreamingURL di Referensi API Amazon WorkSpaces Applications 2.0.
Menghubungkan dengan armada yang bergabung dengan domain
Saat agen mengakses instans streaming yang bergabung dengan domain, koneksi harus difederasi melalui penyedia SAMP. Persyaratan ini berlaku untuk sesi standar dan agen. Sesi standar memungkinkan pengguna untuk memasukkan kata sandi mereka secara manual atau menggunakan otentikasi berbasis sertifikat untuk pengalaman login yang mulus. Untuk sesi agen, otentikasi berbasis sertifikat diperlukan.
Karena instans streaming yang bergabung dengan domain memerlukan akses melalui SAMP, klien MCP Anda harus memberikan pernyataan SAMP yang ditandatangani alih-alih URL streaming. Pernyataan SAMP yang dikodekan melebihi batas ukuran header HTTP. Untuk menghindari hal ini, gunakan metadata bidang dimcp-proxy-for-aws:
from mcp_proxy_for_aws import aws_iam_streamablehttp_client # saml_response: your signed, base64-encoded SAML assertion # stack_arn: the ARN of the AppStream stack for the AD user async with aws_iam_streamablehttp_client( endpoint="https://agentaccess-mcp.region.api.aws/mcp", aws_service="agentaccess-mcp", aws_region="region", metadata={ "saml_response": saml_response, "stack_arn": stack_arn, }, ) as (read, write, _): ...
catatan
metadataParameter ditambahkan dalam mcp-proxy-for-aws versi 1.6.1. Versi sebelumnya tidak dapat menyuntikkan _meta bidang tanpa pengembangan tambahan. Untuk meng-upgrade, jalankanpip install -U mcp-proxy-for-aws.
Untuk informasi selengkapnya tentang menyiapkan federasi SAMP dengan WorkSpaces Aplikasi, lihat Menyiapkan SAMP di Panduan Administrasi WorkSpaces Aplikasi Amazon. Untuk informasi selengkapnya dan contoh kerja yang lengkap, lihat repositori sample-code-for-workspaces-agent-access
Mode koneksi
Anda dapat mengontrol bagaimana agen Anda menunggu sesi desktop tersedia dengan mengatur X-Amzn-AgentAccess-Connect-Mode header pada permintaan MCP Anda.
catatan
Mode koneksi berlaku untuk armada yang tidak bergabung dengan domain dan yang bergabung dengan domain. Tetapkan X-Amzn-AgentAccess-Connect-Mode header di samping mekanisme otentikasi mana pun yang digunakan tipe armada Anda (header URL streaming untuk armada yang tidak bergabung dengan domain, atau metadata pernyataan SAMP untuk armada yang bergabung dengan domain).
Mode berikut tersedia:
-
BLOCKING (default) — Server MCP menunggu hingga koneksi desktop sepenuhnya dibuat sebelum merespons. Saat
tools/listkembali, semua alat segera tersedia. -
POLLING — Server MCP merespons segera tanpa menunggu koneksi desktop. Awalnya, hanya
connection_statusalat yang tersedia. Agen Anda melakukan polling alat ini sampai koneksi dibuat, di mana set alat lengkap tersedia.
Gunakan mode POLLING saat Anda ingin agen Anda melakukan pekerjaan lain sambil menunggu koneksi desktop, atau saat Anda memerlukan kontrol lebih besar atas perilaku batas waktu koneksi.
Contoh berikut menunjukkan cara menggunakan modus POLLING:
# Pass the header when creating the MCP connection headers = { "X-Amzn-AgentAccess-Streaming-Session-Url": streaming_url, # non-domain-joined fleets "X-Amzn-AgentAccess-Connect-Mode": "POLLING", } # After initialize, tools/list returns immediately with connection_status tools = await session.list_tools() # tools = [connection_status] # Poll connection_status until the desktop is ready while True: result = await session.call_tool("connection_status", {}) status = json.loads(result.content[0].text) if status["state"] == "CONNECTED": break time.sleep(2) # Now tools/list returns the full set (screenshot, left_click, type_text, etc.) tools = await session.list_tools()
Pembersihan sesi
Anda dapat mengontrol apakah sesi streaming kedaluwarsa saat agen Anda mengakhiri koneksinya dengan mengatur X-Amzn-AgentAccess-Expire-Streaming-Session-On-Delete header pada permintaan MCP Anda. Nilai-nilai berikut tersedia:
-
true — Saat agen Anda mengirimkan
DELETEpermintaan HTTP eksplisit, server MCP akan kedaluwarsa sesi streaming WorkSpaces Aplikasi sebagai bagian dari pembersihan. Kedaluwarsa sesi mengakhiri instans streaming yang mendasarinya dan memicu kebijakan penskalaan otomatis yang dikonfigurasi armada. Untuk informasi selengkapnya, lihat Auto Scaling Armada untuk Aplikasi Amazon WorkSpaces. -
false (default) - Sesi streaming terus berjalan hingga batas waktu pemutusan tercapai. Untuk informasi selengkapnya tentang batas waktu pemutusan sambungan, lihat. Buat Armada di WorkSpaces Aplikasi Amazon
catatan
Secara default, klien mcp-proxy-for-aws MCP secara otomatis menangani DELETE permintaan ketika Anda mengakhiri siklus hidup klien dengan benar.
Alat yang tersedia
Server MCP menyediakan alat berikut bagi agen untuk berinteraksi dengan desktop selama sesi streaming. Semua nama alat menggunakan agentaccess___ awalan.
Alat mouse
left_click-
Lakukan klik kiri pada koordinat yang diberikan.
Parameter:
x(wajib),y(wajib),modifiers(opsional, misalnyactrlatauctrl+shift). double_click-
Lakukan klik dua kali pada koordinat yang diberikan.
Parameter:
x(wajib),y(wajib),modifiers(opsional). triple_click-
Lakukan klik tiga kali pada koordinat yang diberikan.
Parameter:
x(wajib),y(wajib),modifiers(opsional). right_click-
Lakukan klik kanan pada koordinat yang diberikan.
Parameter:
x(wajib),y(wajib),modifiers(opsional). middle_click-
Lakukan klik tengah pada koordinat yang diberikan.
Parameter:
x(wajib),y(wajib),modifiers(opsional). left_click_drag-
Lakukan seret klik kiri dari koordinat awal ke koordinat akhir.
Parameter:
start_x(wajib),start_y(wajib),end_x(wajib),end_y(wajib). left_mouse_down-
Tekan dan tahan tombol kiri mouse pada koordinat yang diberikan.
Parameter:
x(wajib),y(wajib),modifiers(opsional). left_mouse_up-
Lepaskan tombol kiri mouse pada koordinat yang diberikan.
Parameter:
x(wajib),y(wajib),modifiers(opsional). move_pointer-
Pindahkan pointer ke koordinat yang diberikan.
Parameter:
x(wajib),y(wajib). scroll-
Gulir roda mouse pada koordinat yang diberikan.
Parameter:
x(wajib),y(wajib),scroll_direction(wajib —Up,,DownLeft, atauRight),scroll_amount(wajib — dalam kutu, di mana 120 kutu sama dengan satu takik roda),modifiers(opsional).
Alat keyboard
type_text-
Ketik teks dengan mensimulasikan peristiwa keyboard untuk setiap karakter.
Parameter:
text(diperlukan — hingga 10.000 karakter). key-
Tekan kombinasi tombol atau tombol.
Parameter:
keys(diperlukan — satu tombol atau kombinasi yang digabungkan dengan+, misalnyaa,ctrl+c, atauctrl+shift+s). hold_key-
Tahan kombinasi tombol atau tombol untuk durasi tertentu.
Parameter:
keys(wajib),duration(diperlukan — 1 hingga 30 detik).
Alat layar
screenshot-
Tangkap tangkapan layar desktop. Dimensi gambar yang dikembalikan menentukan ruang koordinat untuk semua alat mouse.
Parameter:
include_cursor(opsional — default ke).false
Penerusan alat MCP
Penerusan alat MCP memungkinkan agen untuk berinteraksi dengan aplikasi dan sistem operasi desktop melalui panggilan MCP langsung daripada menggunakan alat penggunaan komputer. Saat Anda mengaktifkan penerusan alat, server MCP meneruskan alat yang dikonfigurasi pada sesi WorkSpaces aplikasi ke agen Anda.
Menyiapkan penerusan alat
Untuk mengatur penerusan alat MCP:
-
Aktifkan penerusan alat - Aktifkan aksi
FORWARD_MCP_TOOLSagen melalui pengaturan API atau konsol. -
Konfigurasikan server MCP di WorkSpace — Layanan mencari file konfigurasi di jalur berikut:
C:\ProgramData\NICE\dcv\mcp_server_redirection_config.json -
Verifikasi ketersediaan alat - Jika file konfigurasi ada, layanan terhubung ke server MCP yang dikonfigurasi dalam file dan meneruskan alat. Alat yang diteruskan muncul ketika agen mencantumkan alat yang tersedia.
catatan
Akses IAM dan pengaturan layanan harus diaktifkan agar penerusan alat berfungsi. Izin IAM tidak mengesampingkan pengaturan layanan.
Izin IAM untuk penerusan alat
Tindakan IAM untuk memanggil alat yang diteruskan adalah. CallForwardedTool Anda dapat mengakses cakupan ke tumpukan tertentu menggunakan kunci StackArn kondisi:
{ "Action": "agentaccess-mcp:*", "Resource": "*", "Condition": { "ArnLike": { "ponte-mcp:StackArn": "arn:aws:appstream:region:account-id:stack/stack-name" } } }
Kerangka kerja yang kompatibel
Anda dapat terhubung ke server MCP WorkSpaces Aplikasi dari kerangka kerja MCP-compatible agen apa pun yang mendukung penandatanganan Streamable HTTP dan SigV4. Kerangka kerja berikut telah diuji:
-
Strands Agents SDK
- Menyediakan dukungan klien MCP asli. -
mcp-proxy-for-aws
— Transportasi ringan yang menangani penandatanganan SiGv4 untuk permintaan MCP dengan Python.
Memantau
Anda dapat memantau aktivitas agen melalui layanan berikut:
-
AWS CloudTrail— Acara sesi agen masuk CloudTrail. Anda dapat melihat kapan agen terhubung, alat mana yang mereka gunakan, dan kapan sesi berakhir. Panggilan alat adalah peristiwa data dan mengharuskan Anda menyiapkan jejak untuk mencatat peristiwa data. Untuk informasi selengkapnya, lihat Mencatat peristiwa data dalam CloudTrail Panduan Pengguna.
-
CloudWatch— Metrik operasional untuk sesi agen tersedia di CloudWatch.
-
Amazon S3 — Jika Anda mengonfigurasi penyimpanan tangkapan layar, tangkapan layar yang diambil selama sesi agen tersedia di bucket Amazon S3 yang Anda tentukan. Tangkapan layar disimpan dengan format kunci berikut:
agentaccess/screenshots/year=YYYY/month=MM/day=DD/session-id/timestamp.pngUUID di jalur adalah ID sesi streaming WorkSpaces Aplikasi.
Memulai
Untuk memulai dengan server MCP WorkSpaces Aplikasi, lihatMulai menyediakan agen dengan akses ke WorkSpaces Aplikasi.