Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Spezifikation der MCP-Tools
Die Distributed Load Testing-Lösung stellt eine Reihe von MCP-Tools zur Verfügung, mit denen KI-Agenten mit Testszenarien und Ergebnissen interagieren können. Diese Tools bieten abstrakte Funktionen auf hoher Ebene, die sich an der Art und Weise orientieren, wie KI-Agenten Informationen verarbeiten, sodass sie sich auf Analysen und Erkenntnisse konzentrieren können, anstatt auf detaillierte API-Verträge.
Der MCP-Server unterstützt zwei Zugriffsmodi, die durch den MCPServerAccessMode CloudFormation AWS-Parameter gesteuert werden:
-
ReadOnly(Standard) — Nur Lesetools sind registriert. Agenten sehen 7 Tools über
tools/list. Es sind keine Mutationsoperationen verfügbar. -
ReadWrite— Sowohl Lese- als auch Schreibwerkzeuge sind registriert. Agenten sehen alle Tools (Lesen und Schreiben) über
tools/listund können Tests erstellen, Läufe auslösen, Zeitpläne verwalten und Skripte hochladen.
Der Zugriffsmodus wird bei der Bereitstellung festgelegt. Um den Zugriffsmodus nach der ersten Bereitstellung zu ändern, führen Sie ein CloudFormation Stack-Update mit dem neuen MCPServerAccessMode Parameterwert durch. Die Änderung wird wirksam, wenn das Stack-Update abgeschlossen ist — es sind keine weiteren manuellen Schritte erforderlich.
Im ReadOnly Modus sind Schreibwerkzeuge überhaupt nicht registriert — Agenten sehen sie nietools/list. Die AWS-Richtlinie für Identity and Access Management (IAM) für die AWS-Lambda-Funktion des MCP-Servers ist entsprechend festgelegt. ReadOnly erlaubt nur GET-Anfragen an die API. ReadWrite erlaubt GET, POST, PUT und DELETE.
Werkzeuge lesen
list_scenarios
Description
Das list_scenarios Tool ruft eine Liste aller verfügbaren Testszenarien mit grundlegenden Metadaten ab.
Endpoint
GET /scenarios
Parameters
Keine
Antwort
| Name | Description |
|---|---|
|
|
Eindeutiger Bezeichner für das Testszenario |
|
|
Name des Testszenarios |
|
|
Aktueller Status des Testszenarios |
|
|
Wann der Test erstellt oder zuletzt ausgeführt wurde |
|
|
Beschreibung des Testszenarios |
get_scenario_details
Description
Das get_scenario_details Tool ruft die Testkonfiguration und den letzten Testlauf für ein einzelnes Testszenario ab.
Die Antwort gibt den Traffic-Shape-Modus des Szenarios an. Ein nativeRunMode Objekt weist auf den systemeigenen Modus hin, und sein Fehlen weist auf den Standardmodus hin. In einem systemeigenen Szenario geben die holdFor Felder concurrencyrampUp, und nicht die Last wieder, die durch den Rechenlauf generiert wurde. Die Last kommt stattdessen aus dem Skript. Weitere Informationen finden Sie unter Traffic-Shape-Modi.
Endpoint
GET /scenarios/<test_id>?history=false&results=false
Parameter anfordern
-
test_id -
-
Die eindeutige Kennung für das Testszenario
Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Aufgabenkonfiguration für jede Region |
|
|
Testspezifikation und Parameter |
|
|
Aktueller Teststatus |
|
|
Zeitstempel für den Teststart |
|
|
Zeitstempel für das Ende des Tests (falls abgeschlossen) |
list_test_runs
Description
Das list_test_runs Tool ruft eine Liste von Testläufen für ein bestimmtes Testszenario ab, sortiert vom neuesten zum ältesten. Gibt maximal 30 Ergebnisse zurück. Es start_timestamp kann nur eines von limit oder angegeben werden, nicht beide.
Endpoint
GET /scenarios/<testid>/testruns/?limit=<limit>
oder
GET /scenarios/<testid>/testruns/?start_timestamp=<start_timestamp>
Anforderungsparameter
-
test_id -
-
Die eindeutige Kennung für das Testszenario
Typ: Zeichenfolge
Erforderlich: Ja
-
-
limit -
-
Maximale Anzahl von Testläufen, die zurückgegeben werden sollen. Kann nicht mit
start_timestampverwendet werden.Typ: Ganzzahl
Standard: 20
Maximum: 30
Erforderlich: Nein
-
-
start_timestamp -
-
Gibt alle Testläufe zurück, die auf diesen Zeitstempel zurückgehen. Kann nicht mit
limitverwendet werden.Typ: Zeichenfolge (z. B. im ISO 8601-Format für Datum und Uhrzeit)
2024-01-15T14:30:00.000ZErforderlich: Nein
-
Antwort
| Name | Description |
|---|---|
|
|
Reihe von Zusammenfassungen von Testläufen mit Leistungskennzahlen und Perzentilen für jeden Lauf |
get_test_run
Description
Das get_test_run Tool ruft detaillierte Ergebnisse für einen einzelnen Testlauf mit Aufschlüsselungen nach Regionen und Endpunkten ab.
Endpoint
GET /scenarios/<testid>/testruns/<testrunid>
Anforderungsparameter
-
test_id -
-
Die eindeutige Kennung für das Testszenario
Typ: Zeichenfolge
Erforderlich: Ja
-
-
test_run_id -
-
Die eindeutige Kennung für den spezifischen Testlauf
Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Vollständige Testlaufdaten, einschließlich Aufschlüsselung der regionalen Ergebnisse, endpunktspezifischer Metriken, Leistungsperzentile (p50, p90, p95, p99), Erfolgs- und Fehlschlagzahlen, Reaktionszeiten und Latenz sowie der für den Lauf verwendeten Testkonfiguration |
get_latest_test_run
Description
Das get_latest_test_run Tool ruft den neuesten Testlauf für ein bestimmtes Testszenario ab.
Endpoint
GET /scenarios/<testid>/testruns/?limit=1
Anmerkung
Die Ergebnisse werden anhand eines Global Secondary Index (GSI) nach Zeit sortiert, sodass der neueste Testlauf zurückgegeben wird.
Parameter anfordern
-
test_id -
-
Die eindeutige Kennung für das Testszenario
Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Aktuelle Testlaufdaten mit demselben Format wie |
get_baseline_test_run
Description
Das get_baseline_test_run Tool ruft den Baseline-Testlauf für ein bestimmtes Testszenario ab. Die Basislinie wird für Leistungsvergleichszwecke verwendet.
Endpoint
GET /scenarios/<test_id>/baseline
Parameter anfordern
-
test_id -
-
Die eindeutige Kennung für das Testszenario
Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Basisdaten des Testlaufs zu Vergleichszwecken, einschließlich aller Metriken und Konfigurationen aus dem festgelegten Basislauf |
get_test_run_artifacts
Description
Das get_test_run_artifacts Tool ruft Amazon S3-Bucket-Informationen für den Zugriff auf Testartefakte ab, einschließlich Protokollen, Fehlerdateien und Ergebnissen.
Endpoint
GET /scenarios/<testid>/testruns/<testrunid>
Anforderungsparameter
-
test_id -
-
Die eindeutige Kennung für das Testszenario
Typ: Zeichenfolge
Erforderlich: Ja
-
-
test_run_id -
-
Die eindeutige Kennung für den spezifischen Testlauf
Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Name des S3-Buckets, in dem Artefakte gespeichert werden |
|
|
Pfadpräfix für den aktuellen Artefaktspeicher (Version 4.0+) |
|
|
Pfadpräfix für älteren Artefaktspeicher (vor Version 4.0) |
Tools schreiben
Schreibwerkzeuge sind nur verfügbar, wenn auf gesetzt MCPServerAccessMode istReadWrite. Sie ermöglichen es Agenten, Testszenarien zu erstellen, zu ändern und auszuführen.
create_test
Description
Das create_test Tool erstellt ein neues Lasttestszenario, ohne es auszuführen. Der Test wird gespeichert und kann später mit ausgeführt werdenstart_run. Bei skriptbasierten Tests (jmeter, k6, locust) rufen Sie upload_test_script zuerst auf und übergeben den zurückgegebenen Wert. test_id
Parameters
-
test_id -
-
Die eindeutige Kennung des Testszenarios. Bei einfachen HTTP-Tests weglassen (das System generiert einen). Erforderlich für skriptbasierte Tests — verwenden Sie den
test_idRückgabewert von.upload_test_scriptTyp: Zeichenfolge
Erforderlich: Nein (für skriptbasierte Tests erforderlich)
-
-
test_name -
-
Human-readable Name für das Testszenario
Typ: Zeichenfolge
Erforderlich: Ja
-
-
test_description -
-
Beschreibung dessen, was dieser Test validiert
Typ: Zeichenfolge
Erforderlich: Ja
-
-
test_type -
-
Art des Tests.
simplefür Inline konfigurierte HTTP-Endpunkttests.jmeterk6, oderlocustfür skriptbasierte Tests, die auf eine hochgeladene Skriptdatei verweisen.Typ: Zeichenfolge
Erforderlich: Ja
-
-
test_task_configs -
-
Regionale Aufgabenkonfiguration. Jeder Eintrag gibt eine Region, die Anzahl der AWS Fargate-Aufgaben und gleichzeitige virtuelle Benutzer pro Aufgabe an. Gesamtzahl der gleichzeitigen Benutzer für eine Region = ×.
task_countconcurrencyTyp: Reihe von Objekten (jeweils mit
region,task_count,concurrency)Erforderlich: Ja
-
-
test_scenario -
-
Testausführungsszenario, das das Lastprofil und die Zielendpunkte definiert. Enthält
execution(Ramp-up, Hold-For, Szenarioname) undscenarios(benannte Szenariodefinitionen mit entweder einemrequestsArray für einfache Tests oder einerscriptZeichenfolge für skriptbasierte Tests).Typ: Objekt
Erforderlich: Ja
-
-
show_live -
-
Ob die Live-Überwachung während der Testausführung aktiviert werden soll.
Typ: Boolescher Wert
Standard:
falseErforderlich: Nein
-
-
tags -
-
Tags für die Organisation von Testszenarien. Maximal 5 Schlagworte.
Typ: Zeichenfolgen-Array
Erforderlich: Nein
-
-
native_run_mode -
-
Ein Objekt, das den Traffic-Shape-Modus auswählt. Lassen Sie es für den Standardmodus weg, in dem die Lösung die Last steuert. Fügen Sie es für den systemeigenen Modus ein, in dem Ihr hochgeladenes Skript den Ladevorgang steuert. Weitere Informationen findest du unter Traffic-Shape-Modi.
Typ: Objekt
Erforderlich: Nein
-
Der native Modus unterscheidet sich wie folgt vom Standardmodus:
-
Für das Objekt ist ein Feld mit einer Höchstdauer von 24 Stunden erforderlich.
max_test_duration_seconds -
Nur skriptbasierte Tests (
jmeterk6, oderlocust) akzeptieren den systemeigenen Modus. -
Einfache HTTP-Endpunkttests werden immer im Standardmodus ausgeführt.
-
test_task_configsbleibt erforderlich, und jeder Eintrag ist weiterhin erforderlichconcurrency. -
Eine Anfrage, die
concurrencymit „erfolgreich“ abgeschlossen wird,native_run_modegibt Erfolg zurück. -
Die Last, die der Test generiert, ist die Last, die Ihr Skript deklariert.
-
Die Gesamtlast pro Region ist die Last Ihres Skripts multipliziert mit.
task_count
Antwort
| Name | Description |
|---|---|
|
|
Die eindeutige ID des erstellten Tests |
|
|
Name des Tests |
|
|
Status des Tests (z. B. |
update_test
Description
Das update_test Tool aktualisiert die Konfiguration eines vorhandenen Testszenarios. Dies ist ein vollständiger Ersatz — die gesamte Testkonfiguration muss bereitgestellt werden, nicht nur geänderte Felder. Der Test darf derzeit nicht ausgeführt werden.
Parameters
Entsprichtcreate_test, außer test_id es ist erforderlich und muss auf einen vorhandenen Test verweisen.
Antwort
| Name | Description |
|---|---|
|
|
Die eindeutige ID des aktualisierten Tests |
|
|
Name des Tests |
|
|
Status des Tests |
delete_test
Description
Das delete_test Tool löscht dauerhaft ein Testszenario und alle zugehörigen Daten, einschließlich des Testlaufverlaufs, der Zeitpläne und der Amazon-Dashboards. CloudWatch Diese Aktion kann nicht rückgängig gemacht werden. Der Test darf derzeit nicht ausgeführt werden.
Parameters
-
test_id -
-
Die eindeutige Kennung des Testszenarios
Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Bestätigung der Löschung |
start_run
Description
Das start_run Tool startet die Ausführung eines Testszenarios. Der MCP-Server ruft die gespeicherte Konfiguration des Tests ab und löst die Ausführung aus. Kehrt sofort mit Status zurück. queued Wird verwendetget_latest_test_run, um den Abschluss abzufragen.
Parameters
-
test_id -
-
Die eindeutige Kennung des Testszenarios
Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Die eindeutige ID des Tests |
|
|
Status des Tests (zum Beispiel |
stop_run
Description
Das stop_run Tool stoppt einen aktuell laufenden Test. Sendet ein Abbruchsignal an alle laufenden Fargate-Aufgaben. Der Teststatus wechselt zucancelled. Teilergebnisse sind verfügbar unterget_latest_test_run.
Parameters
-
test_id -
-
Die eindeutige Kennung des Testszenarios
Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Bestätigung der Stornierung |
create_simple_schedule
Description
Das create_simple_schedule Tool erstellt einen einmaligen geplanten Test, der automatisch an einem bestimmten Datum und zu einer bestimmten Uhrzeit ausgeführt wird. Erfordert alle Standardfelder für die Testkonfiguration sowie Zeitplanfelder.
Parameters
Alle create_test Parameter (mit test_id optionalen, gleichen Regeln) plus:
-
schedule_date -
-
Datum für den geplanten Lauf. Muss in der Zukunft sein.
Typ: Zeichenfolge (Format:
YYYY-MM-DD)Erforderlich: Ja
-
-
schedule_time -
-
Uhrzeit für den geplanten Lauf.
Typ: Zeichenfolge (Format:
HH:MM, 24 Stunden)Erforderlich: Ja
-
-
schedule_timezone -
-
IANA-Zeitzone für die Interpretation von Zeitplänen (z. B.
America/New_York,UTC).Typ: Zeichenfolge
Standard:
UTCErforderlich: Nein
-
Antwort
| Name | Description |
|---|---|
|
|
Die eindeutige ID des Tests |
|
|
Status des Tests (zum Beispiel |
|
|
Nächste geplante Ausführungszeit |
create_cron_schedule
Description
Das create_cron_schedule Tool erstellt einen wiederkehrenden geplanten Test, der automatisch gemäß einem Cron-Ausdruck ausgeführt wird. Erfordert alle Standardfelder für die Testkonfiguration sowie Cron-Zeitplanfelder.
Parameters
Alle create_test Parameter (mit test_id optionalen, gleichen Regeln) plus:
-
cron_value -
-
Cron-Ausdruck für einen wiederkehrenden Zeitplan. Standardformat mit 5 Feldern (z.
0 9 * * *B. täglich um 9:00 Uhr).Typ: Zeichenfolge
Erforderlich: Ja
-
-
recurrence -
-
Human-readable Bezeichnung für Wiederholungen (z. B.
daily,weekly).Typ: Zeichenfolge
Erforderlich: Ja
-
-
cron_expiry_date -
-
Datum, an dem der wiederkehrende Zeitplan nicht mehr ausgeführt wird.
Typ: Zeichenfolge (Format:
YYYY-MM-DD)Erforderlich: Nein
-
-
schedule_timezone -
-
IANA-Zeitzone für die Interpretation von Zeitplänen.
Typ: Zeichenfolge
Standard:
UTCErforderlich: Nein
-
Antwort
| Name | Description |
|---|---|
|
|
Die eindeutige ID des Tests |
|
|
Status des Tests (zum Beispiel |
|
|
Nächste geplante Ausführungszeit |
update_simple_schedule
Description
Das update_simple_schedule Tool aktualisiert die Zeitplankonfiguration für einen vorhandenen einmaligen geplanten Test. Vollständiger Ersatz der Testkonfiguration einschließlich der Zeitplanfelder. Der Test muss sich im scheduled Status befinden.
Parameters
Entsprichtcreate_simple_schedule, test_id ist jedoch erforderlich und muss auf einen vorhandenen geplanten Test verweisen.
Antwort
Entspricht create_simple_schedule.
update_cron_schedule
Description
Das update_cron_schedule Tool aktualisiert die Zeitplankonfiguration für einen vorhandenen wiederkehrenden geplanten Test. Vollständiger Ersatz der Testkonfiguration einschließlich der Cron-Zeitplanfelder. Der Test muss sich im scheduled Status befinden.
Parameters
Entsprichtcreate_cron_schedule, test_id ist jedoch erforderlich und muss auf einen vorhandenen geplanten Test verweisen.
Antwort
Entspricht create_cron_schedule.
upload_test_script
Description
Das upload_test_script Tool lädt eine Skriptdatei (JMeter.jmx, k6, Locust .py oder) hoch, die für .js skriptbasierte Tests erforderlich ist. .zip Muss vor oder für skriptbasierte Tests aufgerufen werden. create_test update_test Gibt ein test_id und script_filename zur Verwendung bei nachfolgenden Werkzeugaufrufen zurück.
Parameters
-
test_id -
-
Die eindeutige Kennung des Testszenarios. Bei neuen Tests weglassen (das System generiert einen). Sorgen Sie dafür, dass vorhandene Tests an den richtigen Ort hochgeladen werden.
Typ: Zeichenfolge
Erforderlich: Nein
-
-
test_type -
-
Testtyp:
jmeterk6, oderlocust.Typ: Zeichenfolge
Erforderlich: Ja
-
-
file_extension -
-
Dateierweiterung:
jmx,jspy, oderzip.Typ: Zeichenfolge
Erforderlich: Ja
-
-
file_content -
-
Base64-encoded Inhalt der Datei.
Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Die Test-ID (generiert oder bereitgestellt) |
|
|
Dateiname in S3 (Format: |
Anleitungen zum Arbeitsablauf
Workflow-Leitfäden sind mehrstufige Rezepte, die Agenten dabei helfen, mehrere Tools für gemeinsame Operationen miteinander zu verknüpfen. Das get_workflow_guides Tool gibt eine strukturierte schrittweise Anleitung für jeden Arbeitsablauf zurück.
get_workflow_guides
Description
Das get_workflow_guides Tool gibt schrittweise Workflow-Rezepte für gängige DLT-Operationen mit mehreren Tools zurück. Gibt eine strukturierte Anleitung zurück, welche Tools in welcher Reihenfolge aufgerufen werden müssen und wie die Ergebnisse zwischen den einzelnen Schritten zu interpretieren sind.
Parameters
-
workflow -
-
Der Arbeitsablauf, für den Anleitungen abgerufen werden sollen. Einer von:
run_and_monitorbaseline_comparison,schedule_test,create_and_run,update_and_run.Typ: Zeichenfolge
Erforderlich: Ja
-
Antwort
| Name | Description |
|---|---|
|
|
Workflow-ID |
|
|
Kurze Beschreibung des Zwecks des Workflows |
|
|
Reihe von Schrittobjekten, jedes mit |
Verfügbare Arbeitsabläufe
run_and_monitor
Startet einen bestehenden Testlauf und fragt ihn bis zum Abschluss ab.
-
Finden Sie den Test mit
list_scenariosoderget_scenario_details -
Starten Sie den Testlauf mit
start_run -
Umfrage zum Abschluss mithilfe von
get_latest_test_run(empfohlenes Intervall: 30 Sekunden; behandeln Sie die ersten 404-Fehler 1—3 Minuten lang, während die Amazon Elastic Container Service (Amazon ECS) -Aufgaben gestartet werden) -
Ergebnisse melden, sobald ein Terminalstatus erreicht ist (
completefailed, odercancelled)
baseline_comparison
Führen Sie einen Test durch und vergleichen Sie die Ergebnisse mit einem gespeicherten Basiswert.
-
Suchen Sie den Test mit
list_scenariosoderget_scenario_details -
Starten Sie den Testlauf mit
start_run -
Zum Abschluss der Umfrage verwenden Sie
get_latest_test_run(empfohlenes Intervall: 30 Sekunden) -
Rufen Sie den Ausgangswert mithilfe von ab
get_baseline_test_run(überspringen Sie den Vergleich, wenn kein Basiswert festgelegt ist) -
Vergleichen Sie Metriken (durchschnittliche Antwortzeit, Latenz, Durchsatz, Perzentile, Fehlerrate)
schedule_test
Erstellen Sie einen Test mit einem wiederkehrenden oder einmaligen Zeitplan.
-
Legen Sie den Zeitplantyp fest (einmalig →
create_simple_schedule, wiederkehrend →create_cron_schedule) -
Laden Sie das Testskript hoch, falls es skriptbasiert ist
upload_test_script -
Erstellen Sie den geplanten Test mit vollständiger Konfiguration und Zeitplanfeldern
-
Stellen Sie sicher, dass der Zeitplan mit
get_scenario_details(Häkchenstatus: scheduledundnextRun) erstellt wurde
Einschränkungen: Mindestintervall von 1 Stunde zwischen wiederkehrenden Läufen, das Intervall muss die Testdauer überschreiten, Cron muss genau einen Minutenwert angeben.
erstellen_und_ausführen
Erstellen Sie einen neuen Test von Grund auf und führen Sie ihn sofort aus.
-
Laden Sie das Testskript hoch, wenn es skriptbasiert ist
upload_test_script -
Erstellen Sie den Test mit
create_test -
Starten Sie den Testlauf
start_runmit dem zurückgegebenentest_id -
Zum Abschluss der Umfrage verwenden Sie
get_latest_test_run(empfohlenes Intervall: 30 Sekunden) -
Ergebnisse melden
aktualisieren_und_ausführen
Ändern Sie die Konfiguration eines vorhandenen Tests und führen Sie ihn sofort erneut aus.
-
Rufen Sie die aktuelle Konfiguration ab mit
get_scenario_details -
Laden Sie ein neues Skript hoch, wenn Sie das Skript ändern mit
upload_test_script -
Aktualisieren Sie die Testkonfiguration mit
update_test(vollständig ersetzen — alle Felder einbeziehen) -
Starten Sie den Testlauf mit
start_run -
Zum Abschluss der Umfrage verwenden Sie
get_latest_test_run(empfohlenes Intervall: 30 Sekunden) -
Ergebnisse melden
Anmerkung
Alle MCP-Tools nutzen vorhandene API-Endpunkte. Zur Unterstützung der MCP-Funktionalität sind keine Änderungen an den zugrunde liegenden APIs erforderlich.