MCP Server Java 开发框架的体验比较(spring ai mcp 和 solon ai mcp)

目前已知的两个 mcp-server java 应用开发框架(ID类的,封装后体验都比较简洁):

  • spring-ai-mcp,支持 java17 或以上
  • solon-ai-mcp,支持 java8 或以上(也支持集成到 springboot2, jfinal, vert.x 等第三方框架)

下面分别用两个框架,构建一个天气查询的 mcp 工具服务。

1、spring ai mcp server(支持 java17 或以上)

添加关键的依赖包(版本号与 springboot 各自独立)

xml 复制代码
<dependency>
   <groupId>org.springframework.ai</groupId>
   <artifactId>spring-ai-mcp-server-spring-boot-starter</artifactId>
   <version>1.0.0-M6</version>
</dependency>

添加配置(为服务端点命名)

yaml 复制代码
spring.ai.mcp.server.name: jdbc-mcp-server

示例代码(构建服务,然后发布为 ToolCallbackProvider)

java 复制代码
@Service
public class JdbcQueryService {
    @Tool(description = "查询天气预报")
    public String getWeather(@ToolParam(description = "城市位置") String location) {
        return "晴,14度";
    }
}

@Configuration
public class McpConfig {
    @Bean
    ToolCallbackProvider jdbcQueryTools(JdbcQueryService jdbcQueryService) {
        return MethodToolCallbackProvider
                .builder()
                .toolObjects(jdbcQueryService)
                .build();
    }
}

2、solon ai mcp server(支持 java8 或以上)

添加关键的依赖包(版本号随 solon 一致)

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

示例代码(跟 mvc 的开发非常像)

java 复制代码
@McpServerEndpoint(name="mcp-case1", sseEndpoint = "/case1/sse") 
public class McpServerTool {
    @ToolMapping(description = "查询天气预报")
    public String getWeather(@ToolParam(description = "城市位置") String location) {
        return "晴,14度";
    }
}

solon ai mcp server 支持多端点。就是一个服务就可提供多组工具(供不同的场景使用,灵活性更好):

  • 可以有一组关于天气的工具
  • 可以再有一组关于地图的工具

3、总结

开发体验比较

比较 srping-ai-mcp solon-ai-mcp
开发 基于组件开发 基于组件开发
配置 通过 yaml 配置 组件,即是配置(也可引用 yaml 配置)
发布 通过配置器发布为 ToolCallbackProvider 组件,即是发布
jdk要求 jdk17或以上 jdk8或以上
端点支持 好像只能一个(一个服务内) 支持多端点(一个服务内)

solon-ai-mcp 的开发相对更简洁,三位一体。且支持多端点。

相关推荐
菩提小狗13 小时前
每日极客日报 · 2026年10月06日
ai·开源·极客日报·it热点·技术资讯
狼爷13 小时前
Rust/Go/Java/Python/PHP 大比拼:负载下后端框架到底差多少?
java·后端·编程语言
念何架构之路13 小时前
zap扩展生态与总结
java·前端·数据库
第七页独白14 小时前
汽车零件厂如何通过 QMS 真正落地 IATF 16949——QMS软件系统:品质检验-内审稽核-8d客诉管理:全星质量管理软件系统
java·前端·数据库
QCoding14 小时前
Spring AI Alibaba Graph实战:从ReAct Agent到Workflow,企业AI复杂流程该如何编排?
java·人工智能
用户0942485680314 小时前
第25章:Java虚拟线程(Project Loom)实战与调度协作
java·jvm
砚底藏山河14 小时前
量化实战:截面因子有效性检验(IC 分析与分层回测)
java·python·金融·maven
wuminyu14 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
Elastic 中国社区官方博客14 小时前
使用 Lucene 搜索你的 Bean — 索引
java·大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene
code2cat14 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除