项目简介

本项目是一个基于 Model Context Protocol (MCP) 实现的服务器,专注于解析和分析 MSBuild 构建过程中产生的二进制日志文件('.binlog')。它将日志分析能力封装为 MCP 工具,使支持 MCP 协议的大语言模型(LLM)客户端能够直接调用这些工具来理解和查询构建日志信息。

主要功能点

  • 加载 Binlog 文件: 允许 LLM 指定一个 MSBuild 二进制日志文件的路径,服务器负责加载该文件以便后续分析。
  • 列出目标(Targets): 加载日志后,LLM 可以查询构建过程中每个项目执行的所有目标(Target),并获取它们的名称、执行时间和所属项目信息。
  • 列出项目(Projects): 加载日志后,LLM 可以查询日志中包含的所有项目及其全局属性。

安装步骤

  1. 确保您的系统安装了 .NET SDK(通常是 .NET 8 或更高版本,根据项目文件确定)。
  2. 克隆本仓库到本地目录。
  3. 打开终端,进入仓库克隆目录下的 'msbuild.mcp' 子目录(根据代码文件位置,可能是 'binlog.mcp' 目录,请以实际项目结构为准)。
  4. 运行 'dotnet build' 命令编译项目。编译成功后,将在 'bin/Debug/net9.0' (或相应的框架版本) 目录下生成可执行文件,例如 'msbuild.mcp.exe'(Windows)或 'msbuild.mcp' (Linux/macOS)。

服务器配置

本 MCP 服务器通过标准输入/输出 (Stdio) 与客户端通信。要将此服务器集成到支持 MCP 的 LLM 客户端(如某些代码编辑器插件或独立的 LLM 应用程序)中,您需要在客户端的 MCP 配置中添加服务器信息。配置通常是一个 JSON 对象,指定服务器的名称以及如何启动它。

您需要提供服务器可执行文件的完整路径作为启动命令('command')。本项目生成的服务器可执行文件路径通常位于您编译项目后 'msbuild.mcp/bin/Debug/net9.0/' 目录下(请根据您的实际情况调整路径和框架版本)。

例如,在客户端配置中,您需要指定一个服务器名称(如 "msbuild-binlog")和对应的启动命令路径:

  • 服务器名称: 您可以自定义,例如 'msbuild-binlog'。
  • 启动命令 (command): 指向编译生成的服务器可执行文件的绝对路径,例如 '/path/to/your/repo/msbuild.mcp/bin/Debug/net9.0/msbuild.mcp' (Linux/macOS) 或 'C:\path\to\your\repo\msbuild.mcp\bin\Debug\net9.0\msbuild.mcp.exe' (Windows)。
  • 启动参数 (args): 本服务器当前不需要额外的命令行参数,配置为空数组即可。
  • 环境变量 (env): 如果需要,可以在此配置服务器运行所需的环境变量,通常可以留空。

请参考您的 MCP 客户端文档,找到其 MCP 服务器配置位置,并按照其格式添加上述信息。

基本使用方法

  1. 按照上述步骤完成服务器的构建和客户端的配置。
  2. 启动您的 MCP 客户端(如配置好的编辑器或应用程序)。客户端会在需要时自动启动并连接到配置的 MCP 服务器。
  3. 在 LLM 交互界面中,您现在可以通过调用暴露的工具来与服务器交互。例如,您可以指示 LLM 调用 'load_binlog' 工具并提供一个 '.binlog' 文件路径来加载日志,然后调用 'list_targets' 或 'list_projects' 工具来获取分析结果。具体的调用方式取决于您的 LLM 客户端如何集成和展示 MCP 工具能力。

信息

分类

开发者工具