Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Spesifikasi alat MCP
Solusi Distributed Load Testing mengekspos seperangkat alat MCP yang memungkinkan agen AI berinteraksi dengan skenario dan hasil pengujian. Alat ini menyediakan kemampuan abstrak tingkat tinggi yang selaras dengan cara agen AI memproses informasi, memungkinkan mereka untuk fokus pada analisis dan wawasan daripada kontrak API terperinci.
Server MCP mendukung dua mode akses, dikendalikan oleh CloudFormation parameter MCPServerAccessMode AWS:
-
ReadOnly(default) — Hanya alat baca yang terdaftar. Agen melihat 7 alat melalui
tools/list. Tidak ada operasi mutasi yang tersedia. -
ReadWrite— Alat baca dan tulis terdaftar. Agen melihat semua alat (baca + tulis) melalui
tools/listdan dapat membuat tes, memicu proses, mengelola jadwal, dan mengunggah skrip.
Mode akses diatur pada waktu penerapan. Untuk mengubah mode akses setelah penerapan awal, lakukan pembaruan CloudFormation tumpukan dengan nilai MCPServerAccessMode parameter baru. Perubahan akan berlaku saat pembaruan tumpukan selesai — tidak ada langkah manual lainnya yang diperlukan.
Dalam ReadOnly mode, alat tulis tidak terdaftar sama sekali — agen tidak pernah melihatnyatools/list. Kebijakan AWS Identity and Access Management (IAM) pada fungsi AWS Lambda Server MCP dicakup sesuai dengan itu. ReadOnly hanya mengizinkan permintaan GET ke API. ReadWrite mengizinkan GET, POST, PUT, dan DELETE.
Baca alat
daftar skenario
Deskripsi
list_scenariosAlat ini mengambil daftar semua skenario pengujian yang tersedia dengan metadata dasar.
Titik akhir
GET /scenarios
Parameter
Tidak ada
Respons
| Nama | Deskripsi |
|---|---|
|
|
Pengidentifikasi unik untuk skenario pengujian |
|
|
Nama skenario pengujian |
|
|
Status skenario pengujian saat ini |
|
|
Saat pengujian dibuat atau terakhir dijalankan |
|
|
Deskripsi skenario pengujian |
dapatkan_detail_skenario
Deskripsi
get_scenario_detailsAlat ini mengambil konfigurasi pengujian dan uji coba terbaru untuk skenario pengujian tunggal.
Respons melaporkan mode bentuk lalu lintas skenario. Sebuah nativeRunMode objek menunjukkan mode Asli, dan ketidakhadirannya menunjukkan mode Standar. Untuk skenario Asliconcurrency, holdFor bidangrampUp,, dan tidak mencerminkan beban yang dihasilkan proses. Beban berasal dari skrip sebagai gantinya. Untuk informasi selengkapnya, lihat Mode bentuk lalu lintas.
Titik akhir
GET /scenarios/<test_id>?history=false&results=false
Parameter permintaan
-
test_id -
-
Pengidentifikasi unik untuk skenario pengujian
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Konfigurasi tugas untuk setiap Wilayah |
|
|
Definisi dan parameter uji |
|
|
Status tes saat ini |
|
|
Uji stempel waktu mulai |
|
|
Stempel waktu akhir uji (jika selesai) |
daftar_test_run
Deskripsi
list_test_runsAlat ini mengambil daftar uji coba untuk skenario pengujian tertentu, diurutkan terbaru hingga terlama. Mengembalikan maksimal 30 hasil. Hanya satu dari limit atau start_timestamp dapat disediakan, bukan keduanya.
Titik akhir
GET /scenarios/<testid>/testruns/?limit=<limit>
atau
GET /scenarios/<testid>/testruns/?start_timestamp=<start_timestamp>
Permintaan parameter
-
test_id -
-
Pengidentifikasi unik untuk skenario pengujian
Tipe: String
Diperlukan: Ya
-
-
limit -
-
Jumlah maksimum uji coba yang akan dikembalikan. Tidak dapat digunakan dengan
start_timestamp.Jenis: Integer
Default: 20
Maksimum: 30
Wajib: Tidak
-
-
start_timestamp -
-
Kembalikan semua uji coba kembali ke stempel waktu ini. Tidak dapat digunakan dengan
limit.Jenis: String (format tanggal-waktu ISO 8601, misalnya)
2024-01-15T14:30:00.000ZWajib: Tidak
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Array ringkasan uji coba dengan metrik kinerja dan persentil untuk setiap proses |
dapat_test_jalankan
Deskripsi
get_test_runAlat ini mengambil hasil terperinci untuk uji coba tunggal dengan rincian regional dan titik akhir.
Titik akhir
GET /scenarios/<testid>/testruns/<testrunid>
Permintaan parameter
-
test_id -
-
Pengidentifikasi unik untuk skenario pengujian
Tipe: String
Diperlukan: Ya
-
-
test_run_id -
-
Pengidentifikasi unik untuk uji coba tertentu
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Data uji coba lengkap termasuk rincian hasil regional, metrik spesifik titik akhir, persentil kinerja (p50, p90, p95, p99), jumlah keberhasilan dan kegagalan, waktu respons dan latensi, dan konfigurasi pengujian yang digunakan untuk menjalankan |
dapat_test_terbaru_jalankan
Deskripsi
get_latest_test_runAlat ini mengambil uji coba terbaru untuk skenario pengujian tertentu.
Titik akhir
GET /scenarios/<testid>/testruns/?limit=1
catatan
Hasil diurutkan berdasarkan waktu menggunakan Global Secondary Index (GSI), sehingga uji coba terbaru dikembalikan.
Parameter permintaan
-
test_id -
-
Pengidentifikasi unik untuk skenario pengujian
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Data uji coba terbaru dengan format yang sama seperti |
dapatkan_daseline_test_jalankan
Deskripsi
get_baseline_test_runAlat ini mengambil uji coba dasar untuk skenario pengujian tertentu. Baseline digunakan untuk tujuan perbandingan kinerja.
Titik akhir
GET /scenarios/<test_id>/baseline
Parameter permintaan
-
test_id -
-
Pengidentifikasi unik untuk skenario pengujian
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Data uji coba dasar untuk tujuan perbandingan, termasuk semua metrik dan konfigurasi dari pengoperasian baseline yang ditunjuk |
dapatkan_test_run_artefak
Deskripsi
get_test_run_artifactsAlat ini mengambil informasi bucket Amazon S3 untuk mengakses artefak pengujian termasuk log, file kesalahan, dan hasil.
Titik akhir
GET /scenarios/<testid>/testruns/<testrunid>
Permintaan parameter
-
test_id -
-
Pengidentifikasi unik untuk skenario pengujian
Tipe: String
Diperlukan: Ya
-
-
test_run_id -
-
Pengidentifikasi unik untuk uji coba tertentu
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Nama bucket S3 tempat artefak disimpan |
|
|
Awalan jalur untuk penyimpanan artefak saat ini (versi 4.0+) |
|
|
Awalan jalur untuk penyimpanan artefak lama (pra-versi 4.0) |
Alat tulis
Alat tulis hanya tersedia bila dis MCPServerAccessMode etel keReadWrite. Mereka memungkinkan agen untuk membuat, memodifikasi, dan menjalankan skenario pengujian.
buat_uji
Deskripsi
create_testAlat ini membuat skenario uji beban baru tanpa mengeksekusinya. Tes disimpan dan dapat dijalankan nanti denganstart_run. Untuk pengujian berbasis skrip (jmeter, k6, locust), panggil terlebih dahulu dan lewati yang dikembalikanupload_test_script. test_id
Parameter
-
test_id -
-
Pengidentifikasi unik skenario pengujian. Hilangkan untuk tes HTTP sederhana (sistem menghasilkan satu). Diperlukan untuk pengujian berbasis skrip — gunakan yang
test_iddikembalikan oleh.upload_test_scriptTipe: String
Diperlukan: Tidak (diperlukan untuk tes berbasis skrip)
-
-
test_name -
-
Human-readable nama untuk skenario pengujian
Tipe: String
Diperlukan: Ya
-
-
test_description -
-
Deskripsi tentang apa yang divalidasi tes ini
Tipe: String
Diperlukan: Ya
-
-
test_type -
-
Jenis tes.
simpleuntuk pengujian titik akhir HTTP yang dikonfigurasi sebaris.jmeter,k6, ataulocustuntuk pengujian berbasis skrip yang mereferensikan file skrip yang diunggah.Tipe: String
Diperlukan: Ya
-
-
test_task_configs -
-
Konfigurasi tugas regional. Setiap entri menentukan Wilayah, jumlah tugas AWS Fargate, dan pengguna virtual bersamaan per tugas. Total pengguna bersamaan untuk Wilayah =
task_count×concurrency.Jenis: Array objek (masing-masing dengan
region,task_count,concurrency)Wajib: Ya
-
-
test_scenario -
-
Skenario eksekusi uji yang mendefinisikan profil beban dan titik akhir target. Ber
executionisi (ramp-up, hold-for, nama skenario) danscenarios(definisi skenario bernama denganrequestsarray untuk pengujian sederhana atauscriptstring untuk pengujian berbasis skrip).Tipe: Objek
Wajib: Ya
-
-
show_live -
-
Apakah akan mengaktifkan pemantauan langsung selama eksekusi pengujian.
Jenis: Boolean
Default:
falseWajib: Tidak
-
-
tags -
-
Tag untuk mengatur skenario pengujian. Maksimal 5 tag.
Tipe: Array string
Wajib: Tidak
-
-
native_run_mode -
-
Objek yang memilih mode bentuk lalu lintas. Hilangkan untuk mode Standar, di mana solusi mengontrol beban. Sertakan untuk mode Asli, di mana skrip yang Anda unggah mengontrol beban. Untuk informasi selengkapnya, lihat Mode bentuk lalu lintas.
Tipe: Objek
Wajib: Tidak
-
Mode asli berbeda dari mode Standar sebagai berikut:
-
Objek membutuhkan satu bidang
max_test_duration_seconds,, dengan maksimal 24 jam. -
Hanya tes berbasis skrip (
jmeter,k6, ataulocust) yang menerima mode Asli. -
Tes HTTP Endpoint sederhana selalu berjalan dalam mode Standar.
-
test_task_configstetap diperlukan, dan setiap entri masih membutuhkanconcurrency. -
Permintaan yang ditetapkan
concurrencydengan pengemnative_run_modebalian sukses. -
Beban yang dihasilkan tes adalah beban yang dinyatakan skrip Anda.
-
Total beban per Wilayah adalah beban skrip Anda dikalikan dengan
task_count.
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID unik dari tes yang dibuat |
|
|
Nama tes |
|
|
Status tes (misalnya, |
perbaruan_uji
Deskripsi
update_testAlat memperbarui konfigurasi skenario pengujian yang ada. Ini adalah penggantian penuh - seluruh konfigurasi pengujian harus disediakan, bukan hanya bidang yang diubah. Tes tidak boleh berjalan saat ini.
Parameter
Sama seperticreate_test, kecuali test_id diperlukan dan harus mereferensikan tes yang ada.
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID unik dari pengujian yang diperbarui |
|
|
Nama tes |
|
|
Status tes |
delete_test
Deskripsi
delete_testAlat ini secara permanen menghapus skenario pengujian dan semua data terkait termasuk riwayat uji coba, jadwal, dan dasbor Amazon CloudWatch . Tindakan ini tidak dapat dibatalkan. Tes tidak boleh berjalan saat ini.
Parameter
-
test_id -
-
Pengidentifikasi unik skenario pengujian
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Konfirmasi penghapusan |
mulai_jalankan
Deskripsi
start_runAlat memulai eksekusi skenario pengujian. Server MCP mengambil konfigurasi pengujian yang disimpan dan memicu eksekusi. Segera kembali dengan statusqueued. Gunakan get_latest_test_run untuk polling untuk penyelesaian.
Parameter
-
test_id -
-
Pengidentifikasi unik skenario pengujian
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID unik dari tes |
|
|
Status tes (misalnya, |
stop_run
Deskripsi
stop_runAlat menghentikan tes yang sedang berjalan. Mengirim sinyal pembatalan ke semua tugas Fargate yang sedang berjalan. Status pengujian bertransisi kecancelled. Hasil sebagian tersedia melaluiget_latest_test_run.
Parameter
-
test_id -
-
Pengidentifikasi unik skenario pengujian
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Konfirmasi pembatalan |
buat_jadwal_sederhana
Deskripsi
create_simple_scheduleAlat ini membuat pengujian terjadwal satu kali yang berjalan secara otomatis pada tanggal dan waktu tertentu. Memerlukan semua bidang konfigurasi pengujian standar ditambah bidang jadwal.
Parameter
Semua create_test parameter (dengan test_id opsional, aturan yang sama), ditambah:
-
schedule_date -
-
Tanggal untuk dijadwalkan dijalankan. Harus di masa depan.
Jenis: String (format:
YYYY-MM-DD)Wajib: Ya
-
-
schedule_time -
-
Waktu untuk lari yang dijadwalkan.
Jenis: String (format:
HH:MM, 24 jam)Wajib: Ya
-
-
schedule_timezone -
-
Zona waktu IANA untuk interpretasi jadwal (misalnya,
America/New_York,UTC).Tipe: String
Default:
UTCWajib: Tidak
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID unik dari tes |
|
|
Status tes (misalnya, |
|
|
Waktu eksekusi terjadwal berikutnya |
buat_cron_jadwal
Deskripsi
create_cron_scheduleAlat ini membuat pengujian terjadwal berulang yang berjalan secara otomatis sesuai dengan ekspresi cron. Memerlukan semua bidang konfigurasi pengujian standar ditambah bidang jadwal cron.
Parameter
Semua create_test parameter (dengan test_id opsional, aturan yang sama), ditambah:
-
cron_value -
-
Ekspresi Cron untuk jadwal berulang. Format 5-bidang standar (misalnya,
0 9 * * *untuk setiap hari pukul 9:00 pagi).Tipe: String
Diperlukan: Ya
-
-
recurrence -
-
Human-readable label pengulangan (misalnya,
daily,weekly).Tipe: String
Diperlukan: Ya
-
-
cron_expiry_date -
-
Tanggal saat jadwal berulang berhenti dijalankan.
Jenis: String (format:
YYYY-MM-DD)Wajib: Tidak
-
-
schedule_timezone -
-
Zona waktu IANA untuk interpretasi jadwal.
Tipe: String
Default:
UTCWajib: Tidak
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID unik dari tes |
|
|
Status tes (misalnya, |
|
|
Waktu eksekusi terjadwal berikutnya |
perbaru_jadwal_sederhana
Deskripsi
update_simple_scheduleAlat memperbarui konfigurasi jadwal untuk pengujian terjadwal satu kali yang ada. Penggantian penuh konfigurasi pengujian termasuk bidang jadwal. Tes harus dalam scheduled status.
Parameter
Sama seperticreate_simple_schedule, kecuali test_id diperlukan dan harus mereferensikan tes terjadwal yang ada.
Respons
Sama seperticreate_simple_schedule.
update_cron_jadwal
Deskripsi
update_cron_scheduleAlat memperbarui konfigurasi jadwal untuk pengujian terjadwal berulang yang ada. Penggantian penuh konfigurasi pengujian termasuk bidang jadwal cron. Tes harus dalam scheduled status.
Parameter
Sama seperticreate_cron_schedule, kecuali test_id diperlukan dan harus mereferensikan tes terjadwal yang ada.
Respons
Sama seperticreate_cron_schedule.
unggah_test_skrip
Deskripsi
upload_test_scriptAlat mengunggah file skrip (JMeter.jmx, k6, Locust .js.py, atau.zip) yang diperlukan untuk pengujian berbasis skrip. Harus dipanggil sebelum create_test atau update_test untuk tes berbasis skrip. Mengembalikan test_id a dan script_filename untuk digunakan dalam panggilan alat berikutnya.
Parameter
-
test_id -
-
Pengidentifikasi unik skenario pengujian. Hilangkan untuk tes baru (sistem menghasilkan satu). Berikan pengujian yang ada untuk diunggah ke lokasi yang benar.
Tipe: String
Wajib: Tidak
-
-
test_type -
-
Jenis tes:
jmeter,k6, ataulocust.Tipe: String
Diperlukan: Ya
-
-
file_extension -
-
Ekstensi file:
jmxjs,py,, atauzip.Tipe: String
Diperlukan: Ya
-
-
file_content -
-
Base64-encoded konten file.
Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
ID tes (dihasilkan atau disediakan) |
|
|
Nama file dalam S3 (format: |
Panduan alur kerja
Panduan alur kerja adalah resep multi-langkah yang membantu agen merangkai beberapa alat bersama untuk operasi umum. get_workflow_guidesAlat mengembalikan panduan langkah demi langkah terstruktur untuk setiap alur kerja.
get_workflow_guides
Deskripsi
get_workflow_guidesAlat ini mengembalikan resep alur kerja langkah demi langkah untuk operasi DLT multi-alat umum. Mengembalikan panduan terstruktur tentang alat mana yang akan dipanggil, dalam urutan apa, dan bagaimana menafsirkan hasil antar langkah.
Parameter
-
workflow -
-
Alur kerja untuk mengambil panduan. Salah satu dari:
run_and_monitor,baseline_comparison,schedule_test,create_and_run,update_and_run.Tipe: String
Diperlukan: Ya
-
Respons
| Nama | Deskripsi |
|---|---|
|
|
Pengidentifikasi alur kerja |
|
|
Deskripsi singkat tentang tujuan alur kerja |
|
|
Array objek langkah, masing-masing dengan |
Alur kerja yang tersedia
jalankan dan_monitor
Mulai uji coba yang ada dan jajak pendapat sampai selesai.
-
Temukan tes menggunakan
list_scenariosatauget_scenario_details -
Mulai uji coba menggunakan
start_run -
Polling untuk penyelesaian menggunakan
get_latest_test_run(interval yang disarankan: 30 detik; tangani 404 awal selama 1-3 menit saat tugas Amazon Elastic Container Service (Amazon ECS) diluncurkan) -
Laporkan hasil setelah status terminal tercapai (
complete,failed, ataucancelled)
baseline_perbandingan
Jalankan pengujian dan bandingkan hasil dengan baseline yang disimpan.
-
Temukan tes menggunakan
list_scenariosatauget_scenario_details -
Mulai uji coba menggunakan
start_run -
Polling untuk penyelesaian menggunakan
get_latest_test_run(interval yang disarankan: 30 detik) -
Ambil garis dasar menggunakan
get_baseline_test_run(lewati perbandingan jika tidak ada garis dasar yang ditetapkan) -
Bandingkan metrik (waktu respons rata-rata, latensi, throughput, persentil, tingkat kesalahan)
jadwal_test
Buat tes dengan jadwal berulang atau satu kali.
-
Tentukan jenis jadwal (satu kali →
create_simple_schedule, berulang →create_cron_schedule) -
Unggah skrip uji jika menggunakan berbasis skrip
upload_test_script -
Buat pengujian terjadwal dengan konfigurasi penuh ditambah bidang jadwal
-
Verifikasi jadwal dibuat menggunakan
get_scenario_details(cekstatus: scheduleddannextRun)
Kendala: interval minimum 1 jam antara proses berulang, interval harus melebihi durasi pengujian, cron harus menentukan tepat nilai satu menit.
buat_dan_jalankan
Buat tes baru dari awal dan segera jalankan.
-
Unggah skrip uji jika menggunakan berbasis skrip
upload_test_script -
Buat tes menggunakan
create_test -
Mulai uji coba menggunakan
start_rundengan yang dikembalikantest_id -
Polling untuk penyelesaian menggunakan
get_latest_test_run(interval yang disarankan: 30 detik) -
Laporkan hasil
perbaru_dan_jalankan
Ubah konfigurasi pengujian yang ada dan segera jalankan kembali.
-
Ambil konfigurasi saat ini menggunakan
get_scenario_details -
Unggah skrip baru jika mengubah skrip menggunakan
upload_test_script -
Perbarui konfigurasi pengujian menggunakan
update_test(ganti penuh - sertakan semua bidang) -
Mulai uji coba menggunakan
start_run -
Polling untuk penyelesaian menggunakan
get_latest_test_run(interval yang disarankan: 30 detik) -
Laporkan hasil
catatan
Semua alat MCP memanfaatkan titik akhir API yang ada. Tidak diperlukan modifikasi pada API yang mendasarinya untuk mendukung fungsionalitas MCP.