As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Especificação de ferramentas MCP
A solução Distributed Load Testing expõe um conjunto de ferramentas MCP que permitem que agentes de IA interajam com cenários e resultados de teste. Essas ferramentas fornecem recursos abstratos de alto nível que se alinham à forma como os agentes de IA processam as informações, permitindo que eles se concentrem em análises e insights, em vez de contratos detalhados de API.
O servidor MCP oferece suporte a dois modos de acesso, controlados pelo CloudFormation parâmetro da MCPServerAccessMode AWS:
-
ReadOnly(padrão) — Somente as ferramentas de leitura são registradas. Os agentes veem 7 ferramentas via
tools/list. Nenhuma operação de mutação está disponível. -
ReadWrite— As ferramentas de leitura e gravação são registradas. Os agentes veem todas as ferramentas (leitura e gravação) por meio
tools/listdelas e podem criar testes, acionar execuções, gerenciar agendas e fazer upload de scripts.
O modo de acesso é definido no momento da implantação. Para alterar o modo de acesso após a implantação inicial, execute uma atualização de CloudFormation pilha com o novo valor do MCPServerAccessMode parâmetro. A alteração entra em vigor quando a atualização da pilha é concluída — nenhuma outra etapa manual é necessária.
No ReadOnly modo, as ferramentas de gravação não são registradas de forma alguma — os agentes nunca as veem látools/list. A política do AWS Identity and Access Management (IAM) sobre a função AWS Lambda do servidor MCP tem um escopo adequado. ReadOnly permite somente solicitações GET para a API. ReadWrite permite GET, POST, PUT e DELETE.
Ferramentas de leitura
listar_cenários
Description
A list_scenarios ferramenta recupera uma lista de todos os cenários de teste disponíveis com metadados básicos.
Endpoint
GET /scenarios
Parâmetros
Nenhum
Resposta
| Name (Nome) | Description |
|---|---|
|
|
Identificador exclusivo para o cenário de teste |
|
|
Nome do cenário de teste |
|
|
Status atual do cenário de teste |
|
|
Quando o teste foi criado ou executado pela última vez |
|
|
Descrição do cenário de teste |
get_scenario_details
Description
A get_scenario_details ferramenta recupera a configuração do teste e a execução do teste mais recente para um único cenário de teste.
A resposta relata o modo de formato do tráfego do cenário. Um nativeRunMode objeto indica o modo nativo e sua ausência indica o modo padrão. Para um cenário nativoconcurrency, os holdFor camposrampUp, e não refletem a carga gerada pela execução. Em vez disso, a carga vem do script. Para obter mais informações, consulte Modos de formato de tráfego.
Endpoint
GET /scenarios/<test_id>?history=false&results=false
Parâmetro de solicitação
-
test_id -
-
O identificador exclusivo para o cenário de teste
Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
Configuração de tarefas para cada região |
|
|
Definição e parâmetros do teste |
|
|
Status atual do teste |
|
|
Carimbo de data e hora de início do teste |
|
|
Timestamp de término do teste (se concluído) |
list_test_runs
Description
A list_test_runs ferramenta recupera uma lista de execuções de teste para um cenário de teste específico, classificada da mais recente para a mais antiga. Retorna no máximo 30 resultados. Somente um limit ou start_timestamp pode ser fornecido, não ambos.
Endpoint
GET /scenarios/<testid>/testruns/?limit=<limit>
or
GET /scenarios/<testid>/testruns/?start_timestamp=<start_timestamp>
Parâmetros de solicitação
-
test_id -
-
O identificador exclusivo para o cenário de teste
Tipo: String
Obrigatório: Sim
-
-
limit -
-
Número máximo de execuções de teste a serem retornadas. Não pode ser usado com
start_timestamp.Tipo: inteiro
Padrão: 20
Máximo: 30
Obrigatório: não
-
-
start_timestamp -
-
Retorne todas as execuções de teste que remontam a esse carimbo de data/hora. Não pode ser usado com
limit.Tipo: Cadeia de caracteres (formato de data e hora ISO 8601, por exemplo)
2024-01-15T14:30:00.000ZObrigatório: não
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
Conjunto de resumos de execução de teste com métricas de desempenho e percentis para cada execução |
get_test_run
Description
A get_test_run ferramenta recupera resultados detalhados para uma única execução de teste com detalhamentos regionais e de terminais.
Endpoint
GET /scenarios/<testid>/testruns/<testrunid>
Parâmetros de solicitação
-
test_id -
-
O identificador exclusivo para o cenário de teste
Tipo: String
Obrigatório: Sim
-
-
test_run_id -
-
O identificador exclusivo para a execução específica do teste
Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
Dados completos da execução do teste, incluindo detalhamento dos resultados regionais, métricas específicas do terminal, percentis de desempenho (p50, p90, p95, p99), contagens de sucesso e falhas, tempos de resposta e latência e configuração de teste usada para a execução |
get_latest_test_run
Description
A get_latest_test_run ferramenta recupera o teste mais recente para um cenário de teste específico.
Endpoint
GET /scenarios/<testid>/testruns/?limit=1
nota
Os resultados são classificados por tempo usando um Índice Secundário Global (GSI), para que o teste mais recente seja retornado.
Parâmetro de solicitação
-
test_id -
-
O identificador exclusivo para o cenário de teste
Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
Dados de execução de teste mais recentes com o mesmo formato |
get_baseline_test_run
Description
A get_baseline_test_run ferramenta recupera o teste básico executado para um cenário de teste específico. A linha de base é usada para fins de comparação de desempenho.
Endpoint
GET /scenarios/<test_id>/baseline
Parâmetro de solicitação
-
test_id -
-
O identificador exclusivo para o cenário de teste
Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
Dados de execução do teste de linha de base para fins de comparação, incluindo todas as métricas e configurações da execução da linha de base designada |
get_test_run_artifacts
Description
A get_test_run_artifacts ferramenta recupera informações do bucket do Amazon S3 para acessar artefatos de teste, incluindo registros, arquivos de erro e resultados.
Endpoint
GET /scenarios/<testid>/testruns/<testrunid>
Parâmetros de solicitação
-
test_id -
-
O identificador exclusivo para o cenário de teste
Tipo: String
Obrigatório: Sim
-
-
test_run_id -
-
O identificador exclusivo para a execução específica do teste
Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
Nome do bucket do S3 em que os artefatos são armazenados |
|
|
Prefixo do caminho para o armazenamento atual de artefatos (versão 4.0+) |
|
|
Prefixo do caminho para armazenamento de artefatos legados (versão anterior à 4.0) |
Ferramentas de escrita
As ferramentas de gravação só estão disponíveis quando MCPServerAccessMode estão definidas comoReadWrite. Eles permitem que os agentes criem, modifiquem e executem cenários de teste.
criar_teste
Description
A create_test ferramenta cria um novo cenário de teste de carga sem executá-lo. O teste é salvo e pode ser executado posteriormente comstart_run. Para testes baseados em script (jmeter, k6, locust), chame upload_test_script primeiro e passe o retornado. test_id
Parâmetros
-
test_id -
-
O identificador exclusivo do cenário de teste. Omitir para testes HTTP simples (o sistema gera um). Obrigatório para testes baseados em script — use o
test_idretornado por.upload_test_scriptTipo: string
Obrigatório: Não (necessário para testes baseados em script)
-
-
test_name -
-
Human-readable nome para o cenário de teste
Tipo: String
Obrigatório: Sim
-
-
test_description -
-
Descrição do que esse teste valida
Tipo: String
Obrigatório: Sim
-
-
test_type -
-
Tipo de teste.
simplepara testes de endpoint HTTP configurados em linha.jmeter,k6, oulocustpara testes baseados em script que fazem referência a um arquivo de script carregado.Tipo: String
Obrigatório: Sim
-
-
test_task_configs -
-
Configuração de tarefas regionais. Cada entrada especifica uma região, o número de tarefas do AWS Fargate e usuários virtuais simultâneos por tarefa. Total de usuários simultâneos para uma região =
task_count×concurrency.Tipo: Matriz de objetos (cada um com
region,task_count,concurrency)Obrigatório: Sim
-
-
test_scenario -
-
Cenário de execução de teste definindo o perfil de carga e o (s) endpoint (s) de destino. Contém
execution(ramp-up, hold-for, nome do cenário) escenarios(definições de cenário nomeadas com umarequestsmatriz para testes simples ou umascriptstring para testes baseados em script).Tipo: objeto
Obrigatório: Sim
-
-
show_live -
-
Se deve habilitar o monitoramento ao vivo durante a execução do teste.
Tipo: booliano
Padrão:
falseExigido: Não
-
-
tags -
-
Tags para organizar cenários de teste. Máximo de 5 tags.
Tipo: matriz de strings
Obrigatório: Não
-
-
native_run_mode -
-
Um objeto que seleciona o modo de formato do tráfego. Omita-o para o modo Padrão, em que a solução controla a carga. Inclua-o no modo nativo, em que seu script carregado controla o carregamento. Para obter mais informações, consulte Modos de formato de tráfego.
Tipo: objeto
Obrigatório: não
-
O modo nativo difere do modo padrão da seguinte forma:
-
O objeto requer um campo
max_test_duration_seconds, com um máximo de 24 horas. -
Somente testes baseados em script (
jmeter,k6, oulocust) aceitam o modo nativo. -
Testes simples de endpoint HTTP sempre são executados no modo padrão.
-
test_task_configscontinua sendo obrigatório, e cada entrada ainda exigeconcurrency. -
Uma solicitação que é definida
concurrencycom sucesso denative_run_modedevoluções. -
A carga gerada pelo teste é a carga declarada pelo script.
-
A carga total por região é a carga do seu script multiplicada por
task_count.
Resposta
| Name (Nome) | Description |
|---|---|
|
|
O ID exclusivo do teste criado |
|
|
Nome do teste |
|
|
Status do teste (por exemplo, |
teste_atualização
Description
A update_test ferramenta atualiza a configuração de um cenário de teste existente. Essa é uma substituição completa — toda a configuração de teste deve ser fornecida, não apenas os campos alterados. O teste não deve estar em execução no momento.
Parâmetros
O mesmo quecreate_test, exceto test_id que é obrigatório e deve fazer referência a um teste existente.
Resposta
| Name (Nome) | Description |
|---|---|
|
|
O ID exclusivo do teste atualizado |
|
|
Nome do teste |
|
|
Status do teste |
excluir_teste
Description
A delete_test ferramenta exclui permanentemente um cenário de teste e todos os dados associados, incluindo histórico de execução de testes, cronogramas e painéis da Amazon CloudWatch . Esta ação não pode ser desfeita. O teste não deve estar em execução no momento.
Parâmetros
-
test_id -
-
O identificador exclusivo do cenário de teste
Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
Confirmação da exclusão |
start_run
Description
A start_run ferramenta inicia a execução de um cenário de teste. O servidor MCP busca a configuração armazenada do teste e aciona a execução. Retorna imediatamente com statusqueued. Use get_latest_test_run para fazer uma enquete para conclusão.
Parâmetros
-
test_id -
-
O identificador exclusivo do cenário de teste
Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
O ID exclusivo do teste |
|
|
Status do teste (por exemplo, |
parar_correr
Description
A stop_run ferramenta interrompe um teste em execução no momento. Envia um sinal de cancelamento para todas as tarefas do Fargate em execução. O status do teste muda para. cancelled Os resultados parciais estão disponíveis viaget_latest_test_run.
Parâmetros
-
test_id -
-
O identificador exclusivo do cenário de teste
Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
Confirmação do cancelamento |
create_simple_schedule
Description
A create_simple_schedule ferramenta cria um teste agendado único que é executado automaticamente em uma data e hora especificadas. Requer todos os campos de configuração de teste padrão, além dos campos de agendamento.
Parâmetros
Todos os create_test parâmetros (com as mesmas regras test_id opcionais), além de:
-
schedule_date -
-
Data da execução programada. Deve estar no futuro.
Tipo: Cadeia de caracteres (formato:
YYYY-MM-DD)Obrigatório: Sim
-
-
schedule_time -
-
Hora da execução programada.
Tipo: Cadeia de caracteres (formato:
HH:MM, 24 horas)Obrigatório: Sim
-
-
schedule_timezone -
-
Fuso horário da IANA para interpretação do cronograma (por exemplo,
America/New_York,UTC).Tipo: string
Padrão:
UTCExigido: Não
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
O ID exclusivo do teste |
|
|
Status do teste (por exemplo, |
|
|
Próxima hora de execução programada |
create_cron_schedule
Description
A create_cron_schedule ferramenta cria um teste agendado recorrente que é executado automaticamente de acordo com uma expressão cron. Requer todos os campos de configuração de teste padrão, além dos campos do cronograma cron.
Parâmetros
Todos os create_test parâmetros (com as mesmas regras test_id opcionais), além de:
-
cron_value -
-
Expressão Cron para agendamento recorrente. Formato padrão de 5 campos (por
0 9 * * *exemplo, diariamente às 9h).Tipo: String
Obrigatório: Sim
-
-
recurrence -
-
Human-readable rótulo de recorrência (por exemplo,
daily,weekly).Tipo: String
Obrigatório: Sim
-
-
cron_expiry_date -
-
Data em que a programação recorrente deixa de ser executada.
Tipo: Cadeia de caracteres (formato:
YYYY-MM-DD)Obrigatório: não
-
-
schedule_timezone -
-
Fuso horário da IANA para interpretação do cronograma.
Tipo: string
Padrão:
UTCExigido: Não
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
O ID exclusivo do teste |
|
|
Status do teste (por exemplo, |
|
|
Próxima hora de execução programada |
update_simple_schedule
Description
A update_simple_schedule ferramenta atualiza a configuração do cronograma para um teste agendado único existente. Substituição completa da configuração de teste, incluindo campos de agendamento. O teste deve estar em scheduled status.
Parâmetros
O mesmo quecreate_simple_schedule, exceto, test_id é obrigatório e deve fazer referência a um teste agendado existente.
Resposta
Igual a create_simple_schedule.
update_cron_schedule
Description
A update_cron_schedule ferramenta atualiza a configuração do agendamento para um teste agendado recorrente existente. Substituição completa da configuração de teste, incluindo campos de cronograma cron. O teste deve estar em scheduled status.
Parâmetros
O mesmo quecreate_cron_schedule, exceto, test_id é obrigatório e deve fazer referência a um teste agendado existente.
Resposta
Igual a create_cron_schedule.
script de teste de upload
Description
A upload_test_script ferramenta carrega um arquivo de script (JMeter.jmx, k6.js, Locust ou.zip) necessário para .py testes baseados em script. Deve ser chamado antes create_test ou update_test para testes baseados em script. Retorna um test_id e script_filename para uso em chamadas de ferramentas subsequentes.
Parâmetros
-
test_id -
-
O identificador exclusivo do cenário de teste. Omitir para novos testes (o sistema gera um). Forneça o upload dos testes existentes para o local correto.
Tipo: string
Obrigatório: não
-
-
test_type -
-
Tipo de teste:
jmeter,k6, oulocust.Tipo: String
Obrigatório: Sim
-
-
file_extension -
-
Extensão do arquivo:
jmx,js,py, ouzip.Tipo: String
Obrigatório: Sim
-
-
file_content -
-
Base64-encoded conteúdo do arquivo.
Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
O ID do teste (gerado ou fornecido) |
|
|
Nome do arquivo no S3 (formato:). |
guias de fluxo de trabalho
Os guias de fluxo de trabalho são receitas de várias etapas que ajudam os agentes a unir várias ferramentas para operações comuns. A get_workflow_guides ferramenta retorna uma orientação passo a passo estruturada para cada fluxo de trabalho.
get_workflow_guides
Description
A get_workflow_guides ferramenta retorna receitas de fluxo de trabalho passo a passo para operações DLT comuns com várias ferramentas. Retorna uma orientação estruturada sobre quais ferramentas usar, em que ordem e como interpretar os resultados entre as etapas.
Parâmetros
-
workflow -
-
O fluxo de trabalho para o qual recuperar as orientações. Um dos:
run_and_monitor,baseline_comparison,schedule_test,create_and_run,update_and_run.Tipo: String
Obrigatório: Sim
-
Resposta
| Name (Nome) | Description |
|---|---|
|
|
identificador de fluxo de trabalho |
|
|
Breve descrição da finalidade do fluxo de trabalho |
|
|
Matriz de objetos de etapa, cada um com |
Fluxos de trabalho disponíveis
run_and_monitor
Inicie um teste existente e faça uma pesquisa até a conclusão.
-
Encontre o teste usando
list_scenariosouget_scenario_details -
Inicie a execução do teste usando
start_run -
Pesquisa para conclusão usando
get_latest_test_run(intervalo recomendado: 30 segundos; processe o 404 inicial por 1 a 3 minutos enquanto as tarefas do Amazon Elastic Container Service (Amazon ECS) são iniciadas) -
Relate os resultados quando o status do terminal for atingido (
completefailed,, oucancelled)
comparação de linha de base
Execute um teste e compare os resultados com uma linha de base armazenada.
-
Encontre o teste usando
list_scenariosouget_scenario_details -
Inicie a execução do teste usando
start_run -
Enquete para conclusão usando
get_latest_test_run(intervalo recomendado: 30 segundos) -
Recupere a linha de base usando
get_baseline_test_run(pule a comparação se nenhuma linha de base estiver definida) -
Compare métricas (tempo médio de resposta, latência, taxa de transferência, percentis, taxa de erro)
schedule_test
Crie um teste com uma programação recorrente ou única.
-
Determine o tipo de agendamento (único →
create_simple_schedule, recorrente →)create_cron_schedule -
Carregue o script de teste se for baseado em script usando
upload_test_script -
Crie o teste agendado com configuração completa e campos de agendamento
-
Verifique se a programação foi criada usando
get_scenario_details(checkstatus: scheduledandnextRun)
Restrições: intervalo mínimo de 1 hora entre as execuções recorrentes, o intervalo deve exceder a duração do teste, o cron deve especificar exatamente um valor de minuto.
criar_e_executar
Crie um novo teste do zero e execute-o imediatamente.
-
Carregue o script de teste se for baseado em script usando
upload_test_script -
Crie o teste usando
create_test -
Inicie a execução do teste usando
start_runcom o retornadotest_id -
Enquete para conclusão usando
get_latest_test_run(intervalo recomendado: 30 segundos) -
Resultados do relatório
atualizar_e_executar
Modifique a configuração de um teste existente e reexecute-o imediatamente.
-
Recupere a configuração atual usando
get_scenario_details -
Carregue um novo script se alterar o script usando
upload_test_script -
Atualize a configuração de teste usando
update_test(substituição completa — inclua todos os campos) -
Inicie a execução do teste usando
start_run -
Enquete para conclusão usando
get_latest_test_run(intervalo recomendado: 30 segundos) -
Resultados do relatório
nota
Todas as ferramentas MCP aproveitam os endpoints de API existentes. Nenhuma modificação nas APIs subjacentes é necessária para oferecer suporte à funcionalidade do MCP.