기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
MCP 도구 사양
분산 로드 테스트 솔루션은 AI 에이전트가 테스트 시나리오 및 결과와 상호 작용할 수 있는 일련의 MCP 도구를 제공합니다. 이러한 도구는 AI 에이전트가 정보를 처리하는 방식에 맞는 상위 수준의 추상화된 기능을 제공하므로 세부 API 계약이 아닌 분석 및 인사이트에 집중할 수 있습니다.
MCP 서버는 MCPServerAccessMode AWS CloudFormation 파라미터로 제어되는 두 가지 액세스 모드를 지원합니다.
-
ReadOnly(기본값) - 읽기 도구만 등록됩니다. 에이전트는를 통해 7개의 도구를 볼 수 있습니다
tools/list. 변경 작업을 사용할 수 없습니다. -
ReadWrite - 읽기 및 쓰기 도구가 모두 등록됩니다. 에이전트는를 통해 모든 도구(읽기 및 쓰기)를 볼 수
tools/list있으며 테스트를 생성하고, 실행을 트리거하고, 일정을 관리하고, 스크립트를 업로드할 수 있습니다.
액세스 모드는 배포 시 설정됩니다. 초기 배포 후 액세스 모드를 변경하려면 새 MCPServerAccessMode 파라미터 값으로 CloudFormation 스택 업데이트를 수행합니다. 변경 사항은 스택 업데이트가 완료될 때 적용되며 다른 수동 단계는 필요하지 않습니다.
ReadOnly 모드에서는 쓰기 도구가 전혀 등록되지 않으므로 에이전트는에서 도구를 볼 수 없습니다tools/list. MCP 서버의 AWS Lambda 함수에 대한 AWS Identity and Access Management(IAM) 정책의 범위는 그에 따라 조정됩니다. AWS Lambda ReadOnly는 API에 대한 GET 요청만 허용합니다. ReadWrite는 GET, POST, PUT 및 DELETE를 허용합니다.
도구 읽기
list_scenarios
설명
이 list_scenarios 도구는 기본 메타데이터를 사용하여 사용 가능한 모든 테스트 시나리오 목록을 검색합니다.
엔드포인트
GET /scenarios
파라미터
없음
응답
| 이름 | 설명 |
|---|---|
|
|
테스트 시나리오의 고유 식별자 |
|
|
테스트 시나리오의 이름 |
|
|
테스트 시나리오의 현재 상태 |
|
|
테스트가 생성되거나 마지막으로 실행된 시간 |
|
|
테스트 시나리오에 대한 설명 |
get_scenario_details
설명
get_scenario_details 도구는 단일 테스트 시나리오에 대한 테스트 구성과 최신 테스트 실행을 검색합니다.
응답은 시나리오의 트래픽 셰이프 모드를 보고합니다. nativeRunMode 객체는 네이티브 모드를 나타내고, 객체가 없으면 표준 모드를 나타냅니다. 네이티브 시나리오의 경우 , concurrency rampUp및 holdFor 필드는 생성된 실행 로드를 반영하지 않습니다. 로드는 대신 스크립트에서 가져옵니다. 자세한 내용은 트래픽 셰이프 모드를 참조하세요.
엔드포인트
GET /scenarios/<test_id>?history=false&results=false
요청 파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
각 리전에 대한 작업 구성 |
|
|
테스트 정의 및 파라미터 |
|
|
현재 테스트 상태 |
|
|
테스트 시작 타임스탬프 |
|
|
테스트 종료 타임스탬프(완료된 경우) |
list_test_runs
설명
list_test_runs 도구는 최신에서 오래된 것으로 정렬된 특정 테스트 시나리오에 대한 테스트 실행 목록을 검색합니다. 최대 30개의 결과를 반환합니다. limit 또는 중 하나만 제공할 start_timestamp 수 있으며 둘 다 제공할 수는 없습니다.
엔드포인트
GET /scenarios/<testid>/testruns/?limit=<limit>
또는
GET /scenarios/<testid>/testruns/?start_timestamp=<start_timestamp>
요청 파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
-
limit -
-
반환할 최대 테스트 실행 수입니다.
start_timestamp플래그에는 사용할 수 없습니다.유형: 정수
기본값: 20
최대: 30
필수 항목 여부: 아니요
-
-
start_timestamp -
-
이 타임스탬프로 돌아가는 모든 테스트 실행을 반환합니다.
limit플래그에는 사용할 수 없습니다.유형: 문자열(ISO 8601 날짜-시간 형식, 예:
2024-01-15T14:30:00.000Z)필수 항목 여부: 아니요
-
응답
| 이름 | 설명 |
|---|---|
|
|
각 실행에 대한 성능 지표 및 백분위수가 포함된 테스트 실행 요약 배열 |
get_test_run
설명
이 get_test_run 도구는 리전 및 엔드포인트 분석을 사용하여 단일 테스트 실행에 대한 자세한 결과를 검색합니다.
엔드포인트
GET /scenarios/<testid>/testruns/<testrunid>
요청 파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
-
test_run_id -
-
특정 테스트 실행의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
리전별 결과 분석, 엔드포인트별 지표, 성능 백분위수(p50, p90, p95, p99), 성공 및 실패 수, 응답 시간 및 지연 시간, 실행에 사용되는 테스트 구성을 포함한 전체 테스트 실행 데이터 |
get_latest_test_run
설명
get_latest_test_run 도구는 특정 테스트 시나리오에 대한 최신 테스트 실행을 검색합니다.
엔드포인트
GET /scenarios/<testid>/testruns/?limit=1
참고
결과는 글로벌 보조 인덱스(GSI)를 사용하여 시간별로 정렬되므로 가장 최근의 테스트 실행이 반환됩니다.
요청 파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
와 동일한 형식의 최신 테스트 실행 데이터 |
get_baseline_test_run
설명
get_baseline_test_run 도구는 특정 테스트 시나리오에 대한 기준 테스트 실행을 검색합니다. 기준은 성능 비교 목적으로 사용됩니다.
엔드포인트
GET /scenarios/<test_id>/baseline
요청 파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
지정된 기준 실행의 모든 지표 및 구성을 포함하여 비교를 위한 기준 테스트 실행 데이터 |
get_test_run_artifacts
설명
이 get_test_run_artifacts 도구는 로그, 오류 파일 및 결과를 포함한 테스트 아티팩트에 액세스하기 위한 Amazon S3 버킷 정보를 검색합니다.
엔드포인트
GET /scenarios/<testid>/testruns/<testrunid>
요청 파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
-
test_run_id -
-
특정 테스트 실행의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
아티팩트가 저장되는 S3 버킷 이름 |
|
|
현재 아티팩트 스토리지의 경로 접두사(버전 4.0 이상) |
|
|
레거시 아티팩트 스토리지의 경로 접두사(버전 4.0 이전) |
도구 작성
쓰기 도구는가 로 설정된 경우에만 사용할 수 MCPServerAccessMode 있습니다ReadWrite. 이를 통해 에이전트는 테스트 시나리오를 생성, 수정 및 실행할 수 있습니다.
create_test
설명
create_test 도구는 실행하지 않고 새 로드 테스트 시나리오를 생성합니다. 테스트는 저장되며 나중에를 사용하여 실행할 수 있습니다start_run. 스크립트 기반 테스트(jmeter, k6,™t)의 경우 upload_test_script 먼저를 호출하고 반환된를 전달합니다test_id.
파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자입니다. 간단한 HTTP 테스트의 경우 생략합니다(시스템에서 생성). 스크립트 기반 테스트에 필요 -에서
test_id반환한를 사용합니다upload_test_script.유형: 문자열
필수: 아니요(스크립트 기반 테스트의 경우 필수)
-
-
test_name -
-
테스트 시나리오의 사람이 읽을 수 있는 이름
유형: 문자열
필수 항목 여부: 예
-
-
test_description -
-
이 테스트가 검증하는 항목에 대한 설명
유형: 문자열
필수 항목 여부: 예
-
-
test_type -
-
테스트 유형. 인라인으로 구성된
simpleHTTP 엔드포인트 테스트locust의 경우jmeter,k6또는 업로드된 스크립트 파일을 참조하는 스크립트 기반 테스트의 경우 .유형: 문자열
필수 항목 여부: 예
-
-
test_task_configs -
-
리전 작업 구성. 각 항목은 리전, AWS Fargate 작업 수 및 작업당 동시 가상 사용자를 지정합니다. 리전의 총 동시 사용자 =
task_count×concurrency.유형: 객체 배열(각각
region,task_count,concurrency)필수 항목 여부: 예
-
-
test_scenario -
-
로드 프로파일과 대상 엔드포인트(들)를 정의하는 테스트 실행 시나리오입니다.
execution(ramp-up, hold-for, scenario name) 및scenarios(단순 테스트를 위한requests배열 또는 스크립트 기반 테스트를 위한script문자열이 있는 명명된 시나리오 정의)를 포함합니다.유형: 객체
필수 항목 여부: 예
-
-
show_live -
-
테스트 실행 중에 라이브 모니터링을 활성화할지 여부입니다.
유형: Boolean
기본값:
false필수 항목 여부: 아니요
-
-
tags -
-
테스트 시나리오를 구성하기 위한 태그입니다. 최대 5개의 태그.
유형: 문자열 배열
필수 항목 여부: 아니요
-
-
native_run_mode -
-
트래픽 셰이프 모드를 선택하는 객체입니다. 솔루션이 로드를 제어하는 표준 모드에서는 생략합니다. 업로드된 스크립트가 로드를 제어하는 네이티브 모드에 포함합니다. 자세한 내용은 트래픽 셰이프 모드를 참조하세요.
유형: 객체
필수 항목 여부: 아니요
-
기본 모드는 다음과 같이 표준 모드와 다릅니다.
-
객체에는
max_test_duration_seconds최대 24시간의 필드 1개가 필요합니다. -
스크립트 기반 테스트(
jmeter,k6또는locust)만 네이티브 모드를 허용합니다. -
단순 HTTP 엔드포인트 테스트는 항상 표준 모드에서 실행됩니다.
-
test_task_configs는 필수 항목으로 유지되며 각 항목에는 여전히가 필요합니다concurrency. -
가
concurrency로 설정된 요청은 성공을native_run_mode반환합니다. -
테스트가 생성하는 로드는 스크립트가 선언하는 로드입니다.
-
리전당 총 로드는 스크립트의 로드에를 곱한 값입니다
task_count.
응답
| 이름 | 설명 |
|---|---|
|
|
생성된 테스트의 고유 ID |
|
|
테스트 이름 |
|
|
테스트 상태(예: |
update_test
설명
update_test 도구는 기존 테스트 시나리오의 구성을 업데이트합니다. 이는 완전히 대체됩니다. 변경된 필드뿐만 아니라 전체 테스트 구성을 제공해야 합니다. 테스트가 현재 실행 중이어서는 안 됩니다.
파라미터
와 동일create_test하지만 test_id는 필수이며 기존 테스트를 참조해야 합니다.
응답
| 이름 | 설명 |
|---|---|
|
|
업데이트된 테스트의 고유 ID |
|
|
테스트 이름 |
|
|
테스트 상태 |
delete_test
설명
이 delete_test 도구는 테스트 시나리오와 테스트 실행 기록, 일정 및 Amazon CloudWatch 대시보드를 포함한 모든 관련 데이터를 영구적으로 삭제합니다. 이 작업은 실행을 취소할 수 없습니다. 테스트가 현재 실행 중이어서는 안 됩니다.
파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
삭제 확인 |
시작_실행
설명
start_run 도구가 테스트 시나리오 실행을 시작합니다. MCP 서버는 테스트의 저장된 구성을 가져오고 실행을 트리거합니다. 상태 로 즉시 반환합니다queued. get_latest_test_run를 사용하여 완료를 위해 폴링합니다.
파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
테스트의 고유 ID |
|
|
테스트 상태(예: |
stop_run
설명
stop_run 도구는 현재 실행 중인 테스트를 중지합니다. 실행 중인 모든 Fargate 작업에 취소 신호를 보냅니다. 테스트 상태가 로 전환됩니다cancelled. 를 통해 부분 결과를 사용할 수 있습니다get_latest_test_run.
파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자
유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
취소 확인 |
create_simple_schedule
설명
이 create_simple_schedule 도구는 지정된 날짜 및 시간에 자동으로 실행되는 일회성 예약 테스트를 생성합니다. 모든 표준 테스트 구성 필드와 일정 필드가 필요합니다.
파라미터
모든 create_test 파라미터(선택 test_id 사항, 동일한 규칙 포함) +:
-
schedule_date -
-
예약된 실행 날짜입니다. 미래여야 합니다.
유형: 문자열(형식:
YYYY-MM-DD)필수 항목 여부: 예
-
-
schedule_time -
-
예약된 실행 시간입니다.
유형: 문자열(형식:
HH:MM, 24시간)필수 항목 여부: 예
-
-
schedule_timezone -
-
일정 해석을 위한 IANA 시간대(예: ,
America/New_YorkUTC).유형: 문자열
기본값:
UTC필수 항목 여부: 아니요
-
응답
| 이름 | 설명 |
|---|---|
|
|
테스트의 고유 ID |
|
|
테스트 상태(예: |
|
|
다음 예약된 실행 시간 |
create_cron_일정
설명
이 create_cron_schedule 도구는 cron 표현식에 따라 자동으로 실행되는 반복 예약 테스트를 생성합니다. 모든 표준 테스트 구성 필드와 cron 일정 필드가 필요합니다.
파라미터
모든 create_test 파라미터(선택 test_id 사항, 동일한 규칙 포함) +:
-
cron_value -
-
반복 일정에 대한 Cron 표현식입니다. 표준 5필드 형식(예:
0 9 * * *매일 오전 9시).유형: 문자열
필수 항목 여부: 예
-
-
recurrence -
-
사람이 읽을 수 있는 반복 레이블(예: ,
dailyweekly).유형: 문자열
필수 항목 여부: 예
-
-
cron_expiry_date -
-
반복 일정 실행이 중지된 날짜입니다.
유형: 문자열(형식:
YYYY-MM-DD)필수 항목 여부: 아니요
-
-
schedule_timezone -
-
일정 해석을 위한 IANA 시간대입니다.
유형: 문자열
기본값:
UTC필수 항목 여부: 아니요
-
응답
| 이름 | 설명 |
|---|---|
|
|
테스트의 고유 ID |
|
|
테스트 상태(예: |
|
|
다음 예약된 실행 시간 |
update_simple_일정
설명
update_simple_schedule 도구는 기존 일회성 예약 테스트의 예약 구성을 업데이트합니다. 일정 필드를 포함하여 테스트 구성을 완전히 바꿉니다. 테스트는 scheduled 상태여야 합니다.
파라미터
와 동일create_simple_schedule하지만 test_id는 필수이며 기존 예약된 테스트를 참조해야 합니다.
응답
create_simple_schedule와 동일합니다.
update_cron_일정
설명
update_cron_schedule 도구는 기존 반복 예약 테스트의 예약 구성을 업데이트합니다. cron 일정 필드를 포함하여 테스트 구성을 완전히 바꿉니다. 테스트는 scheduled 상태여야 합니다.
파라미터
와 동일create_cron_schedule하지만 test_id는 필수이며 기존 예약된 테스트를 참조해야 합니다.
응답
create_cron_schedule와 동일합니다.
upload_test_script
설명
이 upload_test_script 도구는 스크립트 기반 테스트에 필요한 스크립트 파일(JMeter .jmx, k6 .py, .jsLocust 또는 .zip)을 업로드합니다. 스크립트 기반 테스트의 create_test update_test 경우 또는 이전에 호출해야 합니다. 후속 도구 호출에 script_filename 사용할 test_id 및를 반환합니다.
파라미터
-
test_id -
-
테스트 시나리오의 고유 식별자입니다. 새 테스트의 경우 생략합니다(시스템에서 생성). 기존 테스트를 제공하여 올바른 위치에 업로드합니다.
유형: 문자열
필수 항목 여부: 아니요
-
-
test_type -
-
테스트 유형:
jmeter,k6또는locust.유형: 문자열
필수 항목 여부: 예
-
-
file_extension -
-
파일 확장명:
jmx,jspy, 또는zip.유형: 문자열
필수 항목 여부: 예
-
-
file_content -
-
Base64-encoded 파일 콘텐츠입니다.
유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
테스트 ID(생성되거나 제공됨) |
|
|
S3의 파일 이름(형식: |
워크플로 가이드
워크플로 가이드는 에이전트가 공통 작업을 위해 여러 도구를 함께 연결하는 데 도움이 되는 다단계 레시피입니다. 이 get_workflow_guides 도구는 각 워크플로에 대한 구조step-by-step 지침을 반환합니다.
get_workflow_guides
설명
이 get_workflow_guides 도구는 일반적인 다중 도구 DLT 작업에 대한 step-by-step 워크플로 레시피를 반환합니다. 호출할 도구, 순서 및 단계 간 결과를 해석하는 방법에 대한 구조화된 지침을 반환합니다.
파라미터
-
workflow -
-
지침을 검색할 워크플로입니다. 다음 중 하나:
run_and_monitor,baseline_comparison,schedule_test,create_and_run,update_and_run.유형: 문자열
필수 항목 여부: 예
-
응답
| 이름 | 설명 |
|---|---|
|
|
워크플로 식별자 |
|
|
워크플로의 용도에 대한 간략한 설명 |
|
|
각각 |
사용 가능한 워크플로
run_and_monitor
기존 테스트 실행을 시작하고 완료될 때까지 폴링합니다.
-
list_scenarios또는를 사용하여 테스트 찾기get_scenario_details -
를 사용하여 테스트 실행 시작
start_run -
를 사용하여 완료하기 위한 폴링
get_latest_test_run(권장 간격: 30초, Amazon Elastic Container Service(Amazon ECS) 작업이 시작되는 동안 1~3분 동안 초기 404 처리) -
터미널 상태에 도달하면 결과 보고(
complete,failed또는cancelled)
baseline_comparison
테스트를 실행하고 저장된 기준과 결과를 비교합니다.
-
list_scenarios또는를 사용하여 테스트 찾기get_scenario_details -
를 사용하여 테스트 실행 시작
start_run -
를 사용하여 완료하기 위한 폴링
get_latest_test_run(권장 간격: 30초) -
를 사용하여 기준 검색
get_baseline_test_run(기준이 설정되지 않은 경우 비교 건너뛰기) -
지표 비교(평균 응답 시간, 지연 시간, 처리량, 백분위수, 오류율)
일정_테스트
반복 또는 일회성 일정으로 테스트를 생성합니다.
-
일정 유형 결정(일회성 →
create_simple_schedule, 반복 →create_cron_schedule) -
를 사용하여 스크립트 기반인 경우 테스트 스크립트 업로드
upload_test_script -
전체 구성 및 일정 필드를 사용하여 예약된 테스트 생성
-
를 사용하여 일정이 생성되었는지 확인
get_scenario_details(status: scheduled및 확인nextRun)
제약 조건: 반복 실행 간 최소 1시간 간격, 간격이 테스트 기간을 초과해야 함, cron이 정확히 1분 값을 지정해야 함.
create_and_run
처음부터 새 테스트를 생성하고 즉시 실행합니다.
-
를 사용하여 스크립트 기반인 경우 테스트 스크립트 업로드
upload_test_script -
를 사용하여 테스트 생성
create_test -
반환된와
start_run함께를 사용하여 테스트 실행 시작test_id -
를 사용하여 완료하기 위한 폴링
get_latest_test_run(권장 간격: 30초) -
결과 보고
update_and_run
기존 테스트의 구성을 수정하고 즉시 다시 실행합니다.
-
를 사용하여 현재 구성 검색
get_scenario_details -
를 사용하여 스크립트를 변경하는 경우 새 스크립트 업로드
upload_test_script -
를 사용하여 테스트 구성 업데이트
update_test(전체 대체 - 모든 필드 포함) -
를 사용하여 테스트 실행 시작
start_run -
를 사용하여 완료하기 위한 폴링
get_latest_test_run(권장 간격: 30초) -
결과 보고
참고
모든 MCP 도구는 기존 API 엔드포인트를 활용합니다. MCP 기능을 지원하기 위해 기본 APIs를 수정할 필요가 없습니다.