Token导航 LogoToken导航TokenDH.com
Report Portal MCP Server logo
AI代理stdio官方级别未说明来源级核验

Report Portal MCP Server

MCP Server

一个MCP服务器,使AI助手能够与Report Portal交互,提供测试执行数据查询、分析测试失败、生成洞察、管理仪表板和导出报告等功能。

工具数

25

提示词数

0

GitHub Stars

1

资源数

0
测试自动化报告生成PythonClaude数据分析Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Demostenes777

提供方

Demostenes777

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run main.py

详细介绍

报告门户MCP服务器

A. 模型上下文协议(MCP) 使AI助手能够与之交互的服务器 报告门户,一个全面的测试自动化结果聚合和分析平台。

概述

此MCP服务器为AI助手提供了以下能力:

  • 查询测试执行数据 -访问启动、测试项、日志和执行历史记录
  • 分析测试失败 -搜索错误模式,执行根本原因分析,并跟踪片状测试
  • 产生见解 -创建每周/每两周的总结和趋势分析
  • 管理仪表板 -检索仪表板配置、小部件和过滤器
  • 导出报告 -将分析报告作为谷歌文档发布到谷歌云端硬盘

主要特点

  • API全面覆盖:完全访问报告门户的启动、测试项、日志、仪表板、小部件、过滤器和项目API
  • 智能提示:用于根本原因分析(RCA)、每周和每两周总结的内置提示
  • Google Drive集成:可选集成,用于将降价报告导出为格式化的谷歌文档
  • 柔性运输:支持stdio、SSE、HTTP和可流式传输的HTTP
  • 有条件的工具注册:工具会根据可用凭据自动启用/禁用
  • 生产就绪:全面的测试套件、代码质量检查和适当的错误处理

目录

快速开始

# 1. Clone and setup
git clone https://github.com/Demostenes777/report-portal-mcp-server.git
cd report-portal-mcp-server
uv sync && source .venv/bin/activate

# 2. Configure credentials
cp env.example .env
# Edit .env with your Report Portal credentials

# 3. Run the server
uv run main.py

# 4. Run tests
uv run pytest -v -m "not integration"

先决条件

  • Python 3.12+
  • 紫外线 包管理器
  • 具有API访问权限的报表门户实例
  • (可选)为Google Drive功能启用Drive API的Google Cloud项目

设置

uv sync && source .venv/bin/activate

配置

复制 env.example.env 并填写您的凭据:

cp env.example .env

报告门户(RP工具所需)

RP_URL=https://your-reportportal-instance.com
RP_API_TOKEN=your_api_token_here
RP_PROJECT=your_project_name

从以下位置获取API令牌:报表门户->用户配置文件->API密钥。

谷歌云端硬盘(可选)

GOOGLE_CREDENTIALS_PATH=/path/to/credentials.json
GOOGLE_TOKEN_PATH=/path/to/token.json

Google云端硬盘设置 以下为详细说明。

MCP客户端配置

克劳德桌面

将此添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "report-portal": {
      "command": "uv",
      "args": ["run", "main.py"],
      "cwd": "/absolute/path/to/report-portal-mcp-server",
      "env": {
        "RP_URL": "https://your-reportportal-instance.com",
        "RP_API_TOKEN": "your_api_token",
        "RP_PROJECT": "your_project",
        "RP_VERIFY_SSL": "false"
      }
    }
  }
}

游标/其他MCP客户端

配置服务器,使stdio传输指向 uv run main.py 在这个目录中。

跑步

# stdio transport (default, for MCP clients like Cursor/Claude Desktop)
uv run main.py

# SSE transport (for web-based clients)
MCP_TRANSPORT=sse uv run main.py

# HTTP transport on custom port
MCP_TRANSPORT=http MCP_PORT=9000 uv run main.py

环境变量

变量默认值描述
RP_URL-报表门户实例URL
RP_API_TOKEN-报表门户API令牌
RP_PROJECT-报告门户项目名称
RP_VERIFY_SSLfalseSSL证书验证(true 对于CA签名的证书)
GOOGLE_CREDENTIALS_PATH-谷歌OAuth2证书JSON路径
GOOGLE_TOKEN_PATH-存储/加载OAuth2令牌的路径
MCP_TRANSPORTstdio运输: stdio, sse, http, streamable-http
MCP_HOST127.0.0.1SSE/HTTP传输主机
MCP_PORT8000SSE/HTTP传输端口

可用工具

服务器提供了一套按功能组织的全面工具。工具根据可用凭据有条件地注册。

报告门户工具

需求: RP_URL, RP_API_TOKEN,以及 RP_PROJECT 必须进行配置。

这些工具提供了对Report Portal的REST API v1的完全访问,并提供了正确的身份验证、分页和过滤支持。

启动工具

启动代表测试执行运行。这些工具支持按状态、名称、属性和日期范围进行高级筛选。

