关于 Mcp Jacoco Reporter
MCP-JaCoCo 将 JaCoCo XML 覆盖率报告转换为结构化 JSON,供 LLM 辅助分析,适用于检查覆盖率和规划测试的开发团队。
主要功能
- 01将 JaCoCo XML 报告转为 JSON
- 02支持指令、分支和行覆盖指标
- 03按指定指标筛选覆盖数据
- 04返回结构化覆盖数据
适用场景
- 01检查未覆盖或部分覆盖的代码
- 02依据覆盖数据规划新增测试
- 03向 LLM 工具提供覆盖率结果
MCP 相关
它向 MCP 客户端提供一个工具,可读取指定路径的 JaCoCo XML 报告,并以格式化 JSON 返回覆盖率指标。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP-JaCoCo
MCP-JaCoCo 是一款服务工具,可将 JaCoCo 代码覆盖率报告转换为针对大模型(LLM)优化的格式,让 AI 驱动的分析更轻松、更有效。
为什么这很重要
随着 AI 和大模型在软件开发中发挥越来越重要的作用,传统的代码覆盖率报告(例如 JaCoCo 生成的报告)也需要改进。XML 格式的报告虽然适合人类阅读,却不利于 AI 工具处理或分析。MCP-JaCoCo 通过将这些报告转换为适合大模型的格式来弥合这一差距,为开发团队带来诸多优势:
- 快速生成有意义的代码覆盖率摘要
- 轻松识别未经测试或测试不足的代码
- 智能建议新的测试用例
- 简化 AI 辅助测试规划
- 自动记录覆盖率结果 借助 MCP-JaCoCo,团队可以充分发挥 AI 的潜力,提升测试工作流的效率和洞察力。
解决的问题
- 格式复杂:简化 JaCoCo 繁杂的 XML 报告,便于 AI 使用
- 数据分散:将覆盖率指标汇总到一个易于访问的位置
- 分析缓慢:减少耗时的人工审查
- 集成障碍:让原始数据更易于与 AI 工具协同使用
主要功能
- 智能转换:将 JaCoCo XML 报告转换为适合大模型的 JSON 格式
- 灵活的覆盖率类型:支持多种覆盖率指标(指令、分支、行等)
- 高效处理:快速、轻量地处理报告
- 结构化输出:提供组织良好的 JSON 格式,便于 AI 使用
- 可自定义分析:按关注的特定指标筛选覆盖率数据
安装
使用 uv 和以下配置安装 MCP-JaCoCo:
{
"mcpServers": {
"mcp-jacoco-reporter-server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"/Users/crisschan/workspace/pyspace/mcp-jacoco-reporter/mcp-jacoco-reporter-server.py"
],
"env": {
"COVERED_TYPES": "nocovered, partiallycovered, fullcovered"
},
"alwaysAllow": [
"jacoco_reporter_server"
]
}
}
}
工具
jacoco_reporter_server
- 读取 JaCoCo XML 报告并以 JSON 格式返回覆盖率数据
- 输入:
- jacoco_xmlreport_path:JaCoCo XML 报告的路径(jacoco.xml)
- 返回:
- 字符串,包含格式化后的 JSON 覆盖率指标数据
示例输出格式:
[
{
"sourcefile": "PasswordUtil.java",
"package": "com/cicc/ut/util",
"lines": {
"nocovered": [],
"partiallycovered": []
},
"branch": {
"nocovered": [],
"partiallycovered": []
}
},
{
"sourcefile": "UserServiceImpl.java",
"package": "com/cicc/ut/service/impl",
"lines": {
"nocovered": [
33,
67,
69,
71,
72
],
"partiallycovered": []
},
"branch": {
"nocovered": [
67
],
"partiallycovered": [
32
]
}
},
{
"sourcefile": "Constants.java",
"package": "com/cicc/ut/constants",
"lines": {
"nocovered": [],
"partiallycovered": []
},
"branch": {
"nocovered": [],
"partiallycovered": []
}
},
{
"sourcefile": "AuthException.java",
"package": "com/cicc/ut/exceptions",
"lines": {
"nocovered": [],
"partiallycovered": []
},
"branch": {
"nocovered": [],
"partiallycovered": []
}
},
{
"sourcefile": "UserService.java",
"package": "com/cicc/ut/service",
"lines": {
"nocovered": [],
"partiallycovered": []
},
"branch": {
"nocovered": [],
"partiallycovered": []
}
}
]
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
