Freshrelease MCP 服务器

一个MCP服务器,通过强大的工具实现AI模型与Freshrelease的交互,用于完整的项目和测试管理。

  • by dasscoax
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dasscoax/freshrelease_mcp

使用说明

最新发布MCP服务器

一个MCP服务器,它使AI模型能够通过强大的工具与Freshrelease进行交互,实现完整的项目和测试管理。

🚀 主要特点

  • **🤖 人工智能原生(或“原生AI”)**专为通过MCP协议集成AI模型而设计
  • 🔧 完整管理项目、任务、测试用例、测试运行和用户管理
  • 🧠 智能分辨率自动将名称转换为ID(用户、冲刺、项目等)
  • 📋 本地过滤全面支持Freshrelease的原生query_hash格式
  • 🌲 分层导航浏览7级深的章节层级结构
  • ⚡ 性能优化内置缓存、连接池和批处理功能
  • 🎯 基于标签的过滤使用直观的字段名,如“Owner”而不是“owner_id”

📊 工具概览

类别 主要特点
核心管理 项目、任务、用户和问题类型
测试管理 测试用例、测试运行和执行跟踪
智能过滤 高级任务和测试用例过滤
查找与实用工具 名称到ID的解析和缓存管理

🛠️ 可用工具

核心管理

工具 目的 关键参数
fr_get_project 获取项目详情 project_identifier
fr_get_task 通过ID/密钥获取任务 project_identifier, key
fr_get_all_tasks 列出所有项目任务 project_identifier
fr_get_epic_insights 获取包含详细任务分析的史诗级项目全面AI见解 epic_key, fetch_detailed_tasks, max_tasks
fr_get_issue_type_by_name 解决问题类型名称 issue_type_name
get_task_default_and_custom_fields 获取问题类型表单字段 issue_type_name
fr_search_users 通过姓名/电子邮件查找用户 search_text

测试管理

工具 用途 关键参数
fr_list_testcases 列出所有测试用例 project_identifier
fr_get_testcase 获取特定测试用例 test_case_key
fr_get_testcases_by_section 按部分获取测试 section_name
fr_link_testcase_issues 将链接与问题关联 testcase_keys, issue_keys
fr_testcase_filter_summary 利用AI洞察进行高级测试过滤 filter_rules
fr_add_testcases_to_testrun 添加要运行的测试 test_run_id, test_case_keys
fr_get_testrun_summary 获取包含AI质量分析的全面测试运行总结 test_run_id

智能过滤

工具 用途 关键参数
fr_filter_tasks 使用原生查询哈希进行高级任务过滤 query_hash, filter_id, include分页
fr_get_issue_form_fields 获取问题表单模式 issue_type_id
fr_get_testcase_form_fields 获取测试表单模式 -
fr_get_all_issue_type_form_fields 获取所有表单模式 -

查找与实用程序

工具 用途 关键参数
fr_get_sprint_by_name 按名称查找冲刺(或短跑,根据上下文确定具体含义) sprint_name
fr_get_release_by_name 按名称查找发行版 release_name
fr_get_tag_by_name 按名称查找标签 tag_name
fr_get_current_subproject_sprint 获取活跃的子项目冲刺(或:获取正在进行的子项目迭代) sub_project_name
get_subproject_id_by_name 解析子项目名称 sub_project_name
fr_clear_filter_cache 清除过滤器缓存 -
fr_clear_all_caches 清除所有缓存 -

✨ 智能功能

  • 🧠 名称到ID的解析自动将用户名、冲刺名称、问题类型等转换为ID
  • 📋 原生查询格式全面支持Freshrelease的 query_hash 包含所有操作符的格式
  • 🌲 层次结构部分导航至最多7级深的章节层次结构(例如。, "Level1 > Level2 > Level3")
  • API 兼容性处理嵌套结构 {"users": [...]} 以及直接数组响应格式
  • ⚡ 性能优化多级缓存、连接池、优化的批处理
  • 🔗 灵活的项目ID接受两个项目密钥("FS") 和数字ID (123)
  • 🎯 自定义字段支持自动检测并处理以“cf_”为前缀的自定义字段
  • 📊 多种查询格式原生查询哈希(query_hash),逗号分隔的字符串,或JSON对象

🚀 快速入门

1. 安装

# Easy install (no Python needed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or with Python: uv tool install freshrelease-mcp

2. 获取凭证

  • API密钥根据上述信息,翻译原文内容如下:
  • 域名(或领域): company.freshrelease.com (您的域名)
  • 项目密钥例如。, "FS", "PROJ" (可选)

3. 配置光标

添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "freshrelease-mcp": {
      "command": "uvx",
      "args": ["freshrelease-mcp"],
      "env": {
        "FRESHRELEASE_API_KEY": "your_api_key",
        "FRESHRELEASE_DOMAIN": "company.freshrelease.com",
        "FRESHRELEASE_PROJECT_KEY": "FS"
      }
    }
  }
}

