Analyze Coverage MCP 服务器

使用说明内容(Markdown格式)

  • 项目简介
    • 该仓库实现一个 MCP 服务器,专注于将 LCOV 覆盖率数据转换为可被 LLM 客户端调用的服务。通过 JSON-RPC 风格的 MCP 工具接口,客户端可以获取全局和逐文件的覆盖统计、查询未覆盖区域、查看带注释的源码片段等,从而为 AI 代理提供可用的上下文信息与分析能力。
  • 主要功能点
    • get_coverage_overview:返回整体及逐文件的覆盖统计(行、函数、分支的覆盖率百分比及数量),支持目录筛选、阈值过滤和排序。
    • list_uncovered_regions:给定文件,返回未覆盖的行和未覆盖的分支区间,未覆盖的相邻行会合并成区间。
    • get_annotated_source:对指定文件的源码逐行标注覆盖状态,并可截取指定的代码区间,输出带覆盖信息的整洁文本。
    • 服务器监控与缓存:服务器在 LCOV 文件变化时自动重新加载覆盖数据,支持在本地文件系统的 watch 机制下持续保持最新状态。
    • 提供完整的路径解析和候选路径匹配,帮助客户端在复杂项目结构中定位源文件。
  • 安装步骤
    • 从 npm 安装并运行:可以直接通过 MCP 服务器配置在客户端启动。关于本仓库的使用,请参考如下官方做法:
      • 通过 npm 直接作为 MCP 服务器使用时,推荐将服务器作为独立进程启动,命令通常为使用 npx 运行该 MCP 包。
      • 也可以从源码构建并直接在本地执行分析服务即可。
  • 服务器配置
    • MCP 客户端要连接服务器,需提供一个 JSON 配置,包含服务器的名称、启动命令及参数等信息。示例(Json 形式,非代码块呈现,以便客户端直观阅读): { "serverName": "analyze-coverage", "command": "npx", "args": ["-y", "@sofia-open-source/analyze-coverage-mcp"], "description": "分析并暴露 LCOV 覆盖数据的 MCP 服务器(请按实际部署方式调整路径与版本)" }
    • 该配置对应的实际服务器名称在仓库中被实现为 analyze-coverage-mcp,需确保在客户端可访问并能正确启动该进程。服务器将通过标准的 MCP JSON-RPC 请求进行交互,返回文本/JSON 内容。
  • 基本使用方法
    • 启动服务器:使用上述配置开启 MCP 服务器的进程(命令和参数按实际部署执行)。
    • 客户端调用示例(概览):通过 MCP 客户端向服务器发送请求,如获取覆盖总览、查询某文件未覆盖区域、获取带注释的源代码等,服务器返回结构化的统计数据或文本描述。
    • 常见工作流:上传或指定 lcov.info 的路径与项目根目录,执行 get_coverage_overview 获取全量结果,再结合 list_uncovered_regions 与 get_annotated_source 进行细粒度分析与代码审查。

服务器信息