Token导航 LogoToken导航

MCP Server · 数据服务

Regression Jira MCP

一个基于MCP的智能系统,用于自动分析回归测试失败并在JIRA中查找解决方案。

stdio官方级别未说明来源级核验工具 0
PythonClaude自然语言交互Cline

快速开始

作者 / 组织
nanyang12138
提供方
nanyang12138
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP World

选型结论

Regression Jira MCP 属于数据服务类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude、Cline,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

数据服务

传输方式

stdio

认证方式

访问 Token

部署方式

支持远程部署

安装与配置

安装命令

python3 -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

Regression-JIRA智能集成系统

📖 项目概述

一个基于MCP (Model Context Protocol) 的智能系统,用于自动分析regression测试失败并在JIRA中查找解决方案。

核心功能

  • 🔍 智能日志分析 - 基于经过验证的analyzeFailure算法提取错误信息
  • 🎯 精准JIRA匹配 - 使用AI驱动的相似度算法匹配相关JIRA问题
  • 💬 自然语言交互 - 通过Cline AI直接用中文或英文查询
  • 📊 PostgreSQL集成 - 从现有数据库读取测试结果
  • 🚀 一键查找解决方案 - 自动化从测试失败到JIRA解决方案的完整流程

🏗️ 系统架构

┌─────────────────────────────────────────────────────┐
│                   Cline AI                          │
│            (自然语言交互层)                           │
└──────────────┬──────────────────────────────────────┘
               │
               ▼
    ┌──────────────────────────────────────┐
    │  Regression-JIRA MCP Server          │
    │  (统一的PostgreSQL + JIRA服务器)      │
    └────────┬─────────────────┬───────────┘
             │                 │
             ▼                 ▼
    ┌─────────────────┐  ┌──────────────────┐
    │  PostgreSQL DB  │  │   JIRA Cloud     │
    │  (测试结果)      │  │   (问题追踪)      │
    └─────────────────┘  └──────────────────┘

✨ 主要特性

1. PostgreSQL工具 (5个)

  • query_failed_tests - 查询失败的测试用例
  • get_test_details - 获取测试详细信息
  • search_similar_failures - 搜索历史相似失败
  • get_regression_summary - 获取regression run统计
  • analyze_test_log - 分析测试日志文件

2. JIRA工具 (15个)

基础功能
  • search_jira_issues - 使用JQL搜索JIRA问题
  • get_jira_issue - 获取问题详情
  • search_jira_by_text - 简单文本搜索
  • get_jira_comments - 获取问题评论
  • get_related_jira_issues - 获取相关问题
  • search_jira_by_labels - 按标签搜索
  • get_jira_project_info - 获取项目信息
智能组合功能 ⭐
  • find_solutions_for_test - 一键查找测试解决方案
  • batch_find_solutions - 批量查找解决方案
  • compare_error_with_jira - 错误与JIRA相似度比较
  • suggest_jira_search_query - 建议搜索查询
  • analyze_jira_solution - 深度分析解决方案
统计分析
  • get_jira_statistics - JIRA统计
  • find_frequent_issues - 频繁问题分析
  • get_jira_resolution_time - 解决时间分析

3. 智能错误分析

基于经过验证的analyzeFailure算法,包含:

  • 60+ 错误检测正则表达式
  • 自动识别错误类型和级别
  • 提取错误签名和关键词
  • 智能过滤噪音信息

🚀 快速开始

环境要求

  • Python 3.8+
  • PostgreSQL数据库访问权限
  • JIRA Cloud账户和API Token

安装步骤

  1. 克隆项目
cd /proj/gfx_meth_user0/nanyang2
git clone https://github.com/nanyang12138/regression-jira-mcp.git
cd regression-jira-mcp
  1. 创建Python虚拟环境 (推荐 - 更安全,避免依赖冲突)
python3 -m venv venv
source venv/bin/activate
  1. 安装Python依赖
pip install -r requirements.txt
  1. 配置环境变量
# 复制配置模板
cp config.env.example .env

# 编辑.env文件,填入实际配置
vi .env
  1. 配置MCP服务器

编辑 ~/.config/Code/User/globalStorage/slai.claude-dev/settings/cline_mcp_settings.json

添加:

