.NET探查器MCP服务器
包装的MCP(模型上下文协议)服务器。NET诊断工具(dotnet-trace, dotnet-counters, dotnet-dump)帮助人工智能助手分析应用程序性能,识别热点,并生成优化建议。
先决条件
安装。NET全球诊断工具:
dotnet tool install -g dotnet-trace
dotnet tool install -g dotnet-counters
dotnet tool install -g dotnet-dump可用工具
| 工具 | 说明 |
|---|---|
ListDotNetProcesses | 发现跑步。可以分析的NET进程 |
CollectTrace | 在指定持续时间内捕获CPU性能跟踪 |
AnalyzeTrace | 从跟踪文件中提取热方法和性能瓶颈 |
CollectCounters | 监控系统。运行时计数器(CPU、GC、内存、线程池) |
CollectDump | 捕获内存转储(仅限Windows/Linux) |
AnalyzeDump | 分析转储以获取堆统计信息、GC根目录、线程池信息 |
GeneratePerformanceReport | 根据收集的数据创建样式化的HTML报告 |
CleanupTempFiles | 删除所有临时分析工件 |
工具详细信息
ListDotNet进程
列出所有正在运行的。NET进程,可以使用dotnettrace进行分析。
CollectTrace
从运行中收集性能跟踪。NET进程。
- processId:目标进程ID
- 持续时间(秒):收集持续时间(默认值:30)
- 个人资料:cpu采样、gc verbose或gc收集
AnalyzeTrace
分析.nettrace文件以识别热门方法。
- traceFilePath:.nettrace文件的路径
收集器计数器
捕获系统。运行时指标,包括CPU使用率、GC堆大小、Gen 0/1/2计数、线程池统计数据。
- processId:目标进程ID
- 持续时间(秒):收集持续时间(默认值:30)
- 刷新间隔秒数:采样间隔(默认值:1)
收集转储
捕获内存转储(仅限Windows和Linux)。
- processId:目标进程ID
- 转储类型:满、堆或迷你
分析泵
使用各种命令分析转储文件。
- dumpFilePath:.dmp文件的路径
- 命令:dumpheap-stat、gcroot、线程池或eeheap
生成绩效报告
生成一个结合了跟踪分析、计数器数据和转储分析的样式化HTML报告。
- 应用程序名称:报告标题的名称
- 追踪分析:热方法数据(可选)
- 计数器数据:计数器指标(可选)
- 转储分析:转储分析结果(可选)
清理TempFiles
删除分析会话期间创建的所有临时文件。
在当地发展
配置IDE以运行项目:
{
"servers": {
"dotnet-profiler-mcp": {
"type": "stdio",
"command": "dotnet",
"args": ["run", "--project", "
"]
}
}
}示例用法
询问Copilot聊天:
- “列出我可以分析的所有.NET进程”
- “从进程1234收集30秒的CPU跟踪”
- “分析跟踪文件并向我展示热门方法”
- “从我的应用程序收集性能计数器60秒”
- “为MyApp生成HTML性能报告”
平台支持
- 视窗:全面支持所有工具
- Linux:全面支持所有工具
- macOS:支持跟踪和计数器收集;不支持转储收集
发布到NuGet.org
dotnet pack -c Release
dotnet nuget push bin/Release/*.nupkg --api-key --source https://api.nuget.org/v3/index.json