View a markdown version of this page

Especificación de las herramientas MCP - Pruebas de carga distribuidas en AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Especificación de las herramientas MCP

La solución Distributed Load Testing presenta un conjunto de herramientas de MCP que permiten a los agentes de IA interactuar con los escenarios y los resultados de las pruebas. Estas herramientas proporcionan capacidades abstractas de alto nivel que se alinean con la forma en que los agentes de IA procesan la información, lo que les permite centrarse en el análisis y la información en lugar de en contratos de API detallados.

El servidor MCP admite dos modos de acceso, controlados por el parámetro de MCPServerAccessMode AWS CloudFormation :

  • ReadOnly(predeterminado): solo se registran las herramientas de lectura. Los agentes ven 7 herramientas a través detools/list. No hay operaciones de mutación disponibles.

  • ReadWrite— Tanto las herramientas de lectura como las de escritura están registradas. Los agentes ven todas las herramientas (lectura tools/list y escritura) y pueden crear pruebas, activar ejecuciones, gestionar programaciones y cargar scripts.

El modo de acceso se establece en el momento de la implementación. Para cambiar el modo de acceso después de la implementación inicial, actualice la CloudFormation pila con el nuevo valor del MCPServerAccessMode parámetro. El cambio surtirá efecto cuando finalice la actualización de la pila; no se requieren otros pasos manuales.

En el ReadOnly modo, las herramientas de escritura no están registradas en absoluto, por lo que los agentes no las ven nuncatools/list. La política de administración de identidades y accesos (IAM) de AWS sobre la función AWS Lambda del servidor MCP tiene el alcance correspondiente. ReadOnly solo permite las solicitudes GET a la API. ReadWrite permite GET, POST, PUT y DELETE.

Herramientas de lectura

list_scenarios

Description (Descripción)

La list_scenarios herramienta recupera una lista de todos los escenarios de prueba disponibles con metadatos básicos.

Punto de conexión

GET /scenarios

Parameters

Ninguno

Respuesta

Name Description (Descripción)

testId

Identificador único para el escenario de prueba

testName

Nombre del escenario de prueba

status

Estado actual del escenario de prueba

startTime

Cuándo se creó la prueba o se ejecutó por última vez

testDescription

Descripción del escenario de prueba

get_scenario_details

Description (Descripción)

La get_scenario_details herramienta recupera la configuración de prueba y la ejecución de prueba más reciente para un único escenario de prueba.

La respuesta informa sobre el modo de configuración del tráfico del escenario. Un nativeRunMode objeto indica el modo nativo y su ausencia indica el modo estándar. En un escenario nativo concurrencyrampUp, los holdFor campos y y no reflejan la carga que generó la ejecución. En su lugar, la carga proviene del script. Para obtener más información, consulte Modos de configuración del tráfico.

Punto de conexión

GET /scenarios/<test_id>?history=false&results=false

Parámetro de solicitud

test_id
  • El identificador único para el escenario de prueba

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

testTaskConfigs

Configuración de tareas para cada región

testScenario

Definición y parámetros de la prueba

status

Estado actual de la prueba

startTime

Marca de tiempo de inicio de la prueba

endTime

Marca de tiempo de finalización de la prueba (si se ha completado)

list_test_runs

Description (Descripción)

La list_test_runs herramienta recupera una lista de las ejecuciones de prueba para un escenario de prueba específico, ordenadas de la más reciente a la más antigua. Devuelve un máximo de 30 resultados. Solo se start_timestamp puede proporcionar uno de limit o, no ambos.

Punto de conexión

GET /scenarios/<testid>/testruns/?limit=<limit>

o

GET /scenarios/<testid>/testruns/?start_timestamp=<start_timestamp>

Parámetros de solicitud

test_id
  • El identificador único para el escenario de prueba

    Tipo: cadena

    Obligatorio: sí

limit
  • Número máximo de ejecuciones de prueba que se devolverán. No se puede usar con start_timestamp.

    Tipo: entero

    Predeterminado: 20

    Máximo: 30

    Obligatorio: no