{
  "mcpServers": {
    "regression-system": {
      "command": "/proj/gfx_meth_user0/nanyang2/regression-jira-mcp/venv/bin/python",
      "args": ["-m", "regression_jira_mcp.server"],
      "cwd": "/proj/gfx_meth_user0/nanyang2/regression-jira-mcp",
      "env": {
        "PGDATABASE": "your_database",
        "PGHOST": "your_host",
        "PGPORT": "5432",
        "PGUSER": "your_user",
        "PGPASSWORD": "your_password",
        "JIRA_URL": "https://amd.atlassian.net",
        "JIRA_USERNAME": "Nan.Yang@amd.com",
        "JIRA_API_TOKEN": "your_api_token"
      }
    }
  }
}

注意: 如果使用虚拟环境,command 必须指向虚拟环境中的Python解释器路径。

  1. 重启Cline

重启VSCode或重新加载Cline扩展

📝 使用示例

示例1: 查询失败测试并找JIRA解决方案

您: "帮我查找最近失败的测试,并在JIRA中搜索相关解决方案"

AI会自动:
1. 调用 query_failed_tests() 获取失败测试列表
2. 对每个测试调用 analyze_test_log() 分析日志
3. 调用 find_solutions_for_test() 搜索JIRA
4. 展示匹配的JIRA问题和解决方案

示例2: 分析特定测试

您: "test_memory_allocation这个测试失败了,有没有相关的JIRA问题?"

AI会:
1. 查询测试详情
2. 分析错误日志,提取关键词
3. 在JIRA中搜索相关问题
4. 按相似度排序并展示结果

示例3: 批量分析regression run

您: "regression run 12345有哪些失败的测试?都有解决方案吗?"

AI会:
1. 获取run摘要统计
2. 查询所有失败测试
3. 批量搜索JIRA解决方案
4. 生成汇总报告

🔧 配置说明

PostgreSQL配置

PGDATABASE=your_database_name
PGHOST=your_database_host
PGPORT=5432
PGUSER=your_username
PGPASSWORD=your_password

JIRA配置

JIRA_URL=https://your-instance.atlassian.net
JIRA_USERNAME=your.email@example.com
JIRA_API_TOKEN=your_api_token

获取JIRA API Token:

  1. 访问 https://id.atlassian.com/manage-profile/security/api-tokens
  2. 点击"Create API token"
  3. 复制生成的token

可选配置

# 日志分析选项
MAX_LOG_LINES=10000          # 最大扫描行数
LOG_ENDS_ONLY=100000         # 只扫描文件头尾N字节

# JIRA搜索选项
JIRA_MAX_RESULTS=50          # 最大搜索结果数
JIRA_DEFAULT_PROJECT=PROJ    # 默认项目key

🛠️ MCP工具参考

query_failed_tests

查询失败的测试用例

参数:

  • regression_run_id: int (可选) - Regression run ID
  • project_name: str (可选) - 项目名称
  • regression_name: str (可选) - Regression名称
  • limit: int = 10 - 最大返回数量
  • include_logs: bool = True - 是否包含日志分析

返回:

{
  "total_failed": 15,
  "tests": [
    {
      "test_name": "test_memory_allocation",
      "status": "failed",
      "error_summary": "Memory allocation failed",
      "error_keywords": ["memory", "allocation", "failed"],
      "log_file": "/path/to/log"
    }
  ]
}

find_solutions_for_test ⭐

一键查找测试失败的JIRA解决方案(最常用)

参数:

  • test_name: str - 测试名称
  • regression_run_id: int (可选) - Regression run ID
  • max_jira_results: int = 10 - 最大JIRA结果数

返回:

{
  "test_info": {
    "test_name": "test_memory_allocation",
    "error_signature": "Memory allocation failed at line 234"
  },
  "jira_matches": [
    {
      "issue_key": "PROJ-1234",
      "similarity_score": 0.92,
      "summary": "Fix memory allocation bug",
      "status": "Resolved",
      "solution": "Applied patch v2.3.1...",
      "link": "https://amd.atlassian.net/browse/PROJ-1234"
    }
  ]
}

🐛 故障排除

问题: MCP服务器无法启动

检查:

  1. Python版本是否>=3.8
  2. 所有依赖是否已安装: pip list
  3. 环境变量是否正确配置
  4. PostgreSQL是否可以连接

解决:

# 测试Python模块
python -c "import mcp, psycopg2, jira; print('OK')"

# 测试数据库连接
python -c "import psycopg2; conn = psycopg2.connect('your_connection_string'); print('DB OK')"

问题: 无法读取日志文件

原因: 日志文件路径不可访问

解决方案:

  1. 确认日志文件路径是否正确
  2. 检查文件访问权限
  3. 如果是网络路径,确认网络连接

问题: JIRA搜索返回空结果

检查:

  1. JIRA API Token是否有效
  2. 项目key是否正确
  3. 尝试简化搜索关键词

调试:

在Cline中询问: "测试JIRA连接,搜索任何一个issue"

📚 高级用法

自定义错误模式

如果需要添加自定义错误检测模式,编辑 regression_jira_mcp/error_patterns.py:

# 添加到ERROR_PATTERNS列表
{
    'pattern': re.compile(r'YOUR_CUSTOM_PATTERN'),
    'level': 5,
    'pos': 'custom:my_pattern'
}

扩展JIRA工具

在 regression_jira_mcp/jira_client.py 中添加新方法,然后在 server.py 中注册为MCP工具。

🤝 与现有系统集成

PostgreSQL数据库 ← 只读连接
    ↑ 读取测试结果
Python MCP服务器 (强制只读保护)
    ↓ 只读查询
JIRA Cloud ← 只读操作

安全保证:

  • ✅ PostgreSQL: 只读连接,无法修改数据库
  • ✅ JIRA: 白名单验证,无法修改问题
  • ✅ 可以与其他系统安全并行运行
  • ✅ 多层防护,即使凭证泄露也安全

📄 项目结构

regression-jira-mcp/
├── regression_jira_mcp/          # MCP服务器包
│   ├── __init__.py              # 包初始化
│   ├── server.py                # MCP服务器主入口
│   ├── db_queries.py            # 数据库查询
│   ├── jira_client.py           # JIRA客户端
│   ├── log_analyzer.py          # 日志分析器
│   ├── error_patterns.py        # 错误模式
│   ├── error_matcher.py         # 智能匹配
│   └── utils.py                 # 工具函数
├── venv/                        # 虚拟环境(gitignored)
├── requirements.txt             # Python依赖
├── config.env.example           # 配置模板
├── .env                         # 实际配置(不提交)
├── .gitignore                   # Git忽略文件
└── README.md                    # 本文档

🔒 安全注意事项

内置安全保护 ✅

本MCP服务器具有多层只读保护机制:

  1. PostgreSQL保护

- ✅ 连接级只读模式(数据库强制) - ✅ SQL查询验证(应用层拦截) - ✅ 即使有数据库密码也无法修改数据

  1. JIRA保护

- ✅ 操作白名单(仅允许25+个只读操作) - ✅ 方法调用拦截(代理模式) - ✅ 即使有API Token也无法修改JIRA

  1. 透明设计

- ✅ 正常查询完全不受影响 - ✅ 修改尝试会收到清晰的错误提示 - ✅ 零性能影响

详细安全文档请查看 SECURITY.md

使用建议

  1. 不要提交.env文件 - 包含敏感信息
  2. 定期更新API Token - 建议每90天更换
  3. 使用只读数据库用户 - 虽然有强制保护,但仍建议使用只读账户
  4. 限制JIRA访问范围 - 只配置必要的项目访问权限

📊 性能优化

  • 日志文件大小限制: 默认只读取最后10000行
  • 数据库查询缓存: 常用查询结果缓存5分钟
  • 并发处理: 支持批量查询的并发处理
  • 智能过滤: 自动过滤无关错误信息

🆘 获取帮助

如果遇到问题:

  1. 查看本README的故障排除章节
  2. 检查日志输出: python -m regression_jira_mcp.server --debug
  3. 在Cline中询问: "regression-system MCP服务器有问题,如何调试?"

📝 更新日志

v1.0.0 (2025-01-21)

  • ✅ 初始版本发布
  • ✅ PostgreSQL集成
  • ✅ JIRA集成
  • ✅ 智能日志分析
  • ✅ 15个JIRA工具
  • ✅ 自然语言交互

📄 许可证

内部使用项目

👥 贡献者

Andy


祝使用愉快!如有问题,随时在Cline中提问。 �

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

智能日志分析Python本地部署JIRA集成回归测试自然语言交互PostgreSQL

支持客户端

ClaudeCline

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Cline,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Regression Jira MCP

MCP World · 本页

0stdio有2 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Regression Jira MCP 怎么安装?

公开资料给出的安装命令是 python3 -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Regression Jira MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Regression Jira MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Regression Jira MCP 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Regression Jira MCP 支持哪些客户端?

公开资料标注支持 Claude、Cline;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP