20250726 增加mcp服务
This commit is contained in:
parent
276cccf506
commit
12d0732b8e
10
pom.xml
10
pom.xml
@ -79,6 +79,16 @@
|
|||||||
<version>${elasticsearch.version}</version>
|
<version>${elasticsearch.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- mcp -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.ai</groupId>
|
||||||
|
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.ai</groupId>
|
||||||
|
<artifactId>spring-ai-mcp</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- Jackson Core 和 Databind for JSON processing -->
|
<!-- Jackson Core 和 Databind for JSON processing -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
package com.example.springaidemo;
|
package com.example.springaidemo;
|
||||||
|
|
||||||
|
import com.example.springaidemo.tool.McpDemoTool;
|
||||||
|
import org.springframework.ai.tool.ToolCallbackProvider;
|
||||||
|
import org.springframework.ai.tool.method.MethodToolCallbackProvider;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class SpringAiDemoApplication {
|
public class SpringAiDemoApplication {
|
||||||
@ -15,4 +19,9 @@ public class SpringAiDemoApplication {
|
|||||||
System.setProperty("proxySet", "true");
|
System.setProperty("proxySet", "true");
|
||||||
SpringApplication.run(SpringAiDemoApplication.class, args);
|
SpringApplication.run(SpringAiDemoApplication.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ToolCallbackProvider heroInfoTool(McpDemoTool mcpDemoTool) {
|
||||||
|
return MethodToolCallbackProvider.builder().toolObjects(mcpDemoTool).build();
|
||||||
|
}
|
||||||
}
|
}
|
21
src/main/java/com/example/springaidemo/tool/McpDemoTool.java
Normal file
21
src/main/java/com/example/springaidemo/tool/McpDemoTool.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package com.example.springaidemo.tool;
|
||||||
|
|
||||||
|
import org.springframework.ai.tool.annotation.Tool;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class McpDemoTool {
|
||||||
|
|
||||||
|
private Map<String, Object> heroInfoMap = Map.of("支援","耀佳音:一个靠唱歌来提升队伍战斗力的英魂",
|
||||||
|
"强攻", "艾莲乔:一个靠冰属性进行攻击的强力输出英魂",
|
||||||
|
"异常", "一个靠冰焰给敌人积蓄异常属性,再消耗继续进行瞬间爆发的英魂");
|
||||||
|
|
||||||
|
@Tool(description = "查找绝境英魂信息")
|
||||||
|
public String HeroInfos(String query) {
|
||||||
|
return heroInfoMap.get(query) == null ? "没有找到相关的英魂的信息" : heroInfoMap.get(query).toString();
|
||||||
|
}
|
||||||
|
}
|
@ -42,6 +42,12 @@ spring:
|
|||||||
# chat:
|
# chat:
|
||||||
# options:
|
# options:
|
||||||
# model: ${OLLAMA_MODEL:llama2}
|
# model: ${OLLAMA_MODEL:llama2}
|
||||||
|
mcp:
|
||||||
|
server:
|
||||||
|
name: james-hero-mcp-server
|
||||||
|
version: 1.0.0
|
||||||
|
type: sync
|
||||||
|
|
||||||
|
|
||||||
server:
|
server:
|
||||||
port: 8009
|
port: 8009
|
||||||
|
Loading…
Reference in New Issue
Block a user