使用说明
项目简介
MSBuild MCP Host 是一个实现了 Model Context Protocol (MCP) 的服务器,它专注于为大型语言模型(LLM)提供关于 .NET MSBuild 项目的上下文信息和操作能力。通过此服务器,LLM 客户端可以理解和操控 MSBuild 项目,例如分析项目依赖、管理NuGet包,甚至执行项目升级等操作。
主要功能点
- 项目分析工具:
- 'list-target-frameworks': 列出项目支持的目标框架版本。
- 'list-project-dependencies': 列出项目依赖的其他项目。
- 'list-package-references': 列出项目引用的 NuGet 包及其版本。
- 'get-package-versions': 获取指定 NuGet 包在配置的源中的可用版本。
- 项目操作 Prompt:
- 'upgrade-project': 将单个项目升级到指定的目标框架版本。
- 'upgrade-all-projects': 将多个项目升级到指定的目标框架版本,并生成升级计划。
安装步骤
- 构建项目: 打开命令行终端,导航到 'msbuild.mcp' 目录,并执行 'dotnet build' 命令来构建项目。构建成功后,可执行文件将生成在 'msbuild.mcp\bin\Debug\net9.0' 目录下。
服务器配置
MCP 服务器需要配置在 MCP 客户端中才能使用。以下分别提供了 Claude 和 VSCode 的配置示例。您需要将 '<repo root>' 替换为您的仓库根目录的实际路径。
Claude 配置:
在 Claude 的配置文件中添加以下 JSON 代码:
{ "mcpServers": { "msbuild": { "command": "<repo root>\\msbuild.mcp\\bin\\Debug\\net9.0\\msbuild.mcp.exe" } } }
- 'server name': 'msbuild',服务器名称,可以自定义,用于在客户端中标识该服务器。
- 'command': '<repo root>\msbuild.mcp\bin\Debug\net9.0\msbuild.mcp.exe',MCP 服务器的启动命令,指向构建生成的可执行文件路径。
VSCode 配置:
您可以选择让 VSCode 自动发现 Claude 的 MCP 服务器配置(如果您已经配置了 Claude),或者直接在 VSCode 的 'settings.json' 中配置:
方式一:自动发现 Claude 配置 如果已配置 Claude,在 VSCode 的 'settings.json' 中添加:
"chat.mcp.discovery.enabled": true,
方式二:直接配置 在 VSCode 的 'settings.json' 中添加以下 JSON 代码:
{ "mcp": { "inputs": [], "servers": { "msbuild": { "command": "<repo root>\\msbuild.mcp\\bin\\Debug\\net9.0\\msbuild.mcp.exe", "args": [], "env": {} } } } }
- 'server name': 'msbuild',服务器名称,可以自定义。
- 'command': '<repo root>\msbuild.mcp\bin\Debug\net9.0\msbuild.mcp.exe',MCP 服务器的启动命令,指向构建生成的可执行文件路径。
- 'args': 启动参数,本示例中为空数组 '[]'。
- 'env': 环境变量,本示例中为空对象 '{}'。
基本使用方法
- 启动 MCP 服务器:无需手动启动,当 MCP 客户端(如 Claude 或 VSCode)需要使用 MSBuild 相关功能时,会自动启动配置的 MCP 服务器。
- 在 MCP 客户端中使用:在 Claude 或 VSCode 等 MCP 客户端中,当需要分析或操作 MSBuild 项目时,客户端会调用此 MCP 服务器提供的工具和 Prompt,例如:
- 在聊天对话中,可以要求 Claude “列出项目 A 的目标框架版本”, Claude 可能会调用 'list-target-frameworks' 工具并返回结果。
- 可以指示 Claude “将项目 B 升级到 .NET 9.0”,Claude 可能会使用 'upgrade-project' Prompt 与您进行更详细的交互。
本地调试:
可以使用 'npx @modelcontextprotocol/inspector ./bin/Debug/net9.0/msbuild.mcp' 命令来本地调试和检查 MCP 服务器的功能。
信息
分类
开发者工具