20250726 增加mcp服务

This commit is contained in:
liangjinglin 2025-07-26 17:54:35 +08:00
parent 276cccf506
commit 12d0732b8e
4 changed files with 46 additions and 0 deletions

10
pom.xml
View File

@ -79,6 +79,16 @@
<version>${elasticsearch.version}</version>
</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 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>

View File

@ -1,7 +1,11 @@
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.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class SpringAiDemoApplication {
@ -15,4 +19,9 @@ public class SpringAiDemoApplication {
System.setProperty("proxySet", "true");
SpringApplication.run(SpringAiDemoApplication.class, args);
}
@Bean
public ToolCallbackProvider heroInfoTool(McpDemoTool mcpDemoTool) {
return MethodToolCallbackProvider.builder().toolObjects(mcpDemoTool).build();
}
}

View 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();
}
}

View File

@ -42,6 +42,12 @@ spring:
# chat:
# options:
# model: ${OLLAMA_MODEL:llama2}
mcp:
server:
name: james-hero-mcp-server
version: 1.0.0
type: sync
server:
port: 8009