项目简介

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交互模式和业务需求。

安装步骤

  1. 克隆项目:
    git clone https://github.com/skindyk/testrail-mcp-server.git
    cd testrail-mcp-server
  2. 安装依赖:
    npm install
  3. 构建项目:
    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。

信息

分类

开发者工具