Solon AI MCP Server 入门:Helloworld (支持 java8 到 java24。国产解决方案)

目前网上能看到的 MCP Server 基本上都是基于 Python 或者 nodejs ,虽然也有 Java 版本的 MCP SDK,但是鲜有基于 Java 开发的。 作为Java 开发中的国产顶级框架 Solon 已经基于 MCP SDK 在进行 Solon AI MCP 框架开发了,本文将使用 Solon AI MCP 做一个简单的 MCP Server 入门。

引入依赖

Solon AI MCP 是 Solon AI 最新增加的特性。支持 Mcp Server 和 Mcp Client,且支持 Java 8 到 Java 24。最新的版本号为 3.2.0(随 Solon 的版号)。

xml 复制代码
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-ai-mcp</artifactId>
    <version>3.2.0</version>
</dependency>

开始写工具

solon-ai-mcp 支持多端点的架构,可以手动构建端点,或者注解构建端点(@McpServerEndpoint)。再使用 @ToolMapping 注解编写工具,就像开发 MVC 一样简单和熟悉。

  • @ToolMapping 注解标记这个方法是一个工具映射,通过 description 属性告诉大模型这个工具是做什么的,其实就是提示词,大模型会根据自己的理解调用这个工具,所以这个描述很重要。
  • @ToolParam:从名字可以看出来,就是工具调用时需要传什么参数
java 复制代码
@McpServerEndpoint(sseEndpoint = "/sse")
public class HelloService {
    @ToolMapping(description = "你好世界")
    public String hello(@ToolParam(description = "名字") String name) throws SQLException {
        return "hello " + name;
    }
}

这样就可以了。启动时就会自动注册。并且打印基本的信息:

用客户端做个单测(调用这个工具)

java 复制代码
@Slf4j
@SolonTest(App.class)
public class HelloTest extends HttpTester {
    @Test
    public void hello() throws IOException {
        McpClientToolProvider clientToolProvider = McpClientToolProvider.builder()
                .apiUrl("http://localhost:8080/sse")
                .build();

        String rst = clientToolProvider.callToolAsText("hello", Maps.of("name", "solon"));
        log.warn(rst);
    }
}

运行单测后:

相关推荐
希望永不加班10 分钟前
SpringBoot 集成测试:@SpringBootTest 与 MockMvc
java·spring boot·后端·log4j·集成测试
enAn_14 分钟前
对照片和视频文件名,程序追加日期,直观看
java·maven
yaaakaaang21 分钟前
六、适配器模式
java·适配器模式
bobasyu27 分钟前
Claude Code 源码笔记 -- queryLoop
java·笔记·spring
计算机学姐38 分钟前
基于SpringBoot的高校竞赛管理系统
java·spring boot·后端·spring·信息可视化·tomcat·mybatis
AnalogElectronic41 分钟前
普通数据源和druid数据源区别以及druid参数详解
java
東雪木43 分钟前
Java学习——泛型基础:泛型的核心作用、泛型类 / 方法 / 接口的定义
java·学习·java面试
一叶飘零_sweeeet1 小时前
ConcurrentHashMap 深度解析:从 JDK7 到 JDK8 的演进与并发安全保障
java·并发编程
三原1 小时前
超级好用的三原后台管理v1.0.0发布🎉(Vue3 + Ant Design Vue + Java Spring Boot )附源码
java·vue.js·开源
文慧的科技江湖1 小时前
光储充协同的终极闭环:用SpringCloud微服务打造“发-储-充-用“智能能源网络 - 慧知开源充电桩管理平台
java·开发语言·spring cloud·微服务·能源·充电桩开源平台·慧知重卡开源充电桩平台