commit d8de934fea8910cab9bed4515bf289516d6348d8
parent 5701ace06672d341c3b75d8d1bf3000fd132a0bf
Author: KEINOS <github+fork-qiita-news@keinos.com>
Date: Fri, 1 Aug 2025 21:28:19 +0000
Merge remote-tracking branch 'upstream/master'
Diffstat:
5 files changed, 60 insertions(+), 59 deletions(-)
diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props
@@ -1,39 +1,39 @@
-<Project>
- <PropertyGroup>
- <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
+<Project>
+ <PropertyGroup>
+ <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<!--
!!! Remove or update this on the next Microsoft.Windows.CsWinRT package version update. !!!
- -->
- <WindowsSdkPackageVersion>10.0.26100.53</WindowsSdkPackageVersion>
- </PropertyGroup>
- <ItemGroup>
- <PackageVersion Include="coverlet.collector" Version="3.1.2" />
- <PackageVersion Include="Microsoft.ApplicationInsights" Version="2.21.0" />
- <PackageVersion Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9" />
- <PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.6" />
- <PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
- <PackageVersion Include="Microsoft.Msix.Utils" Version="2.1.1" />
- <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
- <PackageVersion Include="Microsoft.PowerShell.SDK" Version="7.4.6" />
- <PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" />
- <PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.1.6" />
- <PackageVersion Include="Microsoft.Windows.SDK.Contracts" Version="10.0.26100.1742" />
- <PackageVersion Include="ModelContextProtocol" Version="0.2.0-preview.3" />
- <PackageVersion Include="Moq" Version="4.18.2" />
- <PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
- <PackageVersion Include="nunit" Version="3.12.0" />
- <PackageVersion Include="NUnit3TestAdapter" Version="3.15.1" />
- <PackageVersion Include="Octokit" Version="4.0.3" />
- <PackageVersion Include="PowerShellStandard.Library" Version="5.1.1" />
- <PackageVersion Include="Semver" Version="2.3.0" />
- <PackageVersion Include="StyleCop.Analyzers" Version="1.1.118" />
- <PackageVersion Include="System.Data.SqlClient" Version="4.8.6" />
- <PackageVersion Include="System.Net.Http" Version="4.3.4" />
- <PackageVersion Include="System.Private.Uri" Version="4.3.2" />
- <PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" />
- <PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
- <PackageVersion Include="xunit" Version="2.4.2" />
- <PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5" />
- <PackageVersion Include="YamlDotNet" Version="16.3.0" />
- </ItemGroup>
-</Project>
+ -->
+ <WindowsSdkPackageVersion>10.0.26100.53</WindowsSdkPackageVersion>
+ </PropertyGroup>
+ <ItemGroup>
+ <PackageVersion Include="coverlet.collector" Version="3.1.2" />
+ <PackageVersion Include="Microsoft.ApplicationInsights" Version="2.21.0" />
+ <PackageVersion Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9" />
+ <PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.6" />
+ <PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
+ <PackageVersion Include="Microsoft.Msix.Utils" Version="2.1.1" />
+ <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
+ <PackageVersion Include="Microsoft.PowerShell.SDK" Version="7.4.6" />
+ <PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" />
+ <PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.1.6" />
+ <PackageVersion Include="Microsoft.Windows.SDK.Contracts" Version="10.0.26100.1742" />
+ <PackageVersion Include="ModelContextProtocol" Version="0.3.0-preview.3" />
+ <PackageVersion Include="Moq" Version="4.18.2" />
+ <PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
+ <PackageVersion Include="nunit" Version="3.12.0" />
+ <PackageVersion Include="NUnit3TestAdapter" Version="3.15.1" />
+ <PackageVersion Include="Octokit" Version="4.0.3" />
+ <PackageVersion Include="PowerShellStandard.Library" Version="5.1.1" />
+ <PackageVersion Include="Semver" Version="2.3.0" />
+ <PackageVersion Include="StyleCop.Analyzers" Version="1.1.118" />
+ <PackageVersion Include="System.Data.SqlClient" Version="4.8.6" />
+ <PackageVersion Include="System.Net.Http" Version="4.3.4" />
+ <PackageVersion Include="System.Private.Uri" Version="4.3.2" />
+ <PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" />
+ <PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
+ <PackageVersion Include="xunit" Version="2.4.2" />
+ <PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5" />
+ <PackageVersion Include="YamlDotNet" Version="16.3.0" />
+ </ItemGroup>
+</Project>+
\ No newline at end of file
diff --git a/src/WinGetMCPServer/Exceptions/ToolResponseException.cs b/src/WinGetMCPServer/Exceptions/ToolResponseException.cs
@@ -13,11 +13,11 @@ namespace WinGetMCPServer.Exceptions
/// </summary>
internal class ToolResponseException : Exception
{
- public ToolResponseException(CallToolResponse toolResponse)
+ public ToolResponseException(CallToolResult toolResponse)
{
this.Response = toolResponse;
}
- public CallToolResponse Response { get; private set; }
+ public CallToolResult Response { get; private set; }
}
}
diff --git a/src/WinGetMCPServer/Response/PackageResponse.cs b/src/WinGetMCPServer/Response/PackageResponse.cs
@@ -20,12 +20,12 @@ namespace WinGetMCPServer.Response
/// </summary>
/// <param name="connectResult">The connect result.</param>
/// <returns>The response.</returns>
- public static CallToolResponse ForConnectError(ConnectResult connectResult)
+ public static CallToolResult ForConnectError(ConnectResult connectResult)
{
- return new CallToolResponse()
+ return new CallToolResult()
{
IsError = true,
- Content = [new Content() { Text = $"Failed when connecting to the package source with error: {connectResult.ExtendedErrorCode.Message} [0x{connectResult.ExtendedErrorCode.HResult:X8}]" }],
+ Content = [new TextContentBlock() { Text = $"Failed when connecting to the package source with error: {connectResult.ExtendedErrorCode.Message} [0x{connectResult.ExtendedErrorCode.HResult:X8}]" }],
};
}
@@ -34,12 +34,12 @@ namespace WinGetMCPServer.Response
/// </summary>
/// <param name="findResult">The find packages result.</param>
/// <returns>The response.</returns>
- public static CallToolResponse ForFindError(FindPackagesResult findResult)
+ public static CallToolResult ForFindError(FindPackagesResult findResult)
{
- return new CallToolResponse()
+ return new CallToolResult()
{
IsError = true,
- Content = [new Content() { Text = $"Failed when finding packages with reason {findResult.Status} and error: {findResult.ExtendedErrorCode.Message} [0x{findResult.ExtendedErrorCode.HResult:X8}]" }],
+ Content = [new TextContentBlock() { Text = $"Failed when finding packages with reason {findResult.Status} and error: {findResult.ExtendedErrorCode.Message} [0x{findResult.ExtendedErrorCode.HResult:X8}]" }],
};
}
@@ -47,12 +47,12 @@ namespace WinGetMCPServer.Response
/// Creates a response that indicates the operation was cancelled before any changes were made.
/// </summary>
/// <returns>The response.</returns>
- public static CallToolResponse ForCancelBeforeSystemChange()
+ public static CallToolResult ForCancelBeforeSystemChange()
{
- return new CallToolResponse()
+ return new CallToolResult()
{
IsError = true,
- Content = [new Content() { Text = $"The operation was cancelled before any system change was started" }],
+ Content = [new TextContentBlock() { Text = $"The operation was cancelled before any system change was started" }],
};
}
@@ -62,7 +62,7 @@ namespace WinGetMCPServer.Response
/// <param name="identifer">The identifier used when searching.</param>
/// <param name="source">The source that was searched.</param>
/// <returns>The response.</returns>
- public static CallToolResponse ForEmptyFind(string identifer, string? source)
+ public static CallToolResult ForEmptyFind(string identifer, string? source)
{
PackageIdentityErrorResult result = new()
{
@@ -81,7 +81,7 @@ namespace WinGetMCPServer.Response
/// <param name="source">The source that was searched.</param>
/// <param name="findResult">The result that contains multiple packages.</param>
/// <returns>The response.</returns>
- public static CallToolResponse ForMultiFind(string identifer, string? source, FindPackagesResult findResult)
+ public static CallToolResult ForMultiFind(string identifer, string? source, FindPackagesResult findResult)
{
PackageIdentityErrorResult result = new()
{
@@ -101,7 +101,7 @@ namespace WinGetMCPServer.Response
/// <param name="installResult">The install operation result.</param>
/// <param name="findResult">The post-install package data.</param>
/// <returns>The response.</returns>
- public static CallToolResponse ForInstallOperation(InstallResult installResult, FindPackagesResult? findResult)
+ public static CallToolResult ForInstallOperation(InstallResult installResult, FindPackagesResult? findResult)
{
InstallOperationResult result = new InstallOperationResult();
diff --git a/src/WinGetMCPServer/Response/ToolResponse.cs b/src/WinGetMCPServer/Response/ToolResponse.cs
@@ -25,10 +25,10 @@ namespace WinGetMCPServer.Response
{
if (!GroupPolicy.GetInstance().IsEnabled(Policy.McpServer))
{
- throw new ToolResponseException(new CallToolResponse()
+ throw new ToolResponseException(new CallToolResult()
{
IsError = true,
- Content = [new Content() { Text = "The Windows Package Manager MCP server is disabled by group policy." }]
+ Content = [new TextContentBlock() { Text = "The Windows Package Manager MCP server is disabled by group policy." }]
});
}
}
@@ -39,7 +39,7 @@ namespace WinGetMCPServer.Response
/// <param name="value">The object to return in the response.</param>
/// <param name="isError">Whether or not the response is an error.</param>
/// <returns>The response.</returns>
- public static CallToolResponse FromObject(object value, bool isError = false)
+ public static CallToolResult FromObject(object value, bool isError = false)
{
return FromObject(value, isError, GetDefaultJsonOptions());
}
@@ -51,12 +51,12 @@ namespace WinGetMCPServer.Response
/// <param name="isError">Whether or not the response is an error.</param>
/// <param name="jsonSerializerOptions">The JSON serializer options for serializing the object.</param>
/// <returns>The response.</returns>
- public static CallToolResponse FromObject(object value, bool isError, JsonSerializerOptions jsonSerializerOptions)
+ public static CallToolResult FromObject(object value, bool isError, JsonSerializerOptions jsonSerializerOptions)
{
- return new CallToolResponse()
+ return new CallToolResult()
{
IsError = isError,
- Content = [new Content() { Text = JsonSerializer.Serialize(value, GetDefaultJsonOptions()) }]
+ Content = [new TextContentBlock() { Text = JsonSerializer.Serialize(value, GetDefaultJsonOptions()) }]
};
}
diff --git a/src/WinGetMCPServer/WingetPackageTools.cs b/src/WinGetMCPServer/WingetPackageTools.cs
@@ -35,7 +35,7 @@ namespace WinGetMCPServer
ReadOnly = true,
OpenWorld = false)]
[Description("Find installed and available packages using WinGet")]
- public CallToolResponse FindPackages(
+ public CallToolResult FindPackages(
[Description("Find packages identified by this value")] string query)
{
try
@@ -77,7 +77,7 @@ namespace WinGetMCPServer
Idempotent = false,
OpenWorld = false)]
[Description("Install or update a package using WinGet")]
- public async Task<CallToolResponse> InstallPackage(
+ public async Task<CallToolResult> InstallPackage(
[Description("The identifier of the WinGet package")] string identifier,
IProgress<ProgressNotificationValue> progress,
CancellationToken cancellationToken,