Skip to content

awakecoding/mcp-binlog-tool

Repository files navigation

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

About

A Model Context Protocol server binary that exposes information inside an MSBuild Binary Log to LLMs to aid build analysis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages