UnitTestMcp
用于分析基于MTP(Microsoft测试平台)的代码覆盖率的MCP(模型上下文协议)服务器。NET测试项目。解析Cobertura XML覆盖率报告,并通过用于AI辅助开发工作流程的MCP工具公开覆盖率数据。
特性
- 解析Cobertura XML覆盖率报告(来自的标准输出
dotnet test具有代码覆盖率) - 查询单个源文件的缺失行和分支
- 全面覆盖类、方法、项目和整个解决方案
- 在整个解决方案中生成全面的漏报报告
- 自动发现和合并多个覆盖报告
先决条件
- .NET 10 SDK 或以后
- MTP兼容测试框架(例如。, TUnit(MSTest、xUnit v3)
- 已配置代码覆盖率收集(通过
testconfig.json或CLI标志)
安装
快速安装
单击以在首选环境中安装:
  
注:
- 这些安装链接是为预期的NuGet包V1.\*标识准备的
UnitTestMcp.Server并且不需要dotnet tool先安装。 - 如果您还不能使用这些链接,请使用下面的手动配置选项之一。
{
"servers": {
"MTP.UnitTest.MCP": {
"type": "stdio",
"command": "dnx",
"args": [
"UnitTestMcp.Server@1.*",
"--yes"
]
}
}
}要安装为一个.NET工具:
dotnet tool install --global UnitTestMcp.Server或者直接从源代码运行:
cd src
dotnet run --project UnitTestMcp.ServerMCP工具
| 工具 | 说明 |
|---|---|
GetMissedCoverageForFile | 获取特定源文件的缺失行和分支 |
GetClassCoverage | 获取特定类的总体覆盖率摘要 |
GetMethodCoverage | 获取特定方法的总体覆盖率摘要 |
GetProjectCoverage | 获取特定项目/包的总体覆盖率摘要 |
GetSolutionCoverage | 获取整个解决方案的总体覆盖率摘要 |
GetSolutionMissedCoverage | 获取解决方案中所有遗漏行和分支的详细报告 |
用法
生成覆盖率报告
使用MTP,代码覆盖率通过以下方式配置 testconfig.json 和那个 Microsoft.Testing.Extensions.CodeCoverage 扩展。将扩展添加到您的测试项目中,并将其配置为Cobertura输出:
{
"extensions": [
{
"extensionId": "Microsoft.Testing.Extensions.CodeCoverage",
"settings": {
"format": "cobertura"
}
}
]
}然后正常运行测试:
dotnet test配置为MCP服务器
以下示例适用于使用已发布全局工具的最终用户。您不需要从源代码构建项目来使用这些配置。
克劳德代码CLI
使用以下命令将已安装的工具添加为stdio MCP服务器:
claude mcp add dotnet-mtp-coverage-mcp -- dotnet-mtp-coverage-mcp如果您的本地设置需要环境变量,Claude Code还支持:
claude mcp add -e SOME_SETTING=value dotnet-mtp-coverage-mcp -- dotnet-mtp-coverage-mcp使用已安装的全局工具时,不需要其他子进程标志或参数。
JSON配置
对于基于JSON的MCP客户端(例如,Claude Desktop或其他使用 mcpServers 对象),使用以下stdio服务器配置之一。
安装。NET工具:
{
"mcpServers": {
"dotnet-mtp-coverage-mcp": {
"command": "dotnet-mtp-coverage-mcp"
}
}
}对于环境变量:
{
"mcpServers": {
"dotnet-mtp-coverage-mcp": {
"command": "dotnet-mtp-coverage-mcp",
"env": {
"SOME_SETTING": "value"
}
}
}
}覆盖 XML 格式
此工具需要Cobertura XML格式,这是 Microsoft.Testing.Extensions.CodeCoverage 配置扩展时 "format": "cobertura" 在 testconfig.json.
建筑
cd src
dotnet build运行测试
cd src
dotnet test项目结构
src/
UnitTestMcp.Core/ # Core library: models, parsers, services
Models/ # Coverage data models (records)
Parsers/ # Cobertura XML parser
Services/ # Coverage query service
UnitTestMcp.Server/ # MCP server executable
Tools/ # MCP tool definitions
tests/
UnitTestMcp.Tests/ # TUnit tests
TestData/ # Sample Cobertura XML fixtures归因
本项目中的Cobertura XML解析逻辑和覆盖率数据模型概念改编自 报告生成器 由Daniel Palme根据Apache许可证2.0授权。ReportGenerator是一个全面的代码覆盖率报告生成工具,支持多种输入和输出格式。
许可证
麻省理工学院许可证-版权所有(c)2026 Glenn Watson。看 许可证 了解详情。
