项目简介
TestRail MCP 服务是一个基于Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端提供与TestRail测试管理系统的深度集成。它将TestRail的API功能封装为可供LLM调用的工具,并支持自定义Prompt模板,使LLM能够以自然语言理解和执行复杂的测试管理任务,如创建测试用例、管理测试运行、关闭测试计划等。
主要功能点
- 自然语言交互: 允许用户通过对话式指令与TestRail进行交互,简化测试管理操作。
- 全面API覆盖: 提供了100多个工具,覆盖TestRail的全部API端点,以及定制的批量操作工具,例如批量关闭测试运行和测试计划。
- 文件上传支持: 完整支持上传附件到测试用例、测试结果、测试计划和测试运行,方便提供额外上下文和证据。
- 高级功能集成: 支持TestRail的企业版特性,包括BDD(行为驱动开发)、附件、共享步骤和数据集。
- 动态字段过滤: 在获取大量测试用例时,能够根据需求筛选字段,显著减少响应数据大小(可达80-95%),优化性能。
- 灵活的工具控制: 可以通过环境变量 'MCP_TOOLS' 限制LLM可访问的工具,增强安全性和控制力。
- 自定义Prompt: 除了内置的Prompt,用户可以创建和管理自己的Prompt模板,以适应特定的LLM交互模式和业务需求。
安装步骤
- 克隆项目:
git clone https://github.com/skindyk/testrail-mcp-server.git cd testrail-mcp-server - 安装依赖:
npm install - 构建项目:
npm run build
服务器配置 (MCP客户端配置示例)
MCP客户端需要配置服务器的启动信息,以便与之建立连接。以下是典型的JSON配置示例,你需要将其添加到MCP客户端的配置文件中:
Windows 客户端配置
{ "servers": { "testrail": { "command": "node", "args": ["C:\\path\\to\\your\\testrail-mcp-server\\wrapper.cjs"], "env": { "TESTRAIL_URL": "https://your-testrail-instance.testrail.io", "TESTRAIL_USERNAME": "[email protected]", "TESTRAIL_PASSWORD": "your-api-key-or-password" } } } }
- '"testrail"': MCP服务器的名称,可以自定义。
- '"command"': 启动服务器的执行命令,此处为 'node'。
- '"args"': 传递给 'node' 命令的参数数组,其中第一个参数是服务器的入口脚本 'wrapper.cjs' 的绝对路径。请务必将 'C:\path\to\your\testrail-mcp-server\wrapper.cjs' 替换为你的实际路径。
- '"env"': 环境变量对象,用于配置TestRail API的认证信息。
- '"TESTRAIL_URL"': 你的TestRail实例的完整URL(例如 'https://your-instance.testrail.io')。
- '"TESTRAIL_USERNAME"': 你的TestRail账户用户名(通常是邮箱地址)。
- '"TESTRAIL_PASSWORD"': 你的TestRail API Key或账户密码。
macOS/Linux 客户端配置
{ "servers": { "testrail": { "command": "node", "args": ["/path/to/your/testrail-mcp-server/wrapper.cjs"], "env": { "TESTRAIL_URL": "https://your-testrail-instance.testrail.io", "TESTRAIL_USERNAME": "[email protected]", "TESTRAIL_PASSWORD": "your-api-key-or-password" } } } }
- 'command', 'args', 'env' 的含义与Windows配置相同,请根据你的系统替换 '/path/to/your/testrail-mcp-server/wrapper.cjs' 的绝对路径。
基本使用方法
配置好MCP客户端后,MCP服务器将通过 'stdio'(标准输入输出)模式自动启动。如果需要远程部署或使用HTTP客户端,可以通过设置环境变量 'MCP_TRANSPORT=http' 来启用HTTP模式。
通过Stdio模式启动 (本地) 在项目根目录运行:
npm run start:stdio
这将启动服务器并等待MCP客户端通过标准输入输出进行通信。在大多数桌面LLM客户端(如Claude Desktop)中,只需配置好上述JSON,客户端就会自动启动该服务器。
通过HTTP模式启动 (远程/Docker) 在项目根目录设置环境变量后运行:
MCP_TRANSPORT=http npm start
默认情况下,服务器将在 'http://0.0.0.0:8080' 监听。你可以通过设置 'MCP_HTTP_PORT' 和 'MCP_HTTP_HOST' 环境变量进行修改。HTTP模式提供了 'POST /mcp' 用于JSON-RPC通信,以及 'GET /health' 和 'GET /health/ready' 健康检查端点。
服务器启动后,你的MCP客户端即可通过其提供的工具和Prompt与TestRail进行交互。LLM可以列出可用工具,调用工具执行TestRail操作,或请求渲染预设的Prompt模板以获取特定格式的上下文信息。
创建自定义Prompt 服务器支持用户自定义Prompt。你可以运行以下脚本来创建自己的Prompt:
node scripts/create-user-prompt.js
该脚本会引导你输入Prompt名称、描述、参数和模板内容,并将创建的Prompt保存到 'prompts/' 目录中。服务器重启后即可使用新的Prompt。
信息
分类
开发者工具