mcpField
M
Mcp Jacoco Reporter

Mcp Jacoco Reporter

本地服务
github.com/crisschan开发工具1075 周前更新

关于 Mcp Jacoco Reporter

MCP-JaCoCo 将 JaCoCo XML 覆盖率报告转换为结构化 JSON,供 LLM 辅助分析,适用于检查覆盖率和规划测试的开发团队。

主要功能

  1. 01将 JaCoCo XML 报告转为 JSON
  2. 02支持指令、分支和行覆盖指标
  3. 03按指定指标筛选覆盖数据
  4. 04返回结构化覆盖数据

适用场景

  1. 01检查未覆盖或部分覆盖的代码
  2. 02依据覆盖数据规划新增测试
  3. 03向 LLM 工具提供覆盖率结果

MCP 相关

它向 MCP 客户端提供一个工具,可读取指定路径的 JaCoCo XML 报告,并以格式化 JSON 返回覆盖率指标。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai 安全评估徽章

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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。