Binlog MCP Server

A Model Context Protocol Server for analyzing MSBuild binlogs.

Binlog MCP Server

This is a simple demo of a Model Context Protocol Server (MCP) that exposes tools and prompts for analyzing MSBuild binlogs to any MCP server.

nuget.org link for this tool

Features

The server provides comprehensive tools for analyzing MSBuild binary logs, including:

  • Diagnostic Analysis: Extract warnings and errors from binlogs with filtering by severity, project, target, and task
  • Search Analysis: Powerful freetext search with MSBuild Structured Log Viewer query syntax support
  • Target Analysis: Identify expensive targets, search for specific targets across projects, and analyze target execution times
  • Project Analysis: Calculate project build times, find the most expensive projects, and analyze all targets in a project at once
  • Evaluation Analysis: List project evaluations, inspect global properties, and identify potential overbuilding issues
  • File Access: List and retrieve source files embedded in binary logs
  • Performance: Intelligent caching ensures fast queries even on large binlogs

See PACKAGE_README.md for detailed tool documentation.

Setup

Using the NuGet package

Claude

> claude mcp add binlog -- dnx baronfel.binlog.mcp -y
Added stdio MCP server binlog with command: dnx baronfel.binlog.mcp -y to local config

VSCode

If you have Claude configured already, you can tell VSCode to use the same settings by adding the following to your settings.json:

  "chat.mcp.discovery.enabled": true,

otherwise, you can configure the server directly:

{
  "servers": {
    "binlog-mcp": {
      "type": "stdio",
      "command": "dnx",
      "args": ["-y", "baronfel.binlog.mcp"]
    }
  }
}

Using local builds

To configure this:

  1. build the repo with dotnet build in the solution root directory
  2. configure Claude or VSCode to use the server
  3. launch your server app and have fun!

To locally debug, use npx to run the Model Context Protocol inspector::

npx @modelcontextprotocol/inspector ./artifacts/bin/binlog.mcp/debug/binlog.mcp.exe

Claude

{
  "mcpServers": {
    "msbuild": {
      "command": "<your repo root>\\artifacts\\bin\\binlog.mcp\\debug\\binlog.mcp.exe"
    }
  }
}

VSCode

If you have Claude configured already, you can tell VSCode to use the same settings by adding the following to your settings.json:

  "chat.mcp.discovery.enabled": true,

otherwise, you can configure the server directly:

{
  "servers": {
    "binlog-mcp": {
      "type": "stdio",
      "command": "<repo root>\\artifacts\\bin\\binlog.mcp\\debug\\binlog.mcp.exe",
      "args": []
    }
  }
}

Related Servers