项目简介
CovLoupe 是一个专门用于分析Ruby SimpleCov测试覆盖率数据的MCP服务器,提供三种使用方式:MCP服务器、命令行工具和Ruby库,帮助开发者通过AI助手深入了解项目的测试覆盖情况。
主要功能
- 覆盖率查询:查看文件覆盖率、未覆盖行数、详细命中数据
- 多格式输出:支持表格、JSON、YAML等多种格式
- 源文件注释:显示带有上下文行的源代码覆盖情况
- 陈旧性检测:识别过时的覆盖率数据(缺失文件、时间戳不匹配、行数变化)
- 多测试套件支持:自动合并多个测试套件(RSpec + Cucumber等)
- 灵活路径解析:支持绝对路径和相对路径
- CI/CD集成:生成覆盖率报告和设置通过/失败条件
安装步骤
# 安装 gem gem install cov-loupe # 生成覆盖率数据(先运行测试) bundle exec rspec # 或其他测试命令 # 验证覆盖率已生成 ls -l coverage/.resultset.json
服务器配置
要将CovLoupe配置为MCP服务器,需要在MCP客户端中添加以下配置:
{ "mcpServers": { "cov-loupe": { "command": "cov-loupe", "args": ["--resultset", "/path/to/your/coverage"] }
配置参数说明:
- 'command': 固定为 "cov-loupe"
- 'args':
- '--resultset': 指定覆盖率数据文件路径
- '--root': 指定项目根目录
- '--raise-on-stale": 设置为true时,在覆盖率数据过时会导致失败
- '--error-mode': 错误处理模式(off/log/debug)
- '--tracked-globs': 指定要跟踪的文件模式
基本使用方法
配置完成后,AI助手可以通过MCP协议调用以下工具:
- 'coverage_summary_tool' - 获取文件覆盖率摘要
- 'uncovered_lines_tool' - 查询未覆盖的代码行
- 'list_tool' - 列出所有文件的覆盖率数据
- 'coverage_totals_tool' - 获取项目总体覆盖率
- 'coverage_table_tool' - 生成格式化的覆盖率表格
- 'validate_tool' - 验证覆盖率数据有效性
支持的工具
服务器提供10个MCP工具,涵盖覆盖率分析的所有方面,包括详细行级数据、原始覆盖信息、项目统计等。
信息
分类
开发者工具