From dfafebd8fe69971be1de50fa229335bb35fc3b3f Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Wed, 9 Apr 2025 03:55:13 -0400 Subject: [PATCH] Avoid propagating server tool exception message to client (#242) Co-authored-by: Eirik Tsarpalis --- src/ModelContextProtocol/Server/AIFunctionMcpServerTool.cs | 2 +- .../Configuration/McpServerBuilderExtensionsToolsTests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ModelContextProtocol/Server/AIFunctionMcpServerTool.cs b/src/ModelContextProtocol/Server/AIFunctionMcpServerTool.cs index 0f33c8e..ad37f37 100644 --- a/src/ModelContextProtocol/Server/AIFunctionMcpServerTool.cs +++ b/src/ModelContextProtocol/Server/AIFunctionMcpServerTool.cs @@ -270,7 +270,7 @@ internal sealed class AIFunctionMcpServerTool : McpServerTool return new CallToolResponse() { IsError = true, - Content = [new() { Text = e.Message, Type = "text" }], + Content = [new() { Text = $"An error occurred invoking '{request.Params?.Name}'.", Type = "text" }], }; } diff --git a/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs b/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs index a93a309..57e6eb8 100644 --- a/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs +++ b/tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs @@ -376,7 +376,7 @@ public class McpServerBuilderExtensionsToolsTests : ClientServerTestBase Assert.True(result.IsError); Assert.NotNull(result.Content); Assert.NotEmpty(result.Content); - Assert.Contains("Test error", result.Content[0].Text); + Assert.Contains("An error occurred", result.Content[0].Text); } [Fact]