新增 AI MCP 服务端和客户端调用,展示远程工具调用示例
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
/**
|
||||
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||||
* No deletion without permission, or be held responsible to law.
|
||||
*/
|
||||
package com.jeesite.modules;
|
||||
|
||||
import com.jeesite.common.config.Global;
|
||||
import com.jeesite.common.io.FileUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
|
||||
/**
|
||||
* Application
|
||||
* @author ThinkGem
|
||||
*/
|
||||
@SpringBootApplication
|
||||
public class AiMcpApplication extends SpringBootServletInitializer {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(AiMcpApplication.class);
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(AiMcpApplication.class, args);
|
||||
logger.info(
|
||||
"\n\n==============================================================\n"
|
||||
+ "\n 启动完成,MCP 地址:http://127.0.0.1:{}/api/v1/sse\n"
|
||||
+ "\n==============================================================\n",
|
||||
Global.getProperty("server.port") + FileUtils.path(
|
||||
Global.getProperty("server.servlet.context-path")));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
|
||||
this.setRegisterErrorPageFilter(false); // 错误页面有容器来处理,而不是SpringBoot
|
||||
return builder.sources(AiMcpApplication.class);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||||
* No deletion without permission, or be held responsible to law.
|
||||
*/
|
||||
package com.jeesite.modules.ai.mcp.config;
|
||||
|
||||
import com.jeesite.modules.ai.tools.TestAiTools;
|
||||
import com.jeesite.modules.ai.tools.UserAITools;
|
||||
import org.springframework.ai.tool.ToolCallbackProvider;
|
||||
import org.springframework.ai.tool.method.MethodToolCallbackProvider;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
|
||||
/**
|
||||
* AI MCP 服务配置
|
||||
* @author ThinkGem
|
||||
*/
|
||||
@Lazy(false)
|
||||
@Configuration
|
||||
public class McpServerConfig {
|
||||
|
||||
@Bean
|
||||
public ToolCallbackProvider mcpServerTools(TestAiTools testAiTools, UserAITools userAITools) {
|
||||
return MethodToolCallbackProvider.builder().toolObjects(testAiTools, userAITools).build();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user