工具说明关键参数
list_launches列表启动时带有过滤和分页功能filter_eq_status, filter_eq_name, filter_gte_start_time, page_size
get_launch通过数字ID获取发布详细信息launch_id
get_launch_by_uuid通过UUID获取启动详细信息uuid
get_launch_attribute_keys获取用于筛选的可用属性键-
get_launch_attribute_values获取特定键的属性值key

测试项目工具

测试项表示启动中的单个测试用例、套件或步骤。

工具说明关键参数
list_test_items列出具有过滤和分页功能的测试项filter_eq_launch_id, filter_eq_status, filter_eq_type, page_size
get_test_item通过数字ID获取测试项目详细信息item_id
get_test_item_history获取跨发布的测试项执行历史记录item_id, history_depth

日志工具

日志包含详细的测试执行输出、错误消息和堆栈跟踪。

工具说明关键参数
get_logs通过过滤和分页获取日志filter_eq_item_id, filter_eq_log_level, page_size
get_log_by_uuid通过UUID获取特定的日志条目uuid
search_similar_errors在不同的发布中搜索类似的错误模式error_message, similarity_threshold

仪表板、小部件和筛选工具

工具说明
list_dashboards列出仪表板
get_dashboard获取仪表板详细信息,包括小部件
get_widget获取小部件详细信息和内容数据
list_filters列出已保存的筛选器
get_filter获取过滤器详细信息和条件

项目工具

工具说明
list_projects列出可访问的项目
get_project获取项目详细信息

谷歌云端硬盘工具

需求:两者都有 GOOGLE_CREDENTIALS_PATHGOOGLE_TOKEN_PATH 必须进行配置。

将报告门户分析导出到专业格式的Google文档,支持表格、标题和标记格式。

工具说明关键参数
create_google_doc_from_markdown从markdown内容创建Google文档title, content, folder_idfolder_name
create_google_doc_from_file从本地markdown文件创建Google文档file_path, title, folder_idfolder_name
convert_report_to_google_doc将RP分析报告转换为Google文档report_path, title, folder_name
list_google_docs在您的驱动器中列出Google文档query, max_results
find_folder_by_name在驱动器或共享驱动器中按名称查找文件夹folder_name, include_shared_drives

日期工具

需求:无-始终可用。

用于筛选和报告生成中的日期/时间计算的实用工具。

工具描述返回
today获取UTCISO 8601日期字符串(YYYY-MM-DD)中的今天日期
now获取UTCISO 8601日期时间字符串中的当前日期和时间(YYYY-MM-DTHH:MM:SS.sssZ)

提示

服务器包括三个用于常见分析工作流的内置提示:

提示说明用法
rca失败启动的根本原因分析说明分析失败的测试、错误日志和历史记录,以确定根本原因
weekly每周发布分析摘要提供通过率、故障模式和建议
biweekly双周发布分析,包括趋势比较每周趋势、片状测试检测和异常分析

所有提示都会生成结构化的降价报告,并保存到 /tmp/rp/.

使用示例

根本原因分析

问你的AI助手:

Perform an RCA on launch 12345

助理将:

  1. 检索发布详细信息和统计数据
  2. 识别所有未通过的测试项目
  3. 分析模式的错误日志
  4. 搜索其他发布中的类似错误
  5. 检查测试历史记录,以确定新故障与重复故障
  6. 生成一份包含建议的综合报告

每周总结

Generate a weekly summary for project my-project

这分析了过去7天的发射情况,并提供了:

  • 总发射次数和通过/失败细分
  • 总体通过率
  • 最常见的三种故障模式
  • 经常失败的测试
  • 可采取行动的建议

查询特定数据

List all failed launches from the last 3 days
Show me the error logs for test item 67890
Find similar errors to "NullPointerException in UserService"

Google Drive导出

Convert the RCA report for launch 12345 to a Google Doc in the "Test Reports" folder

Google云端硬盘设置

1.创建谷歌云项目

  1. 首选 谷歌云控制台
  2. 点击“选择项目”->“新建项目”
  3. 输入项目名称,然后单击“创建”

2.启用Google Drive API

  1. 转到“API和服务”->“库”
  2. 搜索“Google Drive API”
  3. 点击“启用”

3.创建OAuth 2.0凭据

  1. 转到“API和服务”->“凭据”
  2. 点击“创建凭据”->“OAuth客户端ID”
  3. 如果系统提示,配置OAuth同意屏幕(选择“内部”用户类型)
  4. 选择“桌面应用程序”作为应用程序类型
  5. 下载JSON文件并将其另存为 credentials.json

4.配置环境

添加到您的 .env:

GOOGLE_CREDENTIALS_PATH=/absolute/path/to/credentials.json
GOOGLE_TOKEN_PATH=/absolute/path/to/token.json

5.初始化身份验证

运行一次以完成OAuth浏览器流程:

uv run python -c "
from mcp_server.services.google_drive_service import GoogleDriveService
service = GoogleDriveService()
print('Google Drive service initialized successfully')
"

