diff --git a/Directory.Packages.props b/Directory.Packages.props
index 70eb82f3a..4df4ea73a 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -3,7 +3,7 @@
     true
     9.0.5
     10.0.0-preview.4.25258.110
-    9.6.0
+    9.7.0
   
 
   
@@ -13,7 +13,7 @@
     
     
     
-    
+    
     
   
 
@@ -53,7 +53,7 @@
       all
     
     
-    
+    
     
     
     
diff --git a/samples/AspNetCoreSseServer/Tools/SampleLlmTool.cs b/samples/AspNetCoreSseServer/Tools/SampleLlmTool.cs
index 4fbca594a..247619dbb 100644
--- a/samples/AspNetCoreSseServer/Tools/SampleLlmTool.cs
+++ b/samples/AspNetCoreSseServer/Tools/SampleLlmTool.cs
@@ -17,19 +17,14 @@ public static async Task SampleLLM(
         [Description("Maximum number of tokens to generate")] int maxTokens,
         CancellationToken cancellationToken)
     {
-        ChatMessage[] messages =
-        [
-            new(ChatRole.System, "You are a helpful test server."),
-            new(ChatRole.User, prompt),
-        ];
-
         ChatOptions options = new()
         {
+            Instructions = "You are a helpful test server.",
             MaxOutputTokens = maxTokens,
             Temperature = 0.7f,
         };
 
-        var samplingResponse = await thisServer.AsSamplingChatClient().GetResponseAsync(messages, options, cancellationToken);
+        var samplingResponse = await thisServer.AsSamplingChatClient().GetResponseAsync(prompt, options, cancellationToken);
 
         return $"LLM sampling result: {samplingResponse}";
     }
diff --git a/src/ModelContextProtocol.Core/Server/McpServerExtensions.cs b/src/ModelContextProtocol.Core/Server/McpServerExtensions.cs
index d00c41a6b..277ed737b 100644
--- a/src/ModelContextProtocol.Core/Server/McpServerExtensions.cs
+++ b/src/ModelContextProtocol.Core/Server/McpServerExtensions.cs
@@ -64,6 +64,11 @@ public static async Task SampleAsync(
 
         StringBuilder? systemPrompt = null;
 
+        if (options?.Instructions is { } instructions)
+        {
+            (systemPrompt ??= new()).Append(instructions);
+        }
+
         List samplingMessages = [];
         foreach (var message in messages)
         {