feat: mcp升级依赖

This commit is contained in:
ageer
2025-04-20 22:52:00 +08:00
parent 9cd97a4dc5
commit 4af26fe4b4
17 changed files with 633 additions and 276 deletions

View File

@@ -0,0 +1,25 @@
package org.ruoyi.mcpserve;
import org.ruoyi.mcpserve.service.ToolService;
import org.springframework.ai.tool.ToolCallbackProvider;
import org.springframework.ai.tool.method.MethodToolCallbackProvider;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
/**
* @author ageer
*/
@SpringBootApplication
public class RuoyiMcpServeApplication {
public static void main(String[] args) {
SpringApplication.run(RuoyiMcpServeApplication.class, args);
}
@Bean
public ToolCallbackProvider systemTools(ToolService toolService) {
return MethodToolCallbackProvider.builder().toolObjects(toolService).build();
}
}

View File

@@ -0,0 +1,34 @@
package org.ruoyi.mcpserve.service;
import org.springframework.ai.tool.annotation.Tool;
import org.springframework.ai.tool.annotation.ToolParam;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.UUID;
/**
* @author ageer
*/
@Service
public class ToolService {
@Tool(description = "获取一个指定前缀的随机数")
public String add(@ToolParam(description = "字符前缀") String prefix) {
// 定义日期格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyMMdd");
//根据当前时间获取yyMMdd格式的时间字符串
String format = LocalDate.now().format(formatter);
//生成随机数
String replace = prefix + UUID.randomUUID().toString().replace("-", "");
return format + replace;
}
@Tool(description = "获取当前时间")
public LocalDateTime getCurrentTime() {
return LocalDateTime.now();
}
}