内容
# QAForge MCP
世界上首款全方位的 QA 工程 MCP 服务器 — 12 种 QA 工具适用于 Claude Code,全部集中在一个地方。
生成测试用例,运行安全扫描,检测不稳定的测试,比较浏览器,检查可访问性,基准性能等等 — 所有这些都可以通过自然语言,在 Claude 中完成。
## 工具
| # | 工具 | 功能 |
|---|------|---------------|
| 1 | `generate_test_cases` | 从 FRD/Swagger 生成编号的测试用例,附带优先级和覆盖率缺口 |
| 2 | `detect_flaky_tests` | 跨 JUnit XML 运行的统计学不稳定测试检测,AI 根本原因分析 |
| 3 | `generate_security_tests` | OWASP Top 10 Postman 集合 + k6 安全脚本 |
| 4 | `narrate_report` | JUnit/Allure 报告 → 利益相关者准备的叙述,可选 Slack 发布 |
| 5 | `diff_browsers` | 通过 Playwright 进行跨浏览器(Chrome/Firefox/WebKit)比较 |
| 6 | `ai_test_executor` | 对 live URL 执行结构化的测试用例 |
| 7 | `bug_report_generator` | AI 错误报告 + 可选 Jira 工单创建 |
| 8 | `regression_impact_analyzer` | git diff → 受影响的测试区域 + 风险级别 |
| 9 | `accessibility_checker` | 通过 axe-core 进行 WCAG 2.1 审计,AI 修复建议 |
| 10 | `performance_baseline_mcp` | k6 负载测试,P50–P99,基准回归警报 |
| 11 | `environment_health_checker` | 测试前服务健康检查,Slack 警报 |
| 12 | `test_data_generator` | 基于 Faker 的测试数据 + 边缘情况 + 区块链字段 |
## 安装
```bash
pip install qaforge-mcp
playwright install chromium firefox webkit # 浏览器/可访问性工具所需
```
可选安装 [k6](https://k6.io/docs/getting-started/installation/) 以使用性能工具。
## 在 Claude Code 中注册
```bash
claude mcp add --scope user qaforge -e ANTHROPIC_API_KEY=your-key-here -- python -m qaforge_mcp
```
这使得所有 12 种工具在您机器上的每个 Claude Code 会话中都可用。
### 可选集成
将以下任意一个添加到相同的 `-e` 标志(或工作目录旁边的 `.env` 文件)中,以解锁更多功能:
| 变量 | 功能 |
|---|---|
| `ANTHROPIC_API_KEY` | AI 驱动的分析(测试生成、根本原因分类、错误报告) |
| `JIRA_URL`, `JIRA_EMAIL`, `JIRA_TOKEN`, `JIRA_PROJECT_KEY` | 从 `bug_report_generator` 自动创建 Jira 工单 |
| `SLACK_WEBHOOK` | 将测试报告和环境警报发布到 Slack |
工具无需任何配置即可使用 — 依赖 AI 的工具会 fallback 到非 AI 输出,而 Jira/Slack 功能则直接静默。
## 远程连接器(共享、托管部署)
上述默认设置在本地运行服务器(stdio)— 每个用户一个进程。要将 QAForge MCP 公开为 **远程 HTTP 连接器**,让多个用户可以通过单个 URL 添加(例如,在 Claude.ai 设置 → 连接器中),请部署附带的 `Dockerfile`(例如,在 [Render](https://render.com) 上使用 `render.yaml`,或任何 Docker 主机)并设置 `MCP_TRANSPORT=http`。
在此模式下,服务器 **不** 使用共享的 `ANTHROPIC_API_KEY` — 每个调用者必须在 `X-Anthropic-Api-Key` 请求头中发送自己的密钥,以免调用者的使用被计入操作员的账户。本地 stdio 模式不受影响,继续使用 `ANTHROPIC_API_KEY` 环境变量。
```bash
docker build -t qaforge-mcp .
docker run -p 8000:8000 -e MCP_TRANSPORT=http qaforge-mcp
```
然后在 Claude 中添加一个自定义连接器,指向 `https://<your-host>/mcp`,并设置头部 `X-Anthropic-Api-Key: <your-own-key>`。
**注意:** Docker 镜像仅安装 Chromium Playwright 浏览器,以保持镜像精简,适用于免费托管层 — `diff_browsers` 将在托管部署中报告 Firefox/WebKit 为失败。在本地运行(上述 `pip install` 路径)以进行完整的跨浏览器比较。
## 要求
- Python 3.11+
- [Playwright](https://playwright.dev/) 浏览器用于 `diff_browsers`、`accessibility_checker`、`ai_test_executor`
- [k6](https://k6.io/) 用于 `performance_baseline_mcp` 和安全 k6 脚本
## 许可证
MIT