内容
# BlazeMeter 接口测试 MCP 服务器
[](https://github.com/Runscope/mcp-bzm-apitest/releases)
[](https://github.com/Runscope/mcp-bzm-apitest/releases)
[](https://www.python.org/)
[](https://github.com/Runscope/mcp-bzm-apitest/blob/master/LICENSE.txt)
BlazeMeter 接口测试 MCP 服务器直接连接 AI 工具到基于云的 BlazeMeter 接口测试和监控平台(Runscope)。这使得 AI 代理、助手和聊天机器人能够读取和管理团队、存储桶和测试,分析测试及其结果,并自动化工作流程。所有操作都可以通过自然语言交互完成。
## **使用场景**
**团队操作**
- 列出用户所属的所有团队,以建立组织上下文。
- 检索特定团队的详细信息,包括团队 ID、名称和关联权限。
- 这作为所有下游资源(如存储桶、测试和结果)的根实体。
**存储桶管理**
- 列出属于团队的所有存储桶。
- 通过 ID 或名称检索特定存储桶,以检查其元数据和结构。
- 创建新存储桶,以在逻辑项目或服务下组织接口测试。
- 运行存储桶级别的测试套件,执行存储桶中定义的所有测试,并获取其聚合结果。
**测试管理**
- 列出存储桶中的所有测试,以获取可用的接口测试。
- 检索单个测试的 ID 或名称,以查看其配置、步骤和环境引用。
- 通过 MCP 工具以编程方式创建新测试,以实现自动化或迁移工作流程。
- 运行单个测试并获取其执行结果,包括通过/失败状态和时间戳。
**测试调度管理**
- 创建新的测试调度,以在预定义的间隔自动化测试执行。
- 查看现有调度,以管理和审计自动化的测试运行。
- 检索测试的关联调度,以了解其执行上下文和频率。
**测试步骤管理**
- 列出测试中的所有步骤,以了解其工作流程和结构。
- 检索单个步骤的详细信息,以检查接口请求/响应配置、条件和验证。
- 创建新的测试步骤(暂停或请求),以修改或扩展测试工作流程。
> [!NOTE]
> **有关详细的文档,包括使用场景、可用工具、集成点和故障排除,请参阅 [BlazeMeter 接口测试 MCP 服务器文档](https://help.blazemeter.com/docs/guide/integrations-api-monitoring-mcp-server.html)。**
---
## 前提条件
- BlazeMeter 接口监控访问令牌
- 遵守 [Blazemeter 接口监控 AI 同意](https://help.blazemeter.com/docs/guide/api-monitoring-ai-consent.html?Highlight=AI%20consent)
- 兼容的 MCP 主机(VS Code、Claude Desktop、Cursor、Windsurf 等)
- Docker(仅用于基于 Docker 的部署)
- [uv](https://docs.astral.sh/uv/) 和 Python 3.11+(仅用于从源代码分发安装)
## 设置
### **获取 BlazeMeter 接口监控令牌**
按照 [BlazeMeter 接口令牌指南](https://help.blazemeter.com/apidocs/api-monitoring/authentication.htm?tocpath=API%20Monitoring%7CAuthentication%20Process%7C_____0#applications) 获取您的访问令牌。获取访问令牌后,以下是提供给 MCP 客户端的方式:
### **通过环境变量**
您可以通过以下方法之一将 API 令牌提供给 MCP 客户端:
- 将 `BZM_API_TEST_TOKEN` 环境变量直接设置为令牌值。
- 将 `BZM_API_TEST_TOKEN_FILE` 环境变量设置为包含以下内容的 `<file_name>.env` 文件的路径:
```
BZM_API_TEST_TOKEN=your_api_test_token_here
```
### **通过环境文件**
- 在可执行文件/二进制文件所在的目录中创建 `bzm_api_test_token.env` 文件,内容如下:
```
BZM_API_TEST_TOKEN=your_api_test_token_here
```
### **在本地运行服务器** ⚡
目前,我们支持以下在本地运行服务器的方法:
使用 OS 特定 MCP 二进制文件(推荐)
从 [发布页面](https://github.com/Runscope/mcp-bzm-apitest/releases) 下载适用于您操作系统的二进制文件并直接运行。
参见下面的示例设置说明。
使用源代码(推荐用于开发)
您需要安装 Python 3.11+ 和 UV 包管理器。
参见下面的示例设置说明。
使用 Docker
在容器化环境中使用 Docker 运行服务器。
参见下面的示例了解详情。
---
**使用 CLI 工具快速设置** ⚡
配置 MCP 客户端的最简单方法是使用我们的交互式 CLI 工具:
1. **从 [发布页面](https://github.com/Runscope/mcp-bzm-apitest/releases) 下载适用于您操作系统的二进制文件**
> [!NOTE]
> 选择与您的操作系统(Windows、macOS、Linux)匹配的二进制文件
2. **执行或双击二进制文件** 以启动交互式配置工具
3. **工具自动为您生成** JSON 配置文件
> [!IMPORTANT]
> 对于 macOS:您可能会遇到一个安全警报,提示“Apple 无法验证 'mcp-bzm-apitest' 是否无恶意软件。”要解决此问题:
> 1. 进入 **系统设置** → **隐私和安全** → **安全**
> 2. 查找被阻止的应用程序并点击 **“无论如何都允许”**
> 3. 再次尝试运行二进制文件
---
**手动客户端配置(二进制安装)**
1. **从 [发布页面](https://github.com/Runscope/mcp-bzm-apitest/releases) 下载适用于您操作系统的二进制文件**
2. **使用以下设置配置您的 MCP 客户端:**
```json
{
"mcpServers": {
"BlazeMeter 接口测试 MCP": {
"command": "/path/to/mcp-bzm-apitest-binary",
"args": ["--mcp"],
"env": {
"BZM_API_TEST_TOKEN_FILE": "/path/to/your/bzm_api_test_token.env"
}
}
}
}
```
---
**手动客户端配置(从远程源代码)**
1. **前提条件:** [uv](https://docs.astral.sh/uv/) 和 Python 3.11+
2. **使用以下设置配置您的 MCP 客户端:**
```json
{
"mcpServers": {
"BlazeMeter 接口测试 MCP": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/Runscope/mcp-bzm-apitest.git@v1.0.0",
"-q", "mcp-bzm-apitest", "--mcp"
],
"env": {
"BZM_API_TEST_TOKEN_FILE": "/path/to/your/bzm_api_test_token.env"
}
}
}
}
```
> [!NOTE]
> uvx 在临时环境中安装并运行包及其依赖项。
> 您可以更改为任何已发布的版本或任何分支。
> 有关使用的 uv/uvx 参数的更多详细信息,请参阅官方 [uv 文档](https://docs.astral.sh/uv/)。
---
**Docker MCP 客户端配置**
```json
{
"mcpServers": {
"Docker BlazeMeter 接口测试 MCP": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"BZM_API_TEST_TOKEN=your_api_token",
"ghcr.io/blazemeter/mcp-bzm-apitest:latest"
]
}
}
}
```
---
**自定义 CA 证书(企业环境)适用于 Docker**
**何时需要:**
- 您的组织使用自签名证书
- 您位于具有 SSL 检测的企业代理后面
- 您有自定义证书颁发机构(CA)
- 在运行测试时遇到 SSL 证书验证错误
**所需配置:
使用自定义 CA 证书捆绑时,您必须配置以下内容:
1. **证书卷挂载**: 将您的自定义 CA 证书捆绑挂载到容器中
2. **SSL_CERT_FILE 环境变量**: 显式设置 `SSL_CERT_FILE` 环境变量,以指向容器内的证书位置
<details><summary><strong>示例配置</strong></summary>
```json
{
"mcpServers": {
"Docker BlazeMeter 接口测试 MCP": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"SSL_CERT_FILE=/etc/ssl/certs/custom-ca-bundle.crt",
"-e",
"BZM_API_TEST_TOKEN=your_api_token",
"ghcr.io/runscope/mcp-bzm-apitest:latest"
]
}
}
}
```
**替换:**
- `/path/to/your/ca-bundle.crt` 为您的主机系统的 CA 证书文件路径
- 容器路径 `/etc/ssl/certs/custom-ca-bundle.crt` 可以是您喜欢的任何路径(只需确保它与 `SSL_CERT_FILE` 匹配)
> `SSL_CERT_FILE` 环境变量必须设置为指向您的自定义 CA 证书捆绑。`httpx` 库 [自动尊重 `SSL_CERT_FILE` 环境变量](https://www.python-httpx.org/advanced/ssl/#working-with-ssl_cert_file-and-ssl_cert_dir) 以进行 SSL 证书验证。
</details>
---
## 工具
BlazeMeter 接口测试 MCP 服务器提供以下工具与 BlazeMeter 接口测试和监控平台交互:
- `blazemeter_apitest_teams`: 列出 BlazeMeter 账户中的团队,读取团队详细信息,并获取所有团队用户的列表。
- `blazemeter_apitest_buckets`: 列出所有存储桶,读取存储桶详细信息,并创建新存储桶。
- `blazemeter_apitest_tests`: 列出存储桶中的所有接口测试,读取测试详细信息,创建新接口测试,并获取测试指标。
- `blazemeter_apitest_schedules`: 列出测试中的所有调度,读取调度详细信息,并创建新调度。
- `blazemeter_apitest_steps`: 列出测试中的所有步骤,读取测试步骤详细信息,并向测试中添加新的暂停和请求步骤(带有 URL、方法、主体和断言)。
- `blazemeter_apitest_environments`: 列出所有测试环境,并读取测试环境详细信息。
- `blazemeter_apitest_results`: 执行单个测试或所有存储桶级别的测试,列出最近 50 个测试结果,并读取测试结果和存储桶级别的结果详细信息。
## 安全
- 绝不共享 API 令牌
- 建议在 `.env` 文件中使用令牌,而不是直接在环境变量中使用
- 保持 `.env` 文件安全和私有
## 许可证
该项目根据 Apache License, Version 2.0 许可。有关完整条款,请参阅 [LICENSE](./LICENSE)。
---
## 支持
- **MCP 服务器文档:** [BlazeMeter 接口测试 MCP 服务器指南](https://help.blazemeter.com/docs/guide/integrations-api-monitoring-mcp-server.html)
- **API 文档:** [BlazeMeter 接口测试 API 文档](https://help.blazemeter.com/apidocs/api-monitoring/index.htm?tocpath=API%20Monitoring%7C_____1)
- **问题:** [GitHub 问题](https://github.com/Runscope/mcp-bzm-apitest/issues)
- **支持:** 联系 BlazeMeter 支持团队以获取企业协助