start_timestamp
  • Devuelve todas las ejecuciones de prueba que se remontan a esta marca de tiempo. No se puede usar con limit.

    Tipo: cadena (formato de fecha y hora ISO 8601, por ejemplo) 2024-01-15T14:30:00.000Z

    Obligatorio: no

Respuesta

Name Description (Descripción)

testRuns

Conjunto de resúmenes de las pruebas con métricas de rendimiento y percentiles para cada ejecución

get_test_run

Description (Descripción)

La get_test_run herramienta recupera los resultados detallados de una sola ejecución de prueba con desgloses regionales y de punto final.

Punto de conexión

GET /scenarios/<testid>/testruns/<testrunid>

Parámetros de solicitud

test_id
  • El identificador único para el escenario de prueba

    Tipo: cadena

    Obligatorio: sí

test_run_id
  • El identificador único para la ejecución de prueba específica

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

results

Datos completos de la ejecución de la prueba, incluidos el desglose de los resultados regionales, las métricas específicas de cada punto final, los percentiles de rendimiento (p50, p90, p95, p99), los recuentos de éxitos y errores, los tiempos de respuesta y la latencia, y la configuración de la prueba utilizada para la ejecución

get_latest_test_run

Description (Descripción)

La get_latest_test_run herramienta recupera la ejecución de prueba más reciente para un escenario de prueba específico.

Punto de conexión

GET /scenarios/<testid>/testruns/?limit=1

nota

Los resultados se ordenan por tiempo mediante un índice secundario global (GSI), de modo que se obtiene la prueba más reciente.

Parámetro de solicitud

test_id
  • El identificador único para el escenario de prueba

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

results

Los datos más recientes de la ejecución de la prueba con el mismo formato que get_test_run

get_baseline_test_run

Description (Descripción)

La get_baseline_test_run herramienta recupera la ejecución de la prueba de referencia para un escenario de prueba específico. La línea base se utiliza para comparar el rendimiento.

Punto de conexión

GET /scenarios/<test_id>/baseline

Parámetro de solicitud

test_id
  • El identificador único para el escenario de prueba

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

baselineData

Los datos de referencia de la ejecución de la prueba con fines comparativos, incluidas todas las métricas y la configuración de la ejecución de referencia designada

get_test_run_artifacts

Description (Descripción)

La get_test_run_artifacts herramienta recupera la información del bucket de Amazon S3 para acceder a los artefactos de prueba, incluidos los registros, los archivos de errores y los resultados.

Punto de conexión

GET /scenarios/<testid>/testruns/<testrunid>

Parámetros de solicitud

test_id
  • El identificador único para el escenario de prueba

    Tipo: cadena

    Obligatorio: sí

test_run_id
  • El identificador único para la ejecución de prueba específica

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

bucketName

Nombre del bucket de S3 donde se almacenan los artefactos

testRunPath

Prefijo de ruta para el almacenamiento actual de artefactos (versión 4.0+)

testScenarioPath

Prefijo de ruta para el almacenamiento de artefactos antiguos (versión anterior a la 4.0)

Herramientas de escritura

Las herramientas de escritura solo están disponibles cuando MCPServerAccessMode está configurada enReadWrite. Permiten a los agentes crear, modificar y ejecutar escenarios de prueba.

create_test

Description (Descripción)

La create_test herramienta crea un nuevo escenario de prueba de carga sin ejecutarlo. La prueba se guarda y se puede ejecutar más adelante constart_run. Para las pruebas basadas en scripts (jmeter, k6, locust), llame upload_test_script primero y apruebe el resultado. test_id

Parameters

test_id
  • El identificador único del escenario de prueba. Omita para las pruebas HTTP simples (el sistema genera una). Obligatorio para las pruebas basadas en scripts: utilice el test_id valor devuelto por. upload_test_script

    Tipo: cadena

    Obligatorio: No (obligatorio para las pruebas basadas en guiones)

test_name
  • Human-readable nombre del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

test_description
  • Descripción de lo que valida esta prueba

    Tipo: cadena

    Obligatorio: sí

test_type
  • Tipo de prueba. simplepara las pruebas de punto final HTTP configuradas en línea. jmeterk6, o locust para pruebas basadas en scripts que hagan referencia a un archivo de script cargado.

    Tipo: cadena

    Obligatorio: sí

