测试管理协议服务器

TestRail MCP Server是一个为TestRail集成设计的模型上下文协议服务器,通过MCP工具提供对TestRail测试管理功能的全面访问。

  • by gracexiaowork
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 gracexiaowork/testrail-mcp-server

使用说明

TestRail MCP服务器

用于TestRail集成的模型上下文协议(MCP)服务器,通过MCP工具提供对TestRail测试管理功能的全面访问。

特性

此MCP服务器提供以下工具:

  • 项目:列出并检索TestRail项目
  • 测试用例:创建、读取、更新和删除测试用例
  • 测试运行:管理测试运行(创建、更新、关闭、删除)
  • 测试结果:添加和检索测试结果(单次和批量操作)
  • 章节:按章节组织测试用例

先决条件

  • Node.js 18或更高版本
  • 具有API访问权限的TestRail实例
  • TestRail API密钥(从您的TestRail帐户设置生成)

安装

  1. 克隆或下载此存储库
  2. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 创建一个 .env 使用您的TestRail凭据在项目根目录中创建文件:
cp .env.example .env

编辑 .env 使用您的凭据:

TESTRAIL_URL=https://your-instance.testrail.io
TESTRAIL_USERNAME=your-email@example.com
TESTRAIL_API_KEY=your-api-key

Claude代码的配置

要将此MCP服务器与Claude Code一起使用,请将其添加到MCP设置文件中:

macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "testrail": {
      "command": "node",
      "args": ["/absolute/path/to/testrail-mcp-server/dist/index.js"],
      "env": {
        "TESTRAIL_URL": "https://your-instance.testrail.io",
        "TESTRAIL_USERNAME": "your-email@example.com",
        "TESTRAIL_API_KEY": "your-api-key"
      }
    }
  }
}

或者,如果您更喜欢使用 .env 文件:

{
  "mcpServers": {
    "testrail": {
      "command": "node",
      "args": ["/absolute/path/to/testrail-mcp-server/dist/index.js"]
    }
  }
}

可用工具

项目

  • testrail_get_projects -获取所有项目
  • testrail_get_project -按ID获取特定项目

测试用例

  • testrail_get_cases -从项目中获取测试用例(可选按套件筛选)
  • testrail_get_case -按ID获取特定测试用例
  • testrail_add_case -在节中创建新的测试用例
  • testrail_update_case -更新现有测试用例
  • testrail_delete_case -删除测试用例

测试运行

  • testrail_get_runs -获取项目中的所有测试运行
  • testrail_get_run -按ID获取特定的测试运行
  • testrail_add_run -创建新的测试运行
  • testrail_update_run -更新现有的测试运行
  • testrail_close_run -关闭试运行
  • testrail_delete_run -删除测试运行

测试结果

  • testrail_get_results -获取特定测试的测试结果
  • testrail_get_results_for_case -获取运行中测试用例的测试结果
  • testrail_get_results_for_run -获取试运行的所有测试结果
  • testrail_add_result -为特定测试添加测试结果
  • testrail_add_result_for_case -在测试运行中为案例添加测试结果
  • testrail_add_results -添加多个测试结果(批量操作)
  • testrail_add_results_for_cases -为案例添加多个测试结果(批量操作)

章节

  • testrail_get_sections -从项目中获取部分(可选按套件筛选)
  • testrail_get_section -按ID获取特定部分
  • testrail_add_section -创建新节
  • testrail_update_section -更新现有部分
  • testrail_delete_section -删除一个部分

用法示例

配置后,您可以通过Claude Code使用这些工具。以下是一些示例提示:

获取项目

List all TestRail projects

创建测试用例

Create a new test case in section 123 with title "Test user login" and priority High

添加测试结果

Add a passed test result for test case 456 in run 789 with comment "All checks passed"

创建测试运行

Create a new test run called "Sprint 24 Testing" for project 1

TestRail状态ID

添加测试结果时,使用以下状态ID:

  • 1 -通过
  • 2 -已阻止
  • 3 -未测试(重新测试)
  • 4 -重新测试
  • 5 -失败

TestRail优先级ID

创建或更新测试用例时,请使用以下优先级ID:

  • 1 -低
  • 2 -中等
  • 3 -高
  • 4 -关键

发展

项目结构

testrail-mcp-server/
├── src/
│   ├── index.ts              # Main MCP server implementation
│   └── testrail-client.ts    # TestRail API client
├── dist/                     # Compiled JavaScript output
├── package.json
├── tsconfig.json
├── .env.example
└── README.md

建筑

npm run build

观察变化

npm run watch

本地运行

npm start

故障排除

连接问题

  1. 验证您的TestRail凭据是否正确
  2. 检查您的TestRail实例URL是否可访问
  3. 确保您的API密钥具有必要的权限
  4. 检查克劳德代码日志以获取详细的错误消息

API错误

  • 401未经授权:无效的凭据或API密钥
  • 403禁止:请求的操作权限不足
  • 404未找到:未找到资源(项目、案例、运行等)
  • 429请求太多:超出速率限制,请等待并重试

API 参考

有关TestRail的API的更多详细信息,请参阅 官方TestRail API文档.

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交问题或拉取请求。

安全

永远不要承诺你的 .env 文件或公开您的TestRail API凭据。始终使用环境变量或安全的凭据存储。