Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Specifiche degli strumenti MCP
La soluzione Distributed Load Testing espone una serie di strumenti MCP che consentono agli agenti di intelligenza artificiale di interagire con scenari e risultati di test. Questi strumenti forniscono funzionalità astratte di alto livello che si allineano al modo in cui gli agenti di intelligenza artificiale elaborano le informazioni, consentendo loro di concentrarsi su analisi e approfondimenti piuttosto che su contratti API dettagliati.
Il server MCP supporta due modalità di accesso, controllate dal parametro AWS: MCPServerAccessMode CloudFormation
-
ReadOnly(impostazione predefinita): vengono registrati solo gli strumenti di lettura. Gli agenti vedono 7 strumenti tramite
tools/list. Non sono disponibili operazioni di mutazione. -
ReadWrite— Entrambi gli strumenti di lettura e scrittura sono registrati. Gli agenti vedono tutti gli strumenti (lettura + scrittura) tramite
tools/liste possono creare test, attivare esecuzioni, gestire le pianificazioni e caricare script.
La modalità di accesso è impostata al momento della distribuzione. Per modificare la modalità di accesso dopo la distribuzione iniziale, esegui un aggiornamento CloudFormation dello stack con il nuovo MCPServerAccessMode valore del parametro. La modifica ha effetto al termine dell'aggiornamento dello stack: non sono necessari altri passaggi manuali.
In ReadOnly modalità, gli strumenti di scrittura non sono affatto registrati: gli agenti non li vedono mai. tools/list La policy AWS Identity and Access Management (IAM) sulla funzione AWS Lambda del server MCP è definita di conseguenza. ReadOnly consente solo richieste GET all'API. ReadWrite consente GET, POST, PUT e DELETE.
Strumenti di lettura
list_scenarios
Description
Lo list_scenarios strumento recupera un elenco di tutti gli scenari di test disponibili con metadati di base.
Endpoint
GET /scenarios
Parameters
Nessuno
Risposta
| Nome | Description |
|---|---|
|
|
Identificatore univoco per lo scenario di test |
|
|
Nome dello scenario di test |
|
|
Stato attuale dello scenario di test |
|
|
Quando il test è stato creato o eseguito l'ultima volta |
|
|
Descrizione dello scenario di test |
get_scenario_details
Description
Lo get_scenario_details strumento recupera la configurazione del test e l'esecuzione del test più recente per un singolo scenario di test.
La risposta riporta la modalità traffic shape dello scenario. Un nativeRunMode oggetto indica la modalità nativa e la sua assenza indica la modalità Standard. Per uno scenario nativoconcurrency, i holdFor campirampUp, e non riflettono il carico generato dall'esecuzione. Il caricamento proviene invece dallo script. Per ulteriori informazioni, consulta le modalità Traffic shape.
Endpoint
GET /scenarios/<test_id>?history=false&results=false
Parametro di richiesta
-
test_id -
-
L'identificatore univoco per lo scenario di test
Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
Configurazione delle attività per ciascuna regione |
|
|
Definizione e parametri del test |
|
|
Stato attuale del test |
|
|
Timestamp di inizio del test |
|
|
Timestamp di fine del test (se completato) |
list_test_runs
Description
Lo list_test_runs strumento recupera un elenco di esecuzioni di test per uno scenario di test specifico, ordinate dal più recente al più vecchio. Restituisce un massimo di 30 risultati. start_timestampPuò essere fornito solo uno limit o più, non entrambi.
Endpoint
GET /scenarios/<testid>/testruns/?limit=<limit>
or
GET /scenarios/<testid>/testruns/?start_timestamp=<start_timestamp>
Parametri della richiesta
-
test_id -
-
L'identificatore univoco per lo scenario di test
Tipo: stringa
Obbligatorio: sì
-
-
limit -
-
Numero massimo di esecuzioni di test da restituire. Non può essere utilizzato con
start_timestamp.Tipo: numero intero
Impostazione predefinita: 20
Massimo: 30
Obbligatorio: no
-
-
start_timestamp -
-
Restituisce tutte le esecuzioni di test che risalgono a questo timestamp. Non può essere utilizzato con
limit.Tipo: String (ad esempio, formato data-ora ISO 8601)
2024-01-15T14:30:00.000ZObbligatorio: no
-
Risposta
| Nome | Description |
|---|---|
|
|
Serie di riepiloghi delle esecuzioni di test con metriche delle prestazioni e percentili per ogni esecuzione |
get_test_run
Description
Lo get_test_run strumento recupera risultati dettagliati per una singola esecuzione di test con suddivisioni regionali ed endpoint.
Endpoint
GET /scenarios/<testid>/testruns/<testrunid>
Parametri della richiesta
-
test_id -
-
L'identificatore univoco per lo scenario di test
Tipo: stringa
Obbligatorio: sì
-
-
test_run_id -
-
L'identificatore univoco per l'esecuzione specifica del test
Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
Dati completi sull'esecuzione del test, tra cui suddivisione dei risultati regionali, metriche specifiche per gli endpoint, percentili di prestazioni (p50, p90, p95, p99), conteggi di successi e fallimenti, tempi di risposta e latenza e configurazione del test utilizzata per l'esecuzione |
get_latest_test_run
Description
Lo get_latest_test_run strumento recupera l'esecuzione del test più recente per uno scenario di test specifico.
Endpoint
GET /scenarios/<testid>/testruns/?limit=1
Nota
I risultati vengono ordinati in base al tempo utilizzando un Global Secondary Index (GSI), in modo da restituire l'esecuzione del test più recente.
Parametro di richiesta
-
test_id -
-
L'identificatore univoco per lo scenario di test
Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
Dati di esecuzione del test più recenti con lo stesso formato di |
get_baseline_test_run
Description
get_baseline_test_runLo strumento recupera l'esecuzione del test di base per uno scenario di test specifico. La baseline viene utilizzata per scopi di confronto delle prestazioni.
Endpoint
GET /scenarios/<test_id>/baseline
Parametro di richiesta
-
test_id -
-
L'identificatore univoco per lo scenario di test
Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
Dati di base relativi all'esecuzione del test a scopo di confronto, incluse tutte le metriche e la configurazione dell'esecuzione di base designata |
get_test_run_artifacts
Description
Lo get_test_run_artifacts strumento recupera le informazioni del bucket Amazon S3 per accedere agli artefatti dei test, inclusi log, file di errore e risultati.
Endpoint
GET /scenarios/<testid>/testruns/<testrunid>
Parametri della richiesta
-
test_id -
-
L'identificatore univoco per lo scenario di test
Tipo: stringa
Obbligatorio: sì
-
-
test_run_id -
-
L'identificatore univoco per l'esecuzione specifica del test
Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
Nome del bucket S3 in cui sono archiviati gli artefatti |
|
|
Prefisso di percorso per l'attuale archiviazione degli artefatti (versione 4.0+) |
|
|
Prefisso di percorso per l'archiviazione degli artefatti precedenti (versione precedente alla 4.0) |
Strumenti di scrittura
Gli strumenti di scrittura sono disponibili solo se MCPServerAccessMode è impostato suReadWrite. Consentono agli agenti di creare, modificare ed eseguire scenari di test.
create_test
Description
Lo create_test strumento crea un nuovo scenario di test di carico senza eseguirlo. Il test viene salvato e può essere eseguito in un secondo momento constart_run. Per i test basati su script (jmeter, k6, locust), chiama upload_test_script prima e supera il risultato. test_id
Parameters
-
test_id -
-
L'identificatore univoco dello scenario di test. Ometti per semplici test HTTP (il sistema ne genera uno). Obbligatorio per i test basati su script: utilizza il valore
test_idrestituito da.upload_test_scriptTipo: stringa
Obbligatorio: No (obbligatorio per i test basati su script)
-
-
test_name -
-
Human-readable nome per lo scenario di test
Tipo: stringa
Obbligatorio: sì
-
-
test_description -
-
Descrizione di ciò che questo test convalida
Tipo: stringa
Obbligatorio: sì
-
-
test_type -
-
Tipo di test.
simpleper i test degli endpoint HTTP configurati in linea.jmeterk6, olocustper test basati su script che fanno riferimento a un file di script caricato.Tipo: stringa
Obbligatorio: sì
-
-
test_task_configs -
-
Configurazione regionale delle attività. Ogni voce specifica una regione, il numero di attività AWS Fargate e utenti virtuali simultanei per attività. Numero totale di utenti simultanei per una regione = ×.
task_countconcurrencyTipo: Matrice di oggetti (ciascuno con
region,task_count,concurrency)Obbligatorio: sì
-
-
test_scenario -
-
Scenario di esecuzione del test che definisce il profilo di carico e gli endpoint di destinazione. Contiene
execution(ramp-up, hold-for, nome dello scenario) escenarios(definizioni di scenario denominate con unrequestsarray per test semplici o unascriptstringa per test basati su script).Tipo: oggetto
Obbligatorio: sì
-
-
show_live -
-
Se abilitare il monitoraggio in tempo reale durante l'esecuzione del test.
Tipo: Booleano
Impostazione predefinita:
falseObbligatorio: no
-
-
tags -
-
Tag per l'organizzazione degli scenari di test. Massimo 5 tag.
Tipo: array di stringhe
Obbligatorio: no
-
-
native_run_mode -
-
Un oggetto che seleziona la modalità Traffic Shape. Omettilo per la modalità Standard, in cui la soluzione controlla il carico. Includilo per la modalità nativa, in cui lo script caricato controlla il caricamento. Per ulteriori informazioni, consulta le modalità Traffic shape.
Tipo: oggetto
Obbligatorio: no
-
La modalità nativa è diversa dalla modalità Standard come segue:
-
L'oggetto richiede un campo
max_test_duration_seconds, con un massimo di 24 ore. -
Solo i test basati su script (
jmeterk6, olocust) accettano la modalità nativa. -
I test HTTP Endpoint semplici vengono sempre eseguiti in modalità Standard.
-
test_task_configsrimane obbligatorio e ogni voce lo richiedeconcurrencyancora. -
Una richiesta che viene
concurrencyimpostatanative_run_modecon esito positivo. -
Il carico generato dal test è il carico dichiarato dallo script.
-
Il carico totale per regione è il carico dello script moltiplicato per.
task_count
Risposta
| Nome | Description |
|---|---|
|
|
L'ID univoco del test creato |
|
|
Nome del test |
|
|
Stato del test (ad esempio, |
update_test
Description
Lo update_test strumento aggiorna la configurazione di uno scenario di test esistente. Si tratta di una sostituzione completa: è necessario fornire l'intera configurazione del test, non solo i campi modificati. Il test non deve essere attualmente in esecuzione.
Parameters
Ugualecreate_test, tranne che test_id è obbligatorio e deve fare riferimento a un test esistente.
Risposta
| Nome | Description |
|---|---|
|
|
L'ID univoco del test aggiornato |
|
|
Nome del test |
|
|
Stato del test |
delete_test
Description
Lo delete_test strumento elimina definitivamente uno scenario di test e tutti i dati associati, tra cui cronologia delle esecuzioni dei test, pianificazioni e dashboard Amazon. CloudWatch Questa operazione non può essere annullata. Il test non deve essere attualmente in esecuzione.
Parameters
-
test_id -
-
L'identificatore univoco dello scenario di test
Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
Conferma della cancellazione |
start_run
Description
Lo start_run strumento avvia l'esecuzione di uno scenario di test. Il server MCP recupera la configurazione memorizzata del test e ne attiva l'esecuzione. Ritorna immediatamente con lo stato. queued get_latest_test_runDa utilizzare per eseguire il sondaggio per il completamento.
Parameters
-
test_id -
-
L'identificatore univoco dello scenario di test
Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
L'ID univoco del test |
|
|
Stato del test (ad esempio, |
stop_run
Description
Lo stop_run strumento interrompe un test attualmente in esecuzione. Invia un segnale di annullamento a tutte le attività di Fargate in esecuzione. Lo stato del test passa a. cancelled I risultati parziali sono disponibili tramiteget_latest_test_run.
Parameters
-
test_id -
-
L'identificatore univoco dello scenario di test
Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
Conferma della cancellazione |
create_simple_schedule
Description
Lo create_simple_schedule strumento crea un test pianificato una tantum che viene eseguito automaticamente alla data e all'ora specificate. Richiede tutti i campi di configurazione del test standard più i campi di pianificazione.
Parameters
Tutti create_test i parametri (con regole test_id opzionali), più:
-
schedule_date -
-
Data della corsa pianificata. Deve essere nel futuro.
Tipo: String (formato:
YYYY-MM-DD)Obbligatorio: sì
-
-
schedule_time -
-
Ora della corsa pianificata.
Tipo: stringa (formato:
HH:MM, 24 ore)Obbligatorio: sì
-
-
schedule_timezone -
-
Fuso orario IANA per l'interpretazione della pianificazione (ad esempio
America/New_York,UTC).Tipo: stringa
Impostazione predefinita:
UTCObbligatorio: no
-
Risposta
| Nome | Description |
|---|---|
|
|
L'ID univoco del test |
|
|
Stato del test (ad esempio, |
|
|
Prossima ora di esecuzione pianificata |
create_cron_schedule
Description
Lo create_cron_schedule strumento crea un test programmato ricorrente che viene eseguito automaticamente in base a un'espressione cron. Richiede tutti i campi di configurazione del test standard più i campi di pianificazione cron.
Parameters
Tutti i create_test parametri (con le stesse regole test_id opzionali), più:
-
cron_value -
-
Espressione Cron per la pianificazione ricorrente. Formato standard a 5 campi (ad esempio,
0 9 * * *per tutti i giorni alle 9:00).Tipo: stringa
Obbligatorio: sì
-
-
recurrence -
-
Human-readable etichetta di ricorrenza (ad esempio,).
dailyweeklyTipo: stringa
Obbligatorio: sì
-
-
cron_expiry_date -
-
Data in cui la pianificazione ricorrente interrompe l'esecuzione.
Tipo: String (formato:)
YYYY-MM-DDObbligatorio: no
-
-
schedule_timezone -
-
Fuso orario IANA per l'interpretazione degli orari.
Tipo: stringa
Impostazione predefinita:
UTCObbligatorio: no
-
Risposta
| Nome | Description |
|---|---|
|
|
L'ID univoco del test |
|
|
Stato del test (ad esempio, |
|
|
Prossima ora di esecuzione pianificata |
update_simple_schedule
Description
Lo update_simple_schedule strumento aggiorna la configurazione della pianificazione per un test pianificato una tantum esistente. Sostituzione completa della configurazione del test, inclusi i campi di pianificazione. Il test deve essere in scheduled stato.
Parameters
Ugualecreate_simple_schedule, tranne che test_id è obbligatorio e deve fare riferimento a un test programmato esistente.
Risposta
Come create_simple_schedule.
update_cron_schedule
Description
Lo update_cron_schedule strumento aggiorna la configurazione della pianificazione per un test programmato ricorrente esistente. Sostituzione completa della configurazione del test, inclusi i campi di pianificazione cron. Il test deve essere in scheduled stato.
Parameters
Ugualecreate_cron_schedule, tranne che test_id è obbligatorio e deve fare riferimento a un test programmato esistente.
Risposta
Come create_cron_schedule.
upload_test_script
Description
Lo upload_test_script strumento carica un file di script (JMeter.jmx, k6.js, .py Locust o) necessario per i test basati su script. .zip Deve essere chiamato prima create_test o per i test basati su script. update_test Restituisce un valore test_id e script_filename da utilizzare nelle successive chiamate allo strumento.
Parameters
-
test_id -
-
L'identificatore univoco dello scenario di test. Ometti per i nuovi test (il sistema ne genera uno). Fornisci il caricamento dei test esistenti nella posizione corretta.
▬Tipo: stringa
Obbligatorio: no
-
-
test_type -
-
Tipo di test:
jmeter,k6, olocust.Tipo: stringa
Obbligatorio: sì
-
-
file_extension -
-
Estensione del file:
jmxjs,py,, ozip.Tipo: stringa
Obbligatorio: sì
-
-
file_content -
-
Base64-encoded contenuto del file.
Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
L'ID del test (generato o fornito) |
|
|
Nome del file in S3 (formato:). |
Guide al workflow
Le guide al flusso di lavoro sono ricette in più fasi che aiutano gli agenti a collegare più strumenti per operazioni comuni. Lo get_workflow_guides strumento fornisce una guida dettagliata strutturata per ogni flusso di lavoro.
get_workflow_guides
Description
Lo get_workflow_guides strumento restituisce ricette dettagliate del flusso di lavoro per le comuni operazioni DLT con più strumenti. Restituisce una guida strutturata su quali strumenti chiamare, in quale ordine e su come interpretare i risultati tra una fase e l'altra.
Parameters
-
workflow -
-
Il flusso di lavoro per il quale recuperare le indicazioni. Uno dei:
run_and_monitor,,baseline_comparison,schedule_testcreate_and_run,update_and_run.Tipo: stringa
Obbligatorio: sì
-
Risposta
| Nome | Description |
|---|---|
|
|
Identificatore del flusso di lavoro |
|
|
Breve descrizione dello scopo del flusso di lavoro |
|
|
Matrice di oggetti di fase, ciascuno con |
Flussi di lavoro disponibili
run_and_monitor
Avvia un test ed esegui il polling fino al completamento.
-
Trova il test usando
list_scenariosoget_scenario_details -
Inizia l'esecuzione del test utilizzando
start_run -
Verifica il completamento utilizzando
get_latest_test_run(intervallo consigliato: 30 secondi; gestisci il 404 iniziale per 1-3 minuti durante l'avvio delle attività di Amazon Elastic Container Service (Amazon ECS)) -
Riporta i risultati una volta raggiunto lo stato del terminale (
complete,, o)failedcancelled
baseline_comparison
Esegui un test e confronta i risultati con una baseline memorizzata.
-
Trova il test utilizzando
list_scenariosoget_scenario_details -
Inizia l'esecuzione del test utilizzando
start_run -
Sondaggio per il completamento utilizzando
get_latest_test_run(intervallo consigliato: 30 secondi) -
Recupera la linea di base utilizzando
get_baseline_test_run(salta il confronto se non è impostata alcuna linea di base) -
Confronta le metriche (tempo di risposta medio, latenza, velocità effettiva, percentili, tasso di errore)
schedule_test
Crea un test con una pianificazione ricorrente o una tantum.
-
Determina il tipo di pianificazione (una tantum →, ricorrente →
create_simple_schedule)create_cron_schedule -
Carica lo script di test se basato su script utilizzando
upload_test_script -
Crea il test pianificato con la configurazione completa e i campi di pianificazione
-
Verifica che la pianificazione sia stata creata utilizzando
get_scenario_details(checkstatus: scheduledandnextRun)
Vincoli: intervallo minimo di 1 ora tra le esecuzioni ricorrenti, l'intervallo deve superare la durata del test, cron deve specificare esattamente un valore di un minuto.
create_and_run
Crea un nuovo test da zero ed eseguilo immediatamente.
-
Carica lo script di test se basato su script utilizzando
upload_test_script -
Crea il test usando
create_test -
Inizia l'esecuzione del test utilizzando
start_runwith the returntest_id -
Sondaggio per il completamento utilizzando
get_latest_test_run(intervallo consigliato: 30 secondi) -
Segnala i risultati
update_and_run
Modifica la configurazione di un test esistente e rieseguilo immediatamente.
-
Recupera la configurazione corrente utilizzando
get_scenario_details -
Carica un nuovo script se lo modifichi utilizzando
upload_test_script -
Aggiorna la configurazione del test utilizzando
update_test(sostituzione completa: include tutti i campi) -
Avviare l'esecuzione del test utilizzando
start_run -
Sondaggio per il completamento utilizzando
get_latest_test_run(intervallo consigliato: 30 secondi) -
Segnala i risultati
Nota
Tutti gli strumenti MCP sfruttano gli endpoint API esistenti. Non sono necessarie modifiche alle API sottostanti per supportare la funzionalità MCP.