TestRail MCP服务
一个模型上下文协议(MCP)服务器,允许通过与MCP客户端(如Claude Desktop)兼容的标准协议与TestRail的核心实体(项目、用例、运行、结果、数据集)进行交互。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"testrail": {
"args": [
"testrail-mcp"
],
"command": "uvx",
"env": {
"TESTRAIL_API_KEY": "your-api-key",
"TESTRAIL_URL": "https://your-instance.testrail.io",
"TESTRAIL_USERNAME": "your-email@example.com"
}
}
}
}
可用工具 (23 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
get_project 1 个参数 需填 1 项
Get a project by ID
必填参数:project_id
get_projects
Get all projects
该工具无需必填参数,直接调用即可
add_project 4 个参数 需填 1 项
Add a new project
必填参数:name
update_project 5 个参数 需填 1 项
Update an existing project
必填参数:project_id
delete_project 1 个参数 需填 1 项
Delete a project
必填参数:project_id
get_case 1 个参数 需填 1 项
Get a test case by ID
必填参数:case_id
get_cases 2 个参数 需填 1 项
Get all test cases for a project/suite
必填参数:project_id
add_case 9 个参数 需填 2 项
Add a new test case
必填参数:section_id、title
update_case 9 个参数 需填 1 项
Update an existing test case
必填参数:case_id
delete_case 1 个参数 需填 1 项
Delete a test case
必填参数:case_id
get_run 1 个参数 需填 1 项
Get a test run by ID
必填参数:run_id
get_runs 1 个参数 需填 1 项
Get all test runs for a project
必填参数:project_id
add_run 8 个参数 需填 3 项
Add a new test run
必填参数:project_id、suite_id、name
update_run 7 个参数 需填 1 项
Update an existing test run
必填参数:run_id
close_run 1 个参数 需填 1 项
Close an existing test run
必填参数:run_id
delete_run 1 个参数 需填 1 项
Delete a test run
必填参数:run_id
get_results 1 个参数 需填 1 项
Get all test results for a test
必填参数:test_id
add_result 7 个参数 需填 2 项
Add a new test result
必填参数:test_id、status_id
get_dataset 1 个参数 需填 1 项
Get a dataset by ID
必填参数:dataset_id
get_datasets 1 个参数 需填 1 项
Get all datasets for a project
必填参数:project_id
add_dataset 3 个参数 需填 2 项
Add a new dataset
必填参数:project_id、name
update_dataset 3 个参数 需填 1 项
Update an existing dataset
必填参数:dataset_id
delete_dataset 1 个参数 需填 1 项
Delete a dataset
必填参数:dataset_id
服务介绍
TestRail MCP 服务器
一个用于 TestRail 的 Model Context Protocol (MCP) 服务器,允许通过标准化协议与 TestRail 的核心实体进行交互。
功能
- 通过 TestRail API 进行身份验证
- 访问 TestRail 实体:
- 项目
- 用例
- 运行
- 结果
- 数据集
- 完全支持 Model Context Protocol
- 兼容任何 MCP 客户端(如 Claude Desktop、Cursor、Winsurf 等)
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 testrail-mcp:
npx -y @smithery/cli install @sker65/testrail-mcp --client claude
手动安装
-
克隆此仓库:
git clone https://github.com/yourusername/testrail-mcp.git cd testrail-mcp -
创建并激活虚拟环境:
python -m venv .venv source .venv/bin/activate # 在 Windows 上: .venv\Scripts\activate -
安装依赖项:
pip install -e .
配置
TestRail MCP 服务器需要特定的环境变量来与您的 TestRail 实例进行身份验证。在运行服务器之前必须设置这些变量。
-
在项目的根目录中创建一个
.env文件:TESTRAIL_URL=https://your-instance.testrail.io TESTRAIL_USERNAME=your-email@example.com TESTRAIL_API_KEY=your-api-key重要提示:
TESTRAIL_URL应该是您 TestRail 实例的完整 URL(例如https://example.testrail.io)TESTRAIL_USERNAME是您用于登录的 TestRail 电子邮件地址TESTRAIL_API_KEY是您的 TestRail API 密钥(不是您的密码)- 要生成 API 密钥,请登录到 TestRail,转到 "我的设置" > "API 密钥" 并创建一个新的密钥
-
验证配置是否正确加载:
uvx testrail-mcp --config这将显示您的 TestRail 配置信息,包括您的 URL、用户名以及 API 密钥的前几个字符以供验证。
如果您使用的是像 Claude Desktop 或 Cursor 这样的客户端,请确保环境变量对运行服务器的进程是可访问的。您可能需要在系统环境中设置这些变量,或确保它们从 .env 文件中加载。
使用
运行服务器
可以直接使用已安装的脚本来运行服务器:
uvx testrail-mcp
这将以 stdio 模式启动 MCP 服务器,可以与支持 stdio 通信的 MCP 客户端一起使用。
与 MCP 客户端一起使用
Claude Desktop
在 Claude Desktop 中,添加一个新的服务器,配置如下:
{
"mcpServers": {
"testrail": {
"command": "uvx",
"args": [
"testrail-mcp"
],
"env": {
"TESTRAIL_URL": "https://your-instance.testrail.io",
"TESTRAIL_USERNAME": "your-email@example.com",
"TESTRAIL_API_KEY": "your-api-key"
}
}
}
}
Cursor
在 Cursor 中,添加一个新的自定义工具,配置如下:
{
"name": "TestRail MCP",
"command": "uvx",
"args": [
"testrail-mcp"
],
"communication": "stdio",
"env": {
"TESTRAIL_URL": "https://your-instance.testrail.io",
"TESTRAIL_USERNAME": "your-email@example.com",
"TESTRAIL_API_KEY": "your-api-key"
}
}
Winsurf
在 Winsurf 中,添加一个新的工具,配置如下:
{
"name": "TestRail MCP",
"command": "uvx",
"args": [
"testrail-mcp"
],
"protocol": "mcp",
"env": {
"TESTRAIL_URL": "https://your-instance.testrail.io",
"TESTRAIL_USERNAME": "your-email@example.com",
"TESTRAIL_API_KEY": "your-api-key"
}
}
使用 MCP Inspector 测试
为了测试和调试,您可以使用 MCP Inspector:
npx @modelcontextprotocol/inspector \
-e TESTRAIL_URL=<your-url> \
-e TESTRAIL_USERNAME=<your-username> \
-e TESTRAIL_API_KEY=<your-api-key> \
uvx testrail-mcp
这将打开一个网页界面,您可以在其中探索和测试所有可用的工具和资源。
开发
此服务器使用以下技术构建:
- FastMCP - 一个用于构建MCP服务器的Python框架
- Requests - 用于与TestRail API进行HTTP通信
- python-dotenv - 用于环境变量管理
许可证
MIT