印萍 发表于 2025-6-5 10:07:27

能用 Java8 开发 MCP(或 MCP Server),这才是 MCP 自由(Solon AI MCP)!

现在,用 Java 开发 MCP 的情况是:
框架JDK要求mcp-sdk需要 jdk17+spring-ai-mcp-server需要 jdk17 +spring-ai-mcp-client需要 jdk17 +langchain4j-mcp-client需要 jdk17+solon-ai-mcp-serverjdk8 +solon-ai-mcp-clientjdk8 +之前在 mcp-sdk 仓库的 issue 与人交流时。曾有人说现在都 ia 时代了,怎么能还用 java8 呢?可是 MCP 是一个协议性的框架,应该更有普适性,应该照顾更广的市场需求。
市场的情况是,(尤其是我国)还有海量的 jdk8 服务器。所以,用 Java8 也能开发 MCP(或 MCP Server),这才是 MCP 自由!
Solon AI MCP(一个依赖包)

Java AI(智能体) 全场景应用开发框架(支持已知 AI 开发的各种能力。例如:LLM,Function Call,RAG,Embedding,Reranking,Flow,MCP Server,Mcp Client)。同时支持 java8,java11,java17,java21。
可与 Solon 集成使用,也可嵌入到 SpringBoot2、jFinal、Vert.x 等框架中使用。
Solon AI MCP Server 示例(支持多端点)

下面以一个查询天气的 Mcp 工具服务为例。

[*]组件方式构建(和 MVC 开发像)
@McpServerEndpoint(name="mcp-case1", sseEndpoint = "/case1/sse")
public class McpServerTool {
    @ToolMapping(description = "查询天气预报")
    public String getWeather(@ToolParam(description = "城市位置") String location) {
      return "晴,14度";
    }
}

[*]原生 java 方式构建
McpServerEndpointProvider serverEndpoint = McpServerEndpointProvider.builder()
      .name("mcp-case2")
      .sseEndpoint("/case2/sse")
      .build();

serverEndpoint.addTool(new MethodToolProvider(new McpServerTool()));
serverEndpoint.postStart();Solon AI MCP Client 示例

McpClientToolProvider clientToolProvider = McpClientToolProvider.builder()
                .apiUrl("http://localhost:8080/case1/sse")
                .build();

String rst = clientToolProvider.callToolAsText("getWeather", Map.of("location", "杭州"));
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 能用 Java8 开发 MCP(或 MCP Server),这才是 MCP 自由(Solon AI MCP)!