msbuild-mcp-server 0.1.0__tar.gz → 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: msbuild-mcp-server
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: A lightweight MCP server for automating MSBuild projects and solutions builds.
5
5
  License: MIT
6
6
  Requires-Python: >=3.11
@@ -9,20 +9,21 @@ License-File: LICENSE
9
9
  Requires-Dist: fastmcp>=2.0
10
10
  Requires-Dist: uv
11
11
  Requires-Dist: vswhere>=1.0.0
12
- Requires-Dist: pytest
12
+ Provides-Extra: dev
13
+ Requires-Dist: pytest; extra == "dev"
13
14
  Dynamic: license-file
14
15
 
15
16
  # MSBuild MCP Server
16
17
 
17
- A lightweight MCP (Model Context Protocol) server for automating MSBuild projects and solutions builds. It dynamically locates MSBuild using the `vswhere` Python package and provides customizable build configuration options.
18
+ A lightweight MCP (Model Context Protocol) server for automating MSBuild projects and solutions builds. It dynamically locates MSBuild and provides customizable build configuration options.
18
19
 
19
20
  ## Features
20
21
 
21
- - **Dynamic MSBuild Discovery**: Automatically detects the MSBuild executable using `vswhere`, ensuring compatibility with various Visual Studio installations.
22
- - **Customizable Build Settings**: Easily configure build options such as configuration, platform, verbosity level, parallel build CPU count, NuGet restore, and additional command-line arguments.
22
+ - **Dynamic MSBuild Discovery**: Automatically detects the MSBuild executable, ensuring compatibility with various Visual Studio installations.
23
+ - **Customizable Build Settings**: Easily configure build options such as configuration, platform, verbosity level, parallel build CPU count, NuGet restore, and additional command-line arguments through LLM-driven tool invocation.
23
24
  - **Clear Error Reporting**: Filters and presents concise, relevant error messages upon build failures.
24
- - **MCP Client Compatibility**: Integrates seamlessly with MCP clients, including VSCode, Cursor, Windsurf, and more.
25
- - **Cross-Language Support**: Works with MSBuild-compatible projects (.sln, .csproj, .vcxproj).
25
+ - **MCP Client Compatibility**: Supports seamless integration with popular MCP clients such as VSCode, Cursor, Windsurf, and more. Configuration snippets for these clients are provided in the documentation.
26
+ - **Cross-Language Support**: Supports MSBuild-compatible projects, including .sln, .csproj, and .vcxproj files, enabling builds for languages like C#, C++, and more across Windows platforms.
26
27
 
27
28
  ## Prerequisites
28
29
 
@@ -32,21 +33,19 @@ Ensure the following prerequisites are installed:
32
33
  - Visual Studio or Visual Studio Build Tools (for MSBuild)
33
34
  - [`uv`](https://docs.astral.sh/uv/getting-started/installation/) (recommended)
34
35
 
35
- ## MCP Client Setup
36
+ ## Registering the MCP Server
36
37
 
37
- Use the same configuration snippet for all MCP clients:
38
+ Ensure `uv` is installed.
39
+
40
+ In the MCP settings of your AI tools (e.g., Cursor, Windsurf, Claude Desktop, etc.), add the following configuration:
38
41
 
39
42
  ```json
40
43
  {
41
44
  "mcpServers": {
42
45
  "msbuild-mcp-server": {
43
- "type": "stdio",
44
- "command": "uv",
46
+ "command": "uvx",
45
47
  "args": [
46
- "--directory",
47
- "<path/to/cloned/msbuild-mcp-server>",
48
- "run",
49
- "src/msbuild_mcp_server/server.py"
48
+ "msbuild-mcp-server@latest"
50
49
  ]
51
50
  }
52
51
  }
@@ -58,6 +57,8 @@ Place this snippet in your client configuration file:
58
57
  - **Cursor**: `~/.cursor/mcp.json` or `<project-root>/.cursor/mcp.json`
59
58
  - **Windsurf**: `~/.codeium/windsurf/mcp_config.json`
60
59
 
60
+ Restart your tool to ensure that the `msbuild-mcp-server` and its provided tools are properly registered.
61
+
61
62
  ## License
62
63
 
63
64
  This project is licensed under the MIT License.
@@ -1,14 +1,14 @@
1
1
  # MSBuild MCP Server
2
2
 
3
- A lightweight MCP (Model Context Protocol) server for automating MSBuild projects and solutions builds. It dynamically locates MSBuild using the `vswhere` Python package and provides customizable build configuration options.
3
+ A lightweight MCP (Model Context Protocol) server for automating MSBuild projects and solutions builds. It dynamically locates MSBuild and provides customizable build configuration options.
4
4
 
5
5
  ## Features
6
6
 
7
- - **Dynamic MSBuild Discovery**: Automatically detects the MSBuild executable using `vswhere`, ensuring compatibility with various Visual Studio installations.
8
- - **Customizable Build Settings**: Easily configure build options such as configuration, platform, verbosity level, parallel build CPU count, NuGet restore, and additional command-line arguments.
7
+ - **Dynamic MSBuild Discovery**: Automatically detects the MSBuild executable, ensuring compatibility with various Visual Studio installations.
8
+ - **Customizable Build Settings**: Easily configure build options such as configuration, platform, verbosity level, parallel build CPU count, NuGet restore, and additional command-line arguments through LLM-driven tool invocation.
9
9
  - **Clear Error Reporting**: Filters and presents concise, relevant error messages upon build failures.
10
- - **MCP Client Compatibility**: Integrates seamlessly with MCP clients, including VSCode, Cursor, Windsurf, and more.
11
- - **Cross-Language Support**: Works with MSBuild-compatible projects (.sln, .csproj, .vcxproj).
10
+ - **MCP Client Compatibility**: Supports seamless integration with popular MCP clients such as VSCode, Cursor, Windsurf, and more. Configuration snippets for these clients are provided in the documentation.
11
+ - **Cross-Language Support**: Supports MSBuild-compatible projects, including .sln, .csproj, and .vcxproj files, enabling builds for languages like C#, C++, and more across Windows platforms.
12
12
 
13
13
  ## Prerequisites
14
14
 
@@ -18,21 +18,19 @@ Ensure the following prerequisites are installed:
18
18
  - Visual Studio or Visual Studio Build Tools (for MSBuild)
19
19
  - [`uv`](https://docs.astral.sh/uv/getting-started/installation/) (recommended)
20
20
 
21
- ## MCP Client Setup
21
+ ## Registering the MCP Server
22
22
 
23
- Use the same configuration snippet for all MCP clients:
23
+ Ensure `uv` is installed.
24
+
25
+ In the MCP settings of your AI tools (e.g., Cursor, Windsurf, Claude Desktop, etc.), add the following configuration:
24
26
 
25
27
  ```json
26
28
  {
27
29
  "mcpServers": {
28
30
  "msbuild-mcp-server": {
29
- "type": "stdio",
30
- "command": "uv",
31
+ "command": "uvx",
31
32
  "args": [
32
- "--directory",
33
- "<path/to/cloned/msbuild-mcp-server>",
34
- "run",
35
- "src/msbuild_mcp_server/server.py"
33
+ "msbuild-mcp-server@latest"
36
34
  ]
37
35
  }
38
36
  }
@@ -44,6 +42,8 @@ Place this snippet in your client configuration file:
44
42
  - **Cursor**: `~/.cursor/mcp.json` or `<project-root>/.cursor/mcp.json`
45
43
  - **Windsurf**: `~/.codeium/windsurf/mcp_config.json`
46
44
 
45
+ Restart your tool to ensure that the `msbuild-mcp-server` and its provided tools are properly registered.
46
+
47
47
  ## License
48
48
 
49
49
  This project is licensed under the MIT License.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "msbuild-mcp-server"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  description = "A lightweight MCP server for automating MSBuild projects and solutions builds."
5
5
  license = { text = "MIT" }
6
6
  readme = "README.md"
@@ -9,8 +9,7 @@ requires-python = ">=3.11"
9
9
  dependencies = [
10
10
  "fastmcp>=2.0",
11
11
  "uv",
12
- "vswhere>=1.0.0",
13
- "pytest"
12
+ "vswhere>=1.0.0"
14
13
  ]
15
14
 
16
15
  [project.scripts]
@@ -20,4 +19,9 @@ msbuild-mcp-server = "msbuild_mcp_server.server:main"
20
19
  packages = ["msbuild_mcp_server"]
21
20
 
22
21
  [tool.setuptools.package-dir]
23
- "" = "src"
22
+ "" = "src"
23
+
24
+ [project.optional-dependencies]
25
+ dev = [
26
+ "pytest"
27
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: msbuild-mcp-server
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: A lightweight MCP server for automating MSBuild projects and solutions builds.
5
5
  License: MIT
6
6
  Requires-Python: >=3.11
@@ -9,20 +9,21 @@ License-File: LICENSE
9
9
  Requires-Dist: fastmcp>=2.0
10
10
  Requires-Dist: uv
11
11
  Requires-Dist: vswhere>=1.0.0
12
- Requires-Dist: pytest
12
+ Provides-Extra: dev
13
+ Requires-Dist: pytest; extra == "dev"
13
14
  Dynamic: license-file
14
15
 
15
16
  # MSBuild MCP Server
16
17
 
17
- A lightweight MCP (Model Context Protocol) server for automating MSBuild projects and solutions builds. It dynamically locates MSBuild using the `vswhere` Python package and provides customizable build configuration options.
18
+ A lightweight MCP (Model Context Protocol) server for automating MSBuild projects and solutions builds. It dynamically locates MSBuild and provides customizable build configuration options.
18
19
 
19
20
  ## Features
20
21
 
21
- - **Dynamic MSBuild Discovery**: Automatically detects the MSBuild executable using `vswhere`, ensuring compatibility with various Visual Studio installations.
22
- - **Customizable Build Settings**: Easily configure build options such as configuration, platform, verbosity level, parallel build CPU count, NuGet restore, and additional command-line arguments.
22
+ - **Dynamic MSBuild Discovery**: Automatically detects the MSBuild executable, ensuring compatibility with various Visual Studio installations.
23
+ - **Customizable Build Settings**: Easily configure build options such as configuration, platform, verbosity level, parallel build CPU count, NuGet restore, and additional command-line arguments through LLM-driven tool invocation.
23
24
  - **Clear Error Reporting**: Filters and presents concise, relevant error messages upon build failures.
24
- - **MCP Client Compatibility**: Integrates seamlessly with MCP clients, including VSCode, Cursor, Windsurf, and more.
25
- - **Cross-Language Support**: Works with MSBuild-compatible projects (.sln, .csproj, .vcxproj).
25
+ - **MCP Client Compatibility**: Supports seamless integration with popular MCP clients such as VSCode, Cursor, Windsurf, and more. Configuration snippets for these clients are provided in the documentation.
26
+ - **Cross-Language Support**: Supports MSBuild-compatible projects, including .sln, .csproj, and .vcxproj files, enabling builds for languages like C#, C++, and more across Windows platforms.
26
27
 
27
28
  ## Prerequisites
28
29
 
@@ -32,21 +33,19 @@ Ensure the following prerequisites are installed:
32
33
  - Visual Studio or Visual Studio Build Tools (for MSBuild)
33
34
  - [`uv`](https://docs.astral.sh/uv/getting-started/installation/) (recommended)
34
35
 
35
- ## MCP Client Setup
36
+ ## Registering the MCP Server
36
37
 
37
- Use the same configuration snippet for all MCP clients:
38
+ Ensure `uv` is installed.
39
+
40
+ In the MCP settings of your AI tools (e.g., Cursor, Windsurf, Claude Desktop, etc.), add the following configuration:
38
41
 
39
42
  ```json
40
43
  {
41
44
  "mcpServers": {
42
45
  "msbuild-mcp-server": {
43
- "type": "stdio",
44
- "command": "uv",
46
+ "command": "uvx",
45
47
  "args": [
46
- "--directory",
47
- "<path/to/cloned/msbuild-mcp-server>",
48
- "run",
49
- "src/msbuild_mcp_server/server.py"
48
+ "msbuild-mcp-server@latest"
50
49
  ]
51
50
  }
52
51
  }
@@ -58,6 +57,8 @@ Place this snippet in your client configuration file:
58
57
  - **Cursor**: `~/.cursor/mcp.json` or `<project-root>/.cursor/mcp.json`
59
58
  - **Windsurf**: `~/.codeium/windsurf/mcp_config.json`
60
59
 
60
+ Restart your tool to ensure that the `msbuild-mcp-server` and its provided tools are properly registered.
61
+
61
62
  ## License
62
63
 
63
64
  This project is licensed under the MIT License.
@@ -7,5 +7,4 @@ src/msbuild_mcp_server.egg-info/SOURCES.txt
7
7
  src/msbuild_mcp_server.egg-info/dependency_links.txt
8
8
  src/msbuild_mcp_server.egg-info/entry_points.txt
9
9
  src/msbuild_mcp_server.egg-info/requires.txt
10
- src/msbuild_mcp_server.egg-info/top_level.txt
11
- tests/test_server.py
10
+ src/msbuild_mcp_server.egg-info/top_level.txt
@@ -1,4 +1,6 @@
1
1
  fastmcp>=2.0
2
2
  uv
3
3
  vswhere>=1.0.0
4
+
5
+ [dev]
4
6
  pytest
@@ -1,22 +0,0 @@
1
- import pytest
2
- from server import find_msbuild, build_msbuild_project
3
-
4
- def test_find_msbuild():
5
- """Test that find_msbuild returns a valid path."""
6
- try:
7
- msbuild_path = find_msbuild()
8
- assert msbuild_path.endswith("MSBuild.exe"), "MSBuild path does not end with MSBuild.exe"
9
- except FileNotFoundError:
10
- pytest.skip("MSBuild not found on this system.")
11
-
12
- def test_build_msbuild_project():
13
- """Test the build_msbuild_project function with a mock project."""
14
- # Mock project path (replace with an actual test project if available)
15
- project_path = "mock_project.sln"
16
- result = build_msbuild_project(
17
- project_path=project_path,
18
- configuration="Debug",
19
- platform="x64",
20
- verbosity="minimal"
21
- )
22
- assert "Build succeeded." in result or "Build failed" in result, "Unexpected build result."