使用说明
TestRail MCP服务器
用于TestRail集成的模型上下文协议(MCP)服务器,通过MCP工具提供对TestRail测试管理功能的全面访问。
特性
此MCP服务器提供以下工具:
- 项目:列出并检索TestRail项目
- 测试用例:创建、读取、更新和删除测试用例
- 测试运行:管理测试运行(创建、更新、关闭、删除)
- 测试结果:添加和检索测试结果(单次和批量操作)
- 章节:按章节组织测试用例
先决条件
- Node.js 18或更高版本
- 具有API访问权限的TestRail实例
- TestRail API密钥(从您的TestRail帐户设置生成)
安装
- 克隆或下载此存储库
- 安装依赖项:
npm install
- 构建项目:
npm run build
- 创建一个
.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
故障排除
连接问题
- 验证您的TestRail凭据是否正确
- 检查您的TestRail实例URL是否可访问
- 确保您的API密钥具有必要的权限
- 检查克劳德代码日志以获取详细的错误消息
API错误
- 401未经授权:无效的凭据或API密钥
- 403禁止:请求的操作权限不足
- 404未找到:未找到资源(项目、案例、运行等)
- 429请求太多:超出速率限制,请等待并重试
API 参考
有关TestRail的API的更多详细信息,请参阅 官方TestRail API文档.
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交问题或拉取请求。
安全
永远不要承诺你的 .env 文件或公开您的TestRail API凭据。始终使用环境变量或安全的凭据存储。