test_task_configs
  • Configuración de tareas regionales. Cada entrada especifica una región, el número de tareas de AWS Fargate y los usuarios virtuales simultáneos por tarea. Total de usuarios simultáneos para una región = ×. task_count concurrency

    Tipo: Matriz de objetos (cada uno conregion,task_count,concurrency)

    Obligatorio: sí

test_scenario
  • Escenario de ejecución de la prueba que define el perfil de carga y los puntos finales de destino. Contiene execution (aumento, espera, nombre del escenario) y scenarios (definiciones de escenarios con nombre, con una requests matriz para las pruebas simples o una script cadena para las pruebas basadas en scripts).

    Tipo: objeto

    Obligatorio: sí

show_live
  • Si se debe habilitar la supervisión en vivo durante la ejecución de la prueba.

    Tipo: Booleano

    Valor predeterminado: false

    Obligatorio: no

tags
  • Etiquetas para organizar los escenarios de prueba. Máximo 5 etiquetas.

    Tipo: matriz de cadenas

    Obligatorio: no

native_run_mode
  • Objeto que selecciona el modo de configuración del tráfico. Omítelo para el modo Estándar, en el que la solución controla la carga. Inclúyelo para el modo nativo, en el que el script cargado controla la carga. Para obtener más información, consulta los modos de configuración del tráfico.

    Tipo: objeto

    Obligatorio: no

El modo nativo difiere del modo estándar de la siguiente manera:

  • El objeto requiere un campomax_test_duration_seconds, con un máximo de 24 horas.

  • Solo las pruebas basadas en scripts (jmeter,k6, olocust) aceptan el modo nativo.

  • Las pruebas simples de HTTP Endpoint siempre se ejecutan en modo estándar.

  • test_task_configssigue siendo obligatoria y cada entrada sigue siendo necesariaconcurrency.

  • Una solicitud que se establece concurrency con native_run_mode devuelve el éxito.

  • La carga que genera la prueba es la carga que declara el script.

  • La carga total por región es la carga de su script multiplicada portask_count.

Respuesta

Name Description (Descripción)

testId

El ID único de la prueba creada

testName

Nombre de la prueba

status

Estado de la prueba (por ejemplo,created)

update_test

Description (Descripción)

La update_test herramienta actualiza la configuración de un escenario de prueba existente. Se trata de un reemplazo completo: se debe proporcionar toda la configuración de prueba, no solo los campos modificados. La prueba no debe estar ejecutándose actualmente.

Parameters

Igual quecreate_test, excepto test_id que es obligatorio y debe hacer referencia a una prueba existente.

Respuesta

Name Description (Descripción)

testId

El identificador único de la prueba actualizada

testName

Nombre de la prueba

status

Estado de la prueba

delete_test

Description (Descripción)

La delete_test herramienta elimina permanentemente un escenario de prueba y todos los datos asociados, incluidos el historial de ejecuciones de pruebas, los cronogramas y los paneles de Amazon. CloudWatch Esta acción no se puede deshacer. La prueba no debe estar ejecutándose actualmente.

Parameters

test_id
  • El identificador único del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

status

Confirmación de la eliminación

start_run

Description (Descripción)

La start_run herramienta inicia la ejecución de un escenario de prueba. El servidor MCP recupera la configuración almacenada de la prueba y desencadena la ejecución. Regresa inmediatamente con el estado. queued get_latest_test_runUtilícelo para realizar una encuesta para completarla.

Parameters

test_id
  • El identificador único del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

testId

El identificador único de la prueba

status

Estado de la prueba (por ejemplo,queued)

stop_run

Description (Descripción)

La stop_run herramienta detiene una prueba que se esté ejecutando actualmente. Envía una señal de cancelación a todas las tareas de Fargate en ejecución. El estado de la prueba pasa a. cancelled Los resultados parciales están disponibles enget_latest_test_run.

Parameters

test_id
  • El identificador único del escenario de prueba

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

status

Confirmación de la cancelación

create_simple_schedule

Description (Descripción)

