-
Notifications
You must be signed in to change notification settings - Fork 2k
Closed
Description
大模型: ollama qwen3:8b
MCP-Server: spring-ai-starter-mcp-server-webflux 1.1.0-SNAPSHOT
application.yml
server:
port: 8887
spring:
ai:
ollama:
base-url: http://192.168.1.5:11434
chat:
model: qwen3:8b
mcp:
client:
name: spring-ai-mcp-client
version: 1.0.0
request-timeout: 30s # MCP 客户端请求的超时持续时间
type: async # 异步的
sse:
connections:
server1:
url: http://127.0.0.1:8888
sse-endpoint: /sse
toolcallback:
enabled: true # 工具回调处于活动状态code
@Service
public class WeatherService {
@Tool(name = "getWeather", description = "根据城市名称获取天气预报")
public String getWeather(@ToolParam(description = "城市名称") String city) {
Map<String, String> mockData = Map.of(
"西安", "晴天",
"北京", "小雨",
"上海", "大雨"
);
return mockData.getOrDefault(city, "抱歉:未查询到对应城市!");
}
}
/**
* 工具回调提供程序
* @param weatherService WeatherService
* @return ToolCallbackProvider
*/
@Bean
public ToolCallbackProvider weatherTools(@Autowired WeatherService weatherService) {
return MethodToolCallbackProvider.builder().toolObjects(weatherService).build();
}MCP-Client:
spring-ai-starter-mcp-client-webflux 1.1.0-SNAPSHOT
spring-ai-starter-model-ollama 1.1.0-SNAPSHOT
application.yml
server:
port: 8887
spring:
ai:
ollama:
base-url: http://192.168.1.5:11434
chat:
model: qwen3:8b
mcp:
client:
name: spring-ai-mcp-client
version: 1.0.0
request-timeout: 30s # MCP 客户端请求的超时持续时间
type: async # 异步的
sse:
connections:
server1:
url: http://127.0.0.1:8888
sse-endpoint: /sse
toolcallback:
enabled: true # 工具回调处于活动状态code
@RestController
public class DemoController {
private final ChatClient chatClient;
public DemoController(ChatClient.Builder builder,
ToolCallbackProvider callbackProvider) {
this.chatClient = builder
.defaultToolCallbacks(callbackProvider)
.build();
}
@GetMapping("/weather")
public Flux<String> getWeather() {
Flux<String> content = chatClient.prompt("今天西安的天气怎么样?")
.stream()
.content();
System.out.println("Response: " + content);
return content;
}
}question: Using "Postman" to access "http://localhost:8887/weather" gives the following results

I don't know where to configure the ToolContext object
But I use spring-ai-starter-mcp-client 1.0.0 and spring-ai-starter-mcp-server-webmvc 1.0.0, (Servlet) does not have this problem
Don't laugh at my poor English, thank you.