mcp-binlog-tool

baronfel/mcp-binlog-tool

3.2

If you are the rightful owner of mcp-binlog-tool and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

This is a demo of a Model Context Protocol Server (MCP) for analyzing MSBuild projects.

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.

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 for detailed tool documentation.

Setup

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": []
    }
  }
}