La create_simple_schedule herramienta crea una prueba programada para una sola vez que se ejecuta automáticamente en una fecha y hora específicas. Requiere todos los campos de configuración de prueba estándar, además de los campos de programación.

Parameters

Todos create_test los parámetros (con las mismas reglas test_id opcionales), además de:

schedule_date
  • Fecha de la ejecución programada. Debe ser en el futuro.

    Tipo: Cadena (formato:YYYY-MM-DD)

    Obligatorio: sí

schedule_time
  • Hora de la ejecución programada.

    Tipo: cadena (formato: HH:MM 24 horas)

    Obligatorio: sí

schedule_timezone
  • Zona horaria de la IANA para la interpretación de los horarios (por ejemplo,America/New_York). UTC

    Tipo: cadena

    Valor predeterminado: UTC

    Obligatorio: no

Respuesta

Name Description (Descripción)

testId

El identificador único de la prueba

status

Estado de la prueba (por ejemplo,scheduled)

nextRun

Próxima hora de ejecución programada

create_cron_schedule

Description (Descripción)

La create_cron_schedule herramienta crea una prueba programada recurrente que se ejecuta automáticamente de acuerdo con una expresión cron. Requiere todos los campos de configuración de pruebas estándar, además de los campos de programación cron.

Parameters

Todos create_test los parámetros (con las mismas reglas test_id opcionales), además de:

cron_value
  • Expresión de cron para una programación recurrente. Formato estándar de 5 campos (por ejemplo, 0 9 * * * para todos los días a las 9:00 a.m.).

    Tipo: cadena

    Obligatorio: sí

recurrence
  • Human-readable etiqueta de recurrencia (por ejemplodaily,weekly).

    Tipo: cadena

    Obligatorio: sí

cron_expiry_date
  • Fecha en la que deja de ejecutarse el programa periódico.

    Tipo: Cadena (formato:YYYY-MM-DD)

    Obligatorio: no

schedule_timezone
  • Zona horaria de la IANA para la interpretación de los horarios.

    Tipo: cadena

    Valor predeterminado: UTC

    Obligatorio: no

Respuesta

Name Description (Descripción)

testId

El identificador único de la prueba

status

Estado de la prueba (por ejemplo,scheduled)

nextRun

Próxima hora de ejecución programada

update_simple_schedule

Description (Descripción)

La update_simple_schedule herramienta actualiza la configuración del cronograma para una prueba programada única existente. Sustitución completa de la configuración de la prueba, incluidos los campos de programación. La prueba debe estar en scheduled estado.

Parameters

Igual quecreate_simple_schedule, excepto test_id que es obligatorio y debe hacer referencia a una prueba programada existente.

Respuesta

Igual que create_simple_schedule.

update_cron_schedule

Description (Descripción)

La update_cron_schedule herramienta actualiza la configuración del cronograma para una prueba programada recurrente existente. Sustitución completa de la configuración de la prueba, incluidos los campos del cronograma cron. La prueba debe estar en scheduled estado.

Parameters

Igual quecreate_cron_schedule, excepto test_id que es obligatorio y debe hacer referencia a una prueba programada existente.

Respuesta

Igual que create_cron_schedule.

upload_test_script

Description (Descripción)

La upload_test_script herramienta carga un archivo de script (JMeter.jmx, k6, Locust .py o) necesario para las .js pruebas basadas en scripts. .zip Se debe llamar antes o para las pruebas basadas en scripts. create_test update_test Devuelve un signo test_id y script_filename para usarlo en llamadas a herramientas posteriores.

Parameters

test_id
  • El identificador único del escenario de prueba. Omitir para las pruebas nuevas (el sistema genera una). Permita que las pruebas existentes se carguen en la ubicación correcta.

    Tipo: cadena

    Requerido: no

test_type
  • Tipo de prueba:jmeter,k6, olocust.

    Tipo: cadena

    Obligatorio: sí

file_extension
  • Extensión de archivo:jmx,js,py, ozip.

    Tipo: cadena

    Obligatorio: sí

file_content
  • Base64-encoded contenido del archivo.

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

test_id

El identificador de la prueba (generado o proporcionado)

script_filename

