diff --git a/auto-configurations/mcp/spring-ai-autoconfigure-mcp-client/src/main/java/org/springframework/ai/mcp/client/autoconfigure/properties/McpStdioClientProperties.java b/auto-configurations/mcp/spring-ai-autoconfigure-mcp-client/src/main/java/org/springframework/ai/mcp/client/autoconfigure/properties/McpStdioClientProperties.java index f4d013b7a8f..ba84b40bdd8 100644 --- a/auto-configurations/mcp/spring-ai-autoconfigure-mcp-client/src/main/java/org/springframework/ai/mcp/client/autoconfigure/properties/McpStdioClientProperties.java +++ b/auto-configurations/mcp/spring-ai-autoconfigure-mcp-client/src/main/java/org/springframework/ai/mcp/client/autoconfigure/properties/McpStdioClientProperties.java @@ -16,9 +16,7 @@ package org.springframework.ai.mcp.client.autoconfigure.properties; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import com.fasterxml.jackson.annotation.JsonInclude; @@ -45,6 +43,10 @@ public class McpStdioClientProperties { public static final String CONFIG_PREFIX = "spring.ai.mcp.client.stdio"; + private static final List WIN_COMMAND = List.of("npx"); + + private static final String OS_NAME = System.getProperty("os.name").toLowerCase(); + /** * Resource containing the MCP servers configuration. *

@@ -128,6 +130,11 @@ public record Parameters( @JsonProperty("env") Map env) { public ServerParameters toServerParameters() { + if (OS_NAME.contains("win") && WIN_COMMAND.contains(command)) { + List winArgs = new LinkedList<>(Arrays.asList("/c", this.command())); + winArgs.addAll(this.args); + return ServerParameters.builder("cmd.exe").args(winArgs).env(this.env()).build(); + } return ServerParameters.builder(this.command()).args(this.args()).env(this.env()).build(); } diff --git a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/evaluation/FactCheckingEvaluator.java b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/evaluation/FactCheckingEvaluator.java index 870b876631c..2d183a1a871 100644 --- a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/evaluation/FactCheckingEvaluator.java +++ b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/evaluation/FactCheckingEvaluator.java @@ -134,7 +134,7 @@ public EvaluationResponse evaluate(EvaluationRequest evaluationRequest) { .call() .content(); - boolean passing = evaluationResponse.equalsIgnoreCase("yes"); + boolean passing = evaluationResponse.toLowerCase().contains("yes"); return new EvaluationResponse(passing, "", Collections.emptyMap()); }