MCP-JaCoCo

地址:https://github.com/crisschan/mcp-jacoco-reporter
MCP-JaCoCo是一个服务器工具,可将JaCoCo代码覆盖率报告转换为适合大型语言模型(LLM)的格式,使AI驱动的分析更加简单高效。

为什么重要

随着AI和LLM在软件开发中扮演越来越重要的角色,传统的代码覆盖率报告(如JaCoCo)需要进行改进。虽然对人类很友好,但其XML格式并不适合AI工具处理和分析。MCP-JaCoCo通过将这些报告转换为LLM友好的格式来弥合这一差距,为开发团队带来强大优势:

  • 快速生成有意义的代码覆盖率摘要
  • 轻松识别未测试或测试不足的代码
  • 智能建议新的测试用例
  • 简化的AI辅助测试规划
  • 自动化的覆盖率结果文档
    借助MCP-JaCoCo,团队可以充分发挥AI潜力,提升测试工作流程的效率和洞察力。

解决的问题

  • 复杂格式:简化JaCoCo密集的XML报告以适应AI使用
  • 分散数据:将覆盖率指标集中到一个可访问的位置
  • 分析缓慢:减少耗时的手动审查
  • 集成障碍:使原始数据更好地与AI工具配合

主要特性

  • 智能转换:将JaCoCo XML报告转换为LLM友好的JSON格式
  • 灵活覆盖率类型:支持多种覆盖率指标(指令、分支、行等)
  • 高效处理:快速轻量的报告处理
  • 结构化输出:组织良好的JSON格式便于AI使用
  • 可定制分析:按特定指标筛选覆盖率数据

Installation

Install MCP-JaCoCo using uv with this configuration:

{
  "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"
      ]
    }
  }
}

Tool

jacoco_reporter_server

  • Reads JaCoCo XML report and returns coverage data in JSON format
  • Input:
    • jacoco_xmlreport_path: Path to JaCoCo xml report path(jacoco.xml)
  • Return:
    • String, formatted JSON data containing coverage metrics

Example output format:

[
    {
        "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": []
        }
    }
]
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