MSBuild MCP Server について
Windows で MSBuild 対応のプロジェクトやソリューションをビルドする開発者向けの MCP サーバーです。MSBuild を動的に検出し、一般的なビルド設定や追加のコマンドライン引数を指定できます。
主な機能
- 01MSBuild 実行ファイルの動的検出
- 02構成、プラットフォーム、詳細度の設定
- 03並列 CPU 数と NuGet 復元の指定
- 04追加のコマンドライン引数の指定
- 05簡潔なビルドエラーの表示
活用シーン
- 01Visual Studio ソリューションのビルド
- 02C# または C++ プロジェクトのビルド
- 03Unreal Engine ソリューションのビルド
- 04ビルド構成とプラットフォームの選択
MCP 対応
プロジェクトパスとビルド設定を指定して MSBuild を呼び出すビルドツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MSBuild MCP サーバー
MSBuild のプロジェクトやソリューションのビルドを自動化する、軽量な MCP(Model Context Protocol)サーバーです。MSBuild を動的に検出し、カスタマイズ可能なビルド設定を提供します。
特長
- MSBuild の動的検出:MSBuild 実行ファイルを自動的に検出し、さまざまな Visual Studio インストール環境との互換性を確保します。
- カスタマイズ可能なビルド設定:LLM 主導のツール呼び出しを通じて、構成、プラットフォーム、詳細レベル、並列ビルドの CPU 数、NuGet の復元、追加のコマンドライン引数などのビルドオプションを簡単に設定できます。
- 明確なエラー報告:ビルドに失敗した際に、簡潔で関連性の高いエラーメッセージを抽出して表示します。
- MCP クライアントとの互換性:VSCode、Cursor、Windsurf などの一般的な MCP クライアントとシームレスに連携できます。これらのクライアント用の設定例をドキュメントに記載しています。
- 複数言語のサポート:.sln、.csproj、.vcxproj ファイルなど、MSBuild 互換のプロジェクトをサポートし、Windows プラットフォーム上で C#、C++ などの言語のビルドを可能にします。
前提条件
以下がインストールされていることを確認してください。
- Python 3.11 以降
- Visual Studio または Visual Studio Build Tools(MSBuild 用)
uv(推奨)
MCP サーバーの登録
uv がインストールされていることを確認してください。
AI ツール(Cursor、Windsurf、Claude Desktop など)の MCP 設定に、以下の設定を追加してください。
{
"mcpServers": {
"msbuild-mcp-server": {
"command": "uvx",
"args": [
"msbuild-mcp-server@latest"
]
}
}
}
次のスニペットをクライアントの設定ファイルに配置してください。
- VSCode:
.vscode/mcp.json - Cursor:
~/.cursor/mcp.jsonまたは<project-root>/.cursor/mcp.json - Windsurf:
~/.codeium/windsurf/mcp_config.json
msbuild-mcp-server とそのツールが正しく登録されるよう、ツールを再起動してください。
エージェントのプロンプト例
AI エージェントは、次のような自然言語でビルドを実行できます。
-
基本的なプロジェクトのビルド
"
C:/Path/To/Project.slnのソリューションをRelease|x64でビルドしてください。" -
Unreal Engine のビルド
"
C:/Projects/MyGame/MyGame.slnにあるソリューションをDevelopment Editor|Win64でビルドしてください。"
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。