Analyze MSBuild binary logs (.binlog) with GitHub Copilot Chat and MCP tools — right from VS Code.
Preview — This extension is under active development. Feedback welcome!
- Install this extension (requires VS Code 1.99+ with GitHub Copilot and .NET SDK)
- Open a
.binlog— via Binlog: Load File (Ctrl+Shift+P), Build & Collect Binlog, or from Structured Log Viewer → Open in VS Code - Use
@binlogin Copilot Chat:
@binlog why did the build fail?
@binlog what are the slowest targets?
@binlog /perf
The BinlogInsights.Mcp server (28 analysis tools) is auto-installed on first use.
| Feature | Description |
|---|---|
| @binlog Chat | Ask Copilot about errors, performance, targets, imports, NuGet issues — with slash commands like /errors, /perf, /timeline, /compare |
| Build & Collect | Build a project and capture a .binlog in one step |
| Binlog Explorer | Sidebar tree with project → target → task hierarchy, errors, warnings, performance |
| Build Timeline | Visual bar charts of target/task durations with click-to-analyze in Copilot |
| Optimize Build | Pick optimizations, Copilot applies changes, verify with A/B comparison |
| CI/CD Integration | Download binlogs from Azure DevOps Pipelines and GitHub Actions — filter by branch or PR |
| Problems Panel | Build diagnostics as native VS Code errors/warnings with per-project CodeLens |
| Search | Search across all build events — targets, tasks, messages, properties |
| Setting | Default | Description |
|---|---|---|
binlogAnalyzer.mcpServerPath |
"" |
Custom path to the MCP server executable |
binlogAnalyzer.mcpServerArgs |
"--binlog ${binlog}" |
Argument template for the MCP server. ${binlog} is replaced with each binlog path |
binlogAnalyzer.autoLoad |
true |
Auto-load binlog diagnostics on activation |
binlogAnalyzer.diagnosticsSeverityFilter |
"Warning" |
Min severity for Problems panel |
binlogAnalyzer.inlineDecorations |
true |
Show build errors as inline decorations in source files |
binlogAnalyzer.chat.includeAllTools |
false |
Expose all available tools (file editing, terminal, other MCPs) to the @binlog chat participant |
binlogAnalyzer.chat.additionalToolPatterns |
[] |
Additional tool name patterns to include alongside binlog tools (e.g. ["copilot_codebase", "terminal"]) |
The extension auto-installs BinlogInsights.Mcp via dotnet tool install -g. In corporate environments with restricted NuGet feeds, this may fail. Here are the workarounds:
dotnet tool install -g BinlogInsights.Mcp --add-source https://api.nuget.org/v3/index.jsonIf all dotnet tool install attempts fail (e.g., nuget.org is blocked):
- Download the
.nupkgdirectly from nuget.org - Install from the local file:
# Download (replace {version} with latest, e.g. 0.2.0)
Invoke-WebRequest -Uri "https://www.nuget.org/api/v2/package/BinlogInsights.Mcp/{version}" -OutFile "BinlogInsights.Mcp.nupkg"
# Install from local file
dotnet tool install -g BinlogInsights.Mcp --add-source .dotnet nuget list sourceCommon problems:
- nuget.org not listed or disabled — the tool is published on nuget.org
- Authenticated feed requires credentials — may block fallthrough to nuget.org
- Package source mapping excludes nuget.org for this package
dotnet tool list -g | Select-String BinlogInsights
binlog-insights-mcp --helpFor the full troubleshooting guide, see BinlogInsights repo setup instructions.
- MSBuild Structured Log Viewer — WPF viewer with secrets redaction
- BinlogInsights — CLI + MCP server for binlog analysis
- MSBuild Binary Log docs