将打开一个浏览器窗口进行身份验证。授予访问权限后,令牌会自动保存以供将来使用。

6.测试集成

uv run python -c "
from mcp_server.tools.google_drive_tools import register_google_drive_tools
from fastmcp import FastMCP
mcp = FastMCP('test')
register_google_drive_tools(mcp)
print('✓ Google Drive tools registered successfully')
"

故障排除

报告门户工具不可用

问题:服务器已启动,但RP工具未注册。

解决方案:检查是否设置了所有必需的环境变量:

echo $RP_URL
echo $RP_API_TOKEN
echo $RP_PROJECT

确保您的 .env 文件位于项目根目录中,格式正确。

SSL证书错误

问题: SSL: CERTIFICATE_VERIFY_FAILED 连接到报表门户时出错。

解决方案:如果使用自签名证书,请设置:

RP_VERIFY_SSL=false

对于具有有效CA签名证书的生产环境,请使用 RP_VERIFY_SSL=true.

Google Drive身份验证失败

问题:OAuth流失败或找不到凭据。

解决方案:

  1. 验证 GOOGLE_CREDENTIALS_PATH 指向有效的OAuth2凭据JSON文件
  2. 确保在您的Google Cloud项目中启用Google Drive API
  3. 检查OAuth同意屏幕是否配置正确
  4. 删除 token.json 如果令牌损坏,则重新进行身份验证

导入错误

问题: ModuleNotFoundError 运行服务器时。

解决方案:确保虚拟环境已激活并安装了依赖项:

uv sync
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

常见问题

我可以将其用于多个报告门户项目吗?

是的,但您需要使用不同的配置单独的MCP服务器实例 RP_PROJECT 价值观。

这支持Report Portal v5吗?

是的,此服务器与Report Portal v5 API兼容。

我可以在不集成Google Drive的情况下使用它吗?

当然!Google Drive集成是可选的。所有报告门户工具都独立工作。

如何运行集成测试?

集成测试需要一个实时报告门户实例。在中设置您的凭据 .env那么:

uv run pytest -v -m integration

发展

# Run all checks (format, lint, tests)
bash scripts/run-checks.sh

# Run tests (unit only)
uv run pytest -v -m "not integration"

# Run integration tests (requires RP credentials in .env)
uv run pytest -v -m integration

# Format code
./.venv/bin/python -m ruff format .
./.venv/bin/python -m isort .

# Lint
./.venv/bin/python -m ruff check .

项目结构

report-portal-mcp-server/
  main.py                          # Entry point
  pyproject.toml                   # Dependencies and tool config
  pytest.ini                       # Test configuration
  env.example                      # Environment template
  scripts/
    run-checks.sh                  # Code quality checks
  mcp_server/
    __init__.py
    main.py                        # FastMCP server factory
    config.py                      # Configuration and credential validation
    services/
      rp_base_service.py           # Base HTTP client with Bearer auth
      rp_launch_service.py         # Launch API operations
      rp_test_item_service.py      # Test item API operations
      rp_log_service.py            # Log API operations
      rp_dashboard_service.py      # Dashboard API operations
      rp_widget_service.py         # Widget API operations
      rp_filter_service.py         # Filter API operations
      rp_project_service.py        # Project API operations
      google_drive_service.py      # Google Drive API operations
    tools/
      launch_tools.py              # Launch MCP tools
      test_item_tools.py           # Test item MCP tools
      log_tools.py                 # Log MCP tools
      dashboard_tools.py           # Dashboard MCP tools
      widget_tools.py              # Widget MCP tools
      filter_tools.py              # Filter MCP tools
      project_tools.py             # Project MCP tools
      google_drive_tools.py        # Google Drive MCP tools
      date_tools.py                # Date/time utility tools
    prompts/
      prompts.py                   # RCA, weekly, biweekly prompts
  tests/
    integration_test.py            # Integration tests (need RP credentials)
    test_launch_tools.py           # Launch service unit tests
    test_google_drive_tools.py     # Google Drive service unit tests

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 进行更改并添加测试
  4. 运行代码质量检查: bash scripts/run-checks.sh
  5. 提交您的更改(git commit -m 'Add amazing feature')
  6. 推到分支(git push origin feature/amazing-feature)
  7. 打开拉取请求

代码质量标准

  • 所有代码都必须通过 ruff 格式化和linting
  • 进口商品必须按以下方式排序 isort
  • 所有新功能都必须包括单元测试
  • 保持测试覆盖率在80%以上
  • 遵循现有的代码结构和模式

致谢

该项目源自 dci-mcp服务器 红帽社区AI工具公司的项目。架构、服务层模式和MCP集成方法都受到了该项目的启发和改编。我们感谢原作者为测试自动化平台的MCP服务器实现所做的基础工作。

许可证

Apache许可证2.0

目录标签

目录标签

测试自动化报告生成PythonClaude数据分析本地部署AI助手GoogleDrive集成

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

25

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP