mcpField
M
Mcp Jacoco Reporter

Mcp Jacoco Reporter

ローカル
github.com/crisschan開発ツール1075 週間前に更新

Mcp Jacoco Reporter について

MCP-JaCoCo は JaCoCo の XML カバレッジレポートを構造化 JSON に変換し、LLM による分析を支援します。カバレッジの確認やテスト計画を行う開発チーム向けです。

主な機能

  1. 01JaCoCo XML レポートの JSON 変換
  2. 02命令・分岐・行カバレッジ指標に対応
  3. 03指定した指標によるカバレッジの絞り込み
  4. 04構造化されたカバレッジデータの出力

活用シーン

  1. 01未カバーまたは部分カバーのコードの確認
  2. 02カバレッジデータに基づくテスト追加の計画
  3. 03LLM ツールへのカバレッジ結果の提供

MCP 対応

指定パスの JaCoCo XML レポートを読み込み、整形した JSON でカバレッジ指標を MCP クライアントに返すツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MseeP.ai Security Assessment Badge

MCP-JaCoCo

MCP-JaCoCo は、JaCoCo のコードカバレッジレポートを LLM に最適化された形式に変換するサーバーツールです。AI を活用した分析をより簡単かつ効果的に行えます。

重要性

AI や LLM がソフトウェア開発で果たす役割が大きくなるにつれて、JaCoCo のような従来のコードカバレッジレポートにも変化が求められています。人間にとっては優れたレポートでも、XML 形式は AI ツールでの処理や分析には適していません。MCP-JaCoCo は、これらのレポートを LLM に適した形式に変換することでこのギャップを埋め、開発チームに次のような大きなメリットをもたらします。

  • コードカバレッジを簡潔かつ有意義に要約
  • テストされていない、またはテストが不十分なコードを簡単に特定
  • 新しいテストケースを提案
  • AI を活用したテスト計画を効率化
  • カバレッジ結果のドキュメントを自動作成 MCP-JaCoCo を利用すれば、チームは AI の可能性を最大限に活用し、テストのワークフローにおける効率と洞察を向上させることができます。

解決する課題

  • 複雑な形式:JaCoCo の情報量が多い XML レポートを AI で扱いやすくします
  • データの分散:カバレッジの指標を、アクセスしやすい 1 か所に集約します
  • 分析の遅さ:時間のかかる手動レビューを削減します
  • 統合の障壁:生データを AI ツールで扱いやすくします

主な機能

  • スマート変換:JaCoCo の XML レポートを LLM に適した JSON 形式に変換します
  • 柔軟なカバレッジ種別:複数のカバレッジ指標(命令、分岐、行など)に対応します
  • 効率的な処理:レポートを高速かつ軽量に処理します
  • 構造化された出力:AI で簡単に利用できる、整理された JSON 形式で出力します
  • カスタマイズ可能な分析:関心のある特定の指標でカバレッジデータを絞り込めます

インストール

次の設定を使用して 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": []
        }
    }
]

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。