测试管理服务器

Allure TestOps MCP 是一个生产就绪的测试管理服务器,专注于测试用例、测试启动、测试结果和测试计划的管理。

  • by armanayvazyan
  • TypeScript
  • 本地部署
  • 21 星标
  • 更新于
在 GitHub 查看 armanayvazyan/allure-testops-mcp

使用说明

Allure TestOps MCP

Allure TestOps的生产就绪MCP服务器专注于测试用例、发布、测试结果和测试计划。

特性

  • 来自用户API令牌的JWT承载身份验证交换,具有内存缓存和到期刷新功能。
  • 项目感知工具,可选默认项目通过 ALLURE_PROJECT_ID.
  • 项目决议 projectId 或 projectName 用于项目范围的操作。
  • 测试用例自定义字段支持,包括查找和更新。
  • stdio 本地MCP客户端的传输(npx 或本地建造)。

工具覆盖范围

  • 测试用例:列表、搜索、获取、创建、更新、删除、还原、概述、历史、场景、标签、问题、自定义字段
  • 启动:列表、搜索、获取、创建、更新、删除、关闭、重新打开、统计、进度、添加测试用例/计划
  • 测试结果:列表、搜索、获取、创建、更新、历史记录、分配、解析
  • 测试计划:列表、获取、创建、更新、删除、运行

用户使用文档

以用户为中心的运行时和集成文档位于 docs/usages/:

工具目录(GitHub页面)

自动生成的MCP工具目录通过GitHub Pages发布:

  • https://armanayvazyan.github.io/allure-testops-mcp/

页面内容由源工具定义生成。当添加新工具时 src/tools/*.ts,页面工作流重新生成 docs/tools.json 并自动更新网站。

认证

此服务器遵循诱惑测试操作API指南:

  1. 在中使用用户生成的API令牌 ALLURE_TOKEN.
  2. 服务器在以下位置进行交换 /api/uaa/oauth/token.
  3. 接收到的承载JWT被缓存并重复使用,直到接近到期。

参考:https://docs.qameta.io/allure-testops/advanced/api/

环境变量

ALLURE_TESTOPS_URL=https://allure-testops.instance.com/
ALLURE_TOKEN=your-api-token
# Optional default project:
# ALLURE_PROJECT_ID=37
  • ALLURE_TESTOPS_URL 必需的
  • ALLURE_TOKEN 必需的
  • ALLURE_PROJECT_ID 可选的

如果 ALLURE_PROJECT_ID 如果未设置,则需要项目范围的工具必须接收:

  • projectId,或
  • projectName (通过解决 /api/project/suggest)

在本地运行

先决条件

  • Node.js v18+和npm

一步一步

  1. 克隆存储库:
git clone https://github.com/armanayvazyan/allure-testops-mcp.git
cd allure-testops-mcp
  1. 安装依赖项:

此服务器遵循诱惑测试操作API指南:

  1. 在中使用用户生成的API令牌 ALLURE_TOKEN.
  2. 服务器在以下位置进行交换 /api/uaa/oauth/token.
  3. 接收到的承载JWT被缓存并重复使用,直到接近到期。

参考:https://docs.qameta.io/allure-testops/advanced/api/

  1. 根据示例创建本地环境文件并填写所需值:
cp .env.example .env

设置:

  • ALLURE_TESTOPS_URL (必填)
  • ALLURE_TOKEN (必填)
  • ALLURE_PROJECT_ID (可选默认项目)
  1. 构建项目:
npm run build
  1. 从编译的输出启动MCP服务器:
npm start
  1. 可选:在开发模式下运行(TypeScript通过 tsx):
npm run dev
  1. 可选:运行集成烟雾检查:
npm run test:integration

MCP客户端设置

使用以下服务器命令之一:

  • 本地构建:
    • command: node
    • args: ["/absolute/path/to/allure-testops-mcp/dist/index.js"]
  • npx (GitHub规范):
    • command: npx
    • args: ["-y", "github:armanayvazyan/allure-testops-mcp#v1.0.0"]
  • npx (npm包,发布时):
    • command: npx
    • args: ["-y", "allure-testops-mcp@1.0.0"]
  • GitHub版本固定使用 # 带有标签/提交(例如 #v1.0.0). 通用配置块:
{
  "mcpServers": {
    "allure-testops": {
      "command": "npx",
      "args": ["-y", "github:armanayvazyan/allure-testops-mcp#v1.0.0"],
      "env": {
        "ALLURE_TESTOPS_URL": "https://allure-testops.instance.com",
        "ALLURE_TOKEN": "your-api-token",
        "ALLURE_PROJECT_ID": "37"
      }
    }
  }
}

克劳德桌面版

  • 打开Claude Desktop MCP设置并添加 mcpServers 上面的JSON条目。
  • 保存配置后重新启动Claude Desktop。

克劳德代码

  • 添加相同内容 mcpServers 在Claude Code MCP配置中输入。
  • 重新启动Claude Code会话以加载服务器。

光标

  • 打开光标MCP设置并添加相同的设置 mcpServers 进入。
  • 保存后重新启动Cursor(或重新加载MCP服务器)。

其他MCP客户端

任何支持以下功能的MCP客户端 stdio 服务器可以使用相同的命令/env配置来使用此项目。

CI和质量门

此存储库包括推送代码和拉取请求的GitHub Actions检查:

  • 编译(npm run build)
  • 棉绒(npm run lint)

CI工作流程: .github/workflows/ci.yml

审核和合并策略

存储库使用代码所有权 @armanayvazyan:

要在合并前要求批准,请使用以下命令在默认分支上启用分支保护:

  1. 合并前需要拉取请求
  2. 需要批准
  3. 需要代码所有者的审查
  4. 要求通过状态检查(CI / checks)

OSS自动化

包括典型开源维护的自动化:

集成烟雾测试

ALLURE_TESTOPS_URL="https://allure-testops.instance.com/" \
ALLURE_TOKEN="your-api-token" \
ALLURE_PROJECT_ID="37" \
npm run test:integration

公共项目文档