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 各自独立)

<dependency>
   <groupId>org.springframework.ai</groupId>
   <artifactId>spring-ai-mcp-server-spring-boot-starter</artifactId>
   <version>1.0.0-M6</version>
</dependency>

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

spring.ai.mcp.server.name: jdbc-mcp-server

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

@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 一致)

<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-ai-mcp</artifactId>
    <version>3.2.0</version>
</dependency>

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

@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-mcpsolon-ai-mcp
开发基于组件开发基于组件开发
配置通过 yaml 配置组件,即是配置(也可引用 yaml 配置)
发布通过配置器发布为 ToolCallbackProvider组件,即是发布
jdk要求jdk17或以上jdk8或以上
端点支持好像只能一个(一个服务内)支持多端点(一个服务内)

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

内容概要:本文详细介绍了JavaMCP(Model Context Protocol)鉴权的设计与实现,旨在为大语言模型(LLM)与外部数据源、工具服务提供标准化、安全的集成方式。文章涵盖了服务端客户端的鉴权设计,包括基于过滤器注解的鉴权方案,以及针对不同通讯通道(如HTTP SSESTDIO)的具体实现方法。同时,讨论了与Web API互通的鉴权处理,并提供了完整的示例代码,展示了如何在实际项目中应用这些鉴权机制。此外,还强调了多因素认证、敏感信息保护性能优化等最佳实践。 适合人群:具备一定Java编程基础,尤其是对微服务架构安全机制有一定了解的研发人员,以及从事AI开发集成工作的工程师。 使用场景及目标:①理解MCP鉴权的基本概念及其在不同框架(如SolonSpring Boot、Vert.x、jFinal)中的应用;②掌握服务端客户端鉴权的具体实现,包括过滤器、注解、环境变量等配置;③学会处理不同通讯通道(如HTTP SSE、STDIO)的鉴权需求;④了解与Web API互通的鉴权处理,确保系统间的安全交互。 阅读建议:由于MCP鉴权涉及到多个层面的技术细节,建议读者在阅读过程中结合实际项目需求,逐步理解实践每个部分的内容。特别是对于服务端客户端的代码示例,建议读者亲自调试测试,以加深对鉴权机制的理解。同时,注意安全最佳实践的应用,确保系统的安全性可靠性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值