Nombre de archivo en S3 (formato:<test_id>.<extension>). Haga referencia a esto entest_scenario.scenarios.

Guías de flujo de

Las guías de flujo de trabajo son recetas de varios pasos que ayudan a los agentes a encadenar varias herramientas para realizar operaciones comunes. La get_workflow_guides herramienta proporciona una guía estructurada paso a paso para cada flujo de trabajo.

get_workflow_guides

Description (Descripción)

La get_workflow_guides herramienta muestra instrucciones de flujo de trabajo paso a paso para las operaciones comunes de DLT con varias herramientas. Proporciona una guía estructurada sobre las herramientas a las que se debe recurrir, en qué orden y cómo interpretar los resultados entre los pasos.

Parameters

workflow
  • El flujo de trabajo para el que se obtienen las instrucciones. Uno de:run_and_monitor,baseline_comparison,schedule_test,create_and_run,update_and_run.

    Tipo: cadena

    Obligatorio: sí

Respuesta

Name Description (Descripción)

workflow

identificador de flujo de trabajo

description

Descripción breve del propósito del flujo de trabajo

steps

Conjunto de objetos de paso, cada uno con step (número), action (qué hacer), tool (a qué herramienta de MCP llamar o un valor nulo para los pasos que no son herramientas) e details (instrucciones específicas)

Flujos de trabajo disponibles

run_and_monitor

Inicie una prueba existente y sondee hasta su finalización.

  1. Encuentra la prueba usando list_scenarios o get_scenario_details

  2. Inicie la ejecución de la prueba usando start_run

  3. Realice la encuesta para completarla utilizando get_latest_test_run (intervalo recomendado: 30 segundos; gestione los 404 iniciales durante 1 a 3 minutos mientras se lanzan las tareas de Amazon Elastic Container Service (Amazon ECS))

  4. Informe los resultados una vez que se alcance el estado de la terminal (completefailed, ocancelled)

baseline_comparison

Ejecute una prueba y compare los resultados con una línea base almacenada.

  1. Busque la prueba usando list_scenarios o get_scenario_details

  2. Inicie la ejecución de la prueba usando start_run

  3. Realice la encuesta utilizando get_latest_test_run (intervalo recomendado: 30 segundos)

  4. Recupere la línea de base utilizando get_baseline_test_run (omita la comparación si no se ha establecido ninguna línea de base)

  5. Compare las métricas (tiempo de respuesta promedio, latencia, rendimiento, percentiles, tasa de error)

schedule_test

Crea una prueba con un cronograma periódico o único.

  1. Determine el tipo de programación (única →create_simple_schedule, recurrente →create_cron_schedule)

  2. Cargue el script de prueba si está basado en un script utilizando upload_test_script

  3. Cree la prueba programada con la configuración completa y los campos de programación

  4. Verifique que el cronograma se haya creado usando get_scenario_details (verifique status: scheduled ynextRun)

Restricciones: intervalo mínimo de 1 hora entre ejecuciones recurrentes, el intervalo debe superar la duración de la prueba y cron debe especificar exactamente un valor de un minuto.

create_and_run

Crea una nueva prueba desde cero y ejecútala inmediatamente.

  1. Cargue el script de prueba si está basado en un script utilizando upload_test_script

  2. Cree la prueba usando create_test

  3. Inicie la ejecución de la prueba utilizando start_run el test_id

  4. Encuesta para completarla usando get_latest_test_run (intervalo recomendado: 30 segundos)

  5. Reportar los resultados

update_and_run

Modifique la configuración de una prueba existente y vuelva a ejecutarla inmediatamente.

  1. Recupere la configuración actual mediante get_scenario_details

  2. Cargue un nuevo script si cambia el script usando upload_test_script

  3. Actualice la configuración de prueba usando update_test (reemplazo completo: incluya todos los campos)

  4. Inicie la ejecución de la prueba usando start_run

  5. Realice la encuesta utilizando get_latest_test_run (intervalo recomendado: 30 segundos)

  6. Reportar los resultados

nota

Todas las herramientas de MCP aprovechan los puntos finales de API existentes. No es necesario modificar las API subyacentes para admitir la funcionalidad de MCP.