

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# MCP 工具规格
<a name="mcp-tools-specification"></a>

分布式负载测试解决方案公开了一组 MCP 工具，这些工具使 AI 代理能够与测试场景和结果进行交互。这些工具提供了与 AI 代理处理信息的方式一致的高级抽象功能，使他们能够专注于分析和见解，而不是详细的 API 合同。

**注意**  
所有 MCP 工具都提供对解决方案数据的只读访问权限。不支持通过 MCP 接口修改测试场景或配置。

## 列出场景
<a name="list-scenarios-tool"></a>

### 说明
<a name="list-scenarios-tool-description"></a>

该`list_scenarios`工具检索包含基本元数据的所有可用测试场景的列表。

### 端点
<a name="list-scenarios-tool-endpoint"></a>

 `GET /scenarios` 

### 参数
<a name="list-scenarios-tool-parameters"></a>

无

### 响应
<a name="list-scenarios-tool-response"></a>


| Name | 说明 | 
| --- | --- | 
|  `testId`  | 测试场景的唯一标识符 | 
|  `testName`  | 测试场景的名称 | 
|  `status`  | 测试场景的当前状态 | 
|  `startTime`  | 测试的创建时间或上次运行的时间 | 
|  `testDescription`  | 测试场景的描述 | 

## 获取场景详情
<a name="get-scenario-details-tool"></a>

### 说明
<a name="get-scenario-details-tool-description"></a>

该`get_scenario_details`工具检索单个测试场景的测试配置和最近的测试运行。

### 端点
<a name="get-scenario-details-tool-endpoint"></a>

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

### 请求参数
<a name="get-scenario-details-tool-request"></a>

 `test_id`   
+ 测试场景的唯一标识符

  类型：字符串

  是否必需：是

### 响应
<a name="get-scenario-details-tool-response"></a>


| Name | 说明 | 
| --- | --- | 
|  `testTaskConfigs`  | 每个区域的任务配置 | 
|  `testScenario`  | 测试定义和参数 | 
|  `status`  | 当前测试状态 | 
|  `startTime`  | 测试开始时间戳 | 
|  `endTime`  | 测试结束时间戳（如果已完成） | 

## 列出测试运行次数
<a name="list-test-runs-tool"></a>

### 说明
<a name="list-test-runs-tool-description"></a>

该`list_test_runs`工具检索特定测试场景的测试运行列表，按最新到最旧的顺序排列。最多返回 30 个结果。

### 端点
<a name="list-test-runs-tool-endpoint"></a>

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

或者

 `GET /scenarios/<testid>/testruns/?limit=30&start_date=<start_date>&end_date=<end_date>` 

### 请求参数
<a name="list-test-runs-tool-request"></a>

 `test_id`   
+ 测试场景的唯一标识符

  类型：字符串

  是否必需：是

 `limit`   
+ 要返回的最大测试运行次数

  类型：整数

  默认值：20

  最大值：30

  必需：否

 `start_date`   
+ 用于筛选从特定日期开始的运行的 ISO 8601 时间戳

  类型：字符串（日期时间格式）

  必需：否

 `end_date`   
+ 用于筛选特定日期之前运行的 ISO 8601 时间戳

  类型：字符串（日期时间格式）

  必需：否

### 响应
<a name="list-test-runs-tool-response"></a>


| Name | 说明 | 
| --- | --- | 
|  `testRuns`  | 包含每次运行的性能指标和百分位数的测试运行摘要数组 | 

## get\_test\_run
<a name="get-test-run-tool"></a>

### 说明
<a name="get-test-run-tool-description"></a>

该`get_test_run`工具检索单次测试的详细结果，包括区域和端点细分。

### 端点
<a name="get-test-run-tool-endpoint"></a>

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

### 请求参数
<a name="get-test-run-tool-request"></a>

 `test_id`   
+ 测试场景的唯一标识符

  类型：字符串

  是否必需：是

 `test_run_id`   
+ 特定测试运行的唯一标识符

  类型：字符串

  是否必需：是

### 响应
<a name="get-test-run-tool-response"></a>


| Name | 说明 | 
| --- | --- | 
|  `results`  | 完整的测试运行数据，包括区域结果明细、端点特定指标、性能百分位数（p50、p90、p95、p99）、成功和失败计数、响应时间和延迟，以及用于运行的测试配置 | 

## get\_latest\_test\_run
<a name="get-latest-test-run-tool"></a>

### 说明
<a name="get-latest-test-run-tool-description"></a>

该`get_latest_test_run`工具检索特定测试场景的最新测试运行。

### 端点
<a name="get-latest-test-run-tool-endpoint"></a>

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

**注意**  
使用全局二级索引 (GSI) 按时间对结果进行排序，确保返回最新的测试运行。

### 请求参数
<a name="get-latest-test-run-tool-request"></a>

 `test_id`   
+ 测试场景的唯一标识符

  类型：字符串

  是否必需：是

### 响应
<a name="get-latest-test-run-tool-response"></a>


| Name | 说明 | 
| --- | --- | 
|  `results`  | 与格式相同的最新测试运行数据 `get_test_run`  | 

## get\_baseline\_test\_run
<a name="get-baseline-test-run-tool"></a>

### 说明
<a name="get-baseline-test-run-tool-description"></a>

该`get_baseline_test_run`工具检索特定测试场景的基准测试运行。该基准用于性能比较目的。

### 端点
<a name="get-baseline-test-run-tool-endpoint"></a>

 `GET /scenarios/<test_id>/baseline` 

### 请求参数
<a name="get-baseline-test-run-tool-request"></a>

 `test_id`   
+ 测试场景的唯一标识符

  类型：字符串

  是否必需：是

### 响应
<a name="get-baseline-test-run-tool-response"></a>


| Name | 说明 | 
| --- | --- | 
|  `baselineData`  | 用于比较目的的基准测试运行数据，包括指定基准运行的所有指标和配置 | 

## 获取\_测试\_运行\_工件
<a name="get-test-run-artifacts-tool"></a>

### 说明
<a name="get-test-run-artifacts-tool-description"></a>

该`get_test_run_artifacts`工具检索 Amazon S3 存储桶信息，用于访问测试项目，包括日志、错误文件和结果。

### 端点
<a name="get-test-run-artifacts-tool-endpoint"></a>

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

### 请求参数
<a name="get-test-run-artifacts-tool-request"></a>

 `test_id`   
+ 测试场景的唯一标识符

  类型：字符串

  是否必需：是

 `test_run_id`   
+ 特定测试运行的唯一标识符

  类型：字符串

  是否必需：是

### 响应
<a name="get-test-run-artifacts-tool-response"></a>


| Name | 说明 | 
| --- | --- | 
|  `bucketName`  | 存储工件的 S3 存储桶名称 | 
|  `testRunPath`  | 当前工件存储的路径前缀（版本 4.0\+） | 
|  `testScenarioPath`  | 旧版工件存储的路径前缀（4.0 版之前） | 

**注意**  
所有 MCP 工具都利用现有的 API 端点。无需对底层 APIs 进行修改即可支持 MCP 功能。