4. 重启光标

✅ 您将看到可用的Freshrelease工具!

💡 使用示例

🎯 任务管理

获取项目概览:

“显示FS项目中的所有任务”

获取具体任务详情:

“获取任务FS-123的详细信息”

借助AI分析,获取全面深刻的史诗级见解:

“请为我展示关于史诗级任务FS-223786的详细见解,包括git状态和风险评估”

该人工智能将自动:

  • 获取史诗级详情及所有包含完整信息的子任务
  • 从任务描述中分析git/PR(Pull Request)的开发状态
  • 提供基于人工智能的见解,包括完成率、团队分布和时间线风险
  • 提供状态细分和进度总结
  • 显示分配者分布及优先级细分

📋 高级任务筛选

使用自然语言过滤:

“查找所有由John Doe负责且当前正在进行的高优先级任务”

人工智能两者都理解:

  • 友好的标签“所有者”,“状态”,“优先级”
  • 技术名称"owner_id"(所有者ID), "status_id"(状态ID), "priority_id"(优先级ID)

使用现有过滤器进行原生新鲜发布过滤:

“使用保存的过滤器ID 102776,结合自定义字段和日期范围来过滤任务”

基于冲刺和日期的过滤:

“显示Sprint 1中在2024年12月至2025年8月期间创建的所有错误”

🧪 测试用例管理

自然过滤测试用例:

“在认证部分查找所有高风险和中风险的功能测试”

浏览层级结构部分:

“从‘认证 > 登录测试 > 正向案例’部分获取所有测试用例”

该人工智能能够自动在多达7层的章节层级结构中进行导航。

获取包含AI见解的简洁测试运行总结:

“测试运行150183的表现如何?”

响应示例: “已执行23/25项测试(完成92%)。21项通过,2项失败。质量评分:良好。修复2项失败的测试用例。”

🛠️ 开发工具

代码质量保证

这个项目包含了全面的工具,用于维护代码质量和预防常见问题:

📋 代码质量指南 (CODE_QUALITY_GUIDE.md)

  • 完整的缩进标准和最佳实践
  • 针对项目的特定代码模式和模板
  • 避免常见错误及示例
  • 性能优化指南
  • 开发者提交前的检查清单

🔍 自动质量检查器 (quality_check.py)

对任何Python文件运行质量检查:

python3 quality_check.py src/freshrelease_mcp/server.py

特点:

  • ✅ 缩进验证(4个空格标准)
  • ✅ MCP工具结构验证
  • ✅ 函数文档字符串检查
  • ✅ 异步/等待(Async/await)模式验证
  • ✅ 错误处理分析

示例输出:

✅ No issues found in src/freshrelease_mcp/server.py

🆕 最新更新

v1.9.7 - 优化了AI洞察与代码质量

  • ✅ 优化的测试运行AI简化版 fr_get_testrun_summary 提供简洁的见解、质量评分和针对性的建议
  • ✅ Epic AI 洞察重命名并增强功能 fr_get_epic_insights 包含全面的人工智能分析,涵盖git/PR状态、风险评估及详细任务分析
  • ✅ 测试用例AI总结重命名 fr_filter_testcases to fr_testcase_filter_summary 具备智能洞察和自动化分析能力
  • ✅ 代码质量工具添加了全面的代码质量指南(CODE_QUALITY_GUIDE.md) 和自动化质量检查器 (quality_check.py)
  • ✅ 增强的场映射修复了过滤问题,提高了字段标签的解析度
  • ✅ 更好的错误处理全面的日志记录和错误信息,用于调试
  • ✅ 问题密钥解决支持使用问题密钥对 parent_id 和 epic_id 进行过滤

v1.8.4 - 过滤器错误修复

  • ✅ 固定字段映射错误解决了“获取项目字段映射失败:0”的错误
  • ✅(表示正确、确认或完成的符号,无具体中文含义,可理解为“正确”、“确认”或“完成”等意思,具体根据上下文确定) API响应处理更好地处理嵌套数组与直接数组响应
  • ✅ 常见的字段映射增加了对“父级”、“史诗”、“所有者”字段标签的支持

🔧 故障排除

在 Cursor 中看不到工具?

  1. 检查 ~/.cursor/mcp.json 是有效的JSON
  2. 完全重启光标
  3. 验证凭据: uvx freshrelease-mcp --help

环境变量:

FRESHRELEASE_API_KEY="your_api_key"      # Required
FRESHRELEASE_DOMAIN="company.freshrelease.com"  # Required  
FRESHRELEASE_PROJECT_KEY="FS"            # Optional default project

📄 许可证

MIT 许可证 - 详情请参见 LICENSE 文件。


⭐ 喜欢这个项目吗? 在GitHub上给它点个星吧!
🐛 表示“虫子”或“小虫子”。 发现了一个错误? 打开一个问题(或:提交一个问题)
💡 灯泡(或表示“想法”的灯泡图标) 有想法吗? 开始讨论