
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ReportPortal MCP Server是ReportPortal实例与AI聊天助手(如Claude Desktop、GitHub Copilot、Cursor)之间的桥梁。简单来说,它允许你用自然英语提问有关测试运行的问题,并直接从ReportPortal获取答案。它遵循官方MCP指南。
例如,无需登录ReportPortal UI,你可以向AI助手询问“上次运行中有哪些测试失败?”或“列出最近5次测试运行”,它将从ReportPortal获取相关信息。这使QA测试人员和管理人员能够使用自然语言查询测试结果,加快分析和报告速度。
有两种方式运行ReportPortal MCP Server的最新版本,每种方式都适用于任何LLM提供商。
MCP服务器可在ReportPortal官方https://hub.docker.com/r/reportportal/mcp-server%E8%8E%B7%E5%8F%96%E3%80%82
配置:
json{ "reportportal": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "RP_API_TOKEN", "-e", "RP_HOST", "-e", "RP_PROJECT", "reportportal/mcp-server" ], "env": { "RP_API_TOKEN": "your-api-token", "RP_HOST": "https://your-reportportal-instance.com", "RP_PROJECT": "YourProjectInReportPortal" } } }
可从GitHub上的官方发布页面https://github.com/reportportal/reportportal-mcp-server/releases%E4%B8%8B%E8%BD%BD%E9%80%82%E7%94%A8%E4%BA%8E%E4%B8%8D%E5%90%8C%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84%E9%A2%84%E7%BC%96%E8%AF%91%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E3%80%82
配置:
json{ "reportportal": { "command": "/path/to/reportportal-mcp-server-binary", "args": ["stdio"], "env": { "RP_API_TOKEN": "your-api-token", "RP_HOST": "https://your-reportportal-instance.com", "RP_PROJECT": "YourProjectInReportPortal" } } }
选择你喜欢的AI工具进行连接。
json{ "mcpServers": { "reportportal": { // 选择上述Docker或二进制配置 } } }
bashclaude mcp add-json reportportal '{"command": "docker", "args": ["run", "-i", "--rm", "-e", "RP_API_TOKEN", "-e", "RP_HOST", "-e", "RP_PROJECT", "reportportal/mcp-server"], "env": {"RP_API_TOKEN": "your-api-token", "RP_HOST": "https://your-reportportal-instance.com", "RP_PROJECT": "YourProjectInReportPortal"}}'
配置选项:
-s user将服务器添加到用户配置(所有项目可用)。-s project将服务器添加到项目特定配置(通过.mcp.json共享)。local(仅当前项目中对你可用)。文档:Claude Code指南。
直接点击
, description(描述), owner(所有者), number(编号), start_time(开始时间), end_time(结束时间), attributes(属性), sort(排序), page(页码), page-size(页大小)(均为可选) |
| Get Last Launch by Name | 通过名称检索最近的测试运行 | name(名称) |
| Run Auto Analysis | 对测试运行执行自动分析 | launch_id(测试运行ID), analyzer_mode(分析器模式), analyzer_type(分析器类型), analyzer_item_modes(分析器项模式) |
| Run Unique Error Analysis | 对测试运行执行唯一错误分析 | launch_id(测试运行ID), remove_numbers(移除数字) |
| Force Finish Launch | 强制结束测试运行 | launch_id(测试运行ID) |
| Delete Launch | 删除特定测试运行 | launch_id(测试运行ID) |
| Get Suites by filter | 列出特定测试运行的测试套件 | launch-id(测试运行ID,必填), name(名称), description(描述), start_time_from(开始时间从), start_time_to(开始时间到), attributes(属性), parent_id(父ID), sort(排序), page(页码), page-size(页大小)(均为可选) |
| Get Test Items by filter | 列出特定测试运行的测试项 | launch-id(测试运行ID,必填), name(名称), description(描述), status(状态), has_retries(有重试), start_time_from(开始时间从), start_time_to(开始时间到), attributes(属性), parent_id(父ID), defect_comment(缺陷注释), auto_analyzed(自动分析), ignored_in_aa(在AA中忽略), pattern_name(模式名称), ticket_id(工单ID), sort(排序), page(页码), page-size(页大小)(均为可选) |
| Get Logs by filter | 列出特定测试项或嵌套步骤的日志 | parent-id(父ID,必填), log_level(日志级别), log_content(日志内容), logs_with_attachments(带附件的日志), status(状态), sort(排序), page(页码), page-size(页大小)(均为可选) |
| Get Attachment by ID | 通过ID检索附件二进制文件 | attachment_id(附件ID) |
| Get Test Item by ID | 检索特定测试项的详情 | test_item_id(测试项ID) |
分析测试运行
分析ReportPortal测试运行,提供有关测试结果、失败和统计数据的详细信息。
参数:
launch_id:要分析的测试运行ID你可以参考https://github.com/reportportal/reportportal-mcp-server/blob/main/internal/reportportal/prompts/launch.yaml%E6%9D%A5%E7%BC%96%E5%86%99%E8%87%AA%E5%B7%B1%E7%9A%84%E6%8F%90%E7%A4%BA%E8%AF%8D%E3%80%82
以下是设置后你可能会向AI提问的一些实际示例(助手的响应将来自ReportPortal数据):
上述每个查询都对应MCP服务器提供的“工具”,但你只需自然表达。AI将在后台调用正确的命令。这些功能使你能够通过简单的聊天交互以多种方式查询和管理测试报告。
bash# 克隆仓库 git clone https://github.com/reportportal/reportportal-mcp-server.git cd reportportal-mcp-server # 构建二进制文件 go build -o reportportal-mcp-server ./cmd/reportportal-mcp-server
这将创建名为reportportal-mcp-server的可执行文件。
服务器需要知道ReportPortal的位置和身份验证方式。在shell中设置以下环境变量:
| 变量 | 描述 | 是否必填 |
|---|---|---|
RP_HOST | ReportPortal的URL(例如 [***] | 是 |
RP_PROJECT | ReportPortal中的默认项目名称 | 否 |
RP_API_TOKEN | ReportPortal API令牌(用于访问) | 是 |
MCP_PORT | MCP服务器端口 | 4389 |
例如:
bashexport RP_HOST="https://your-reportportal-instance.com" export RP_PROJECT="YourProjectInReportPortal" export RP_API_TOKEN="your-api-token"
配置上述环境变量后,只需运行:
bash./reportportal-mcp-server
这将在配置的端口上启动MCP服务器。
运行后,MCP服务器准备接受来自AI工具的查询。
要设置开发环境或贡献代码:
安装Go Task v3:
bashgo install github.com/go-task/task/v3/cmd/task@latest
运行task deps安装Go依赖项:
bashtask deps
bashtask build
bashtask test
bashtask docker:build
https://github.com/modelcontextprotocol/inspector%E5%B7%A5%E5%85%B7%E9%80%82%E7%94%A8%E4%BA%8E%E6%9C%AC%E5%9C%B0%E6%B5%8B%E8%AF%95%E5%92%8C%E8%B0%83%E8%AF%95MCP%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9A
bashnpx @modelcontextprotocol/inspector docker run -i --rm -e "RP_API_TOKEN=$RP_API_TOKEN" -e "RP_PROJECT=$RP_PROJECT" -e "RP_HOST=$RP_HOST" reportportal-mcp-server
或者,你可以使用Task命令:
bash# 针对本地服务器运行inspector task inspector
bash# 代码检查 task lint # 代码格式化 task fmt
添加新工具
要添加新工具,请在相应的资源文件中创建新方法,并在NewServer函数中将其添加到服务器:
go// 在资源文件中(例如launches.go) func (lr *LaunchResources) toolNewFeature() (tool mcp.Tool, handler server.ToolHandlerFunc) { // 实现你的工具 } // 在server.go中 func NewServer(...) *server.MCPServer { // ... s.AddTool(launches.toolNewFeature()) // ... }
添加新提示词
要添加新提示词,只需创建描述提示词的YAML文件,并将其放在项目根目录的prompts文件夹中。服务器在启动时会自动从该目录读取并初始化所有提示词——无需代码更改。
示例:
my_custom_prompt.yaml),放在prompts文件夹中。这种方法允许你快速扩展服务器的功能,添加自定义提示词,而无需修改代码库。
本项目采用Apache 2.0许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务