手搓了一个 Java MCP SDK,支持 Java8+

98 天前
 frank42a

MCP 是一个基于协议的框架,因此应具有更强的通用性,满足更广泛的市场需求。

目前 Java 领域中开发 MCP 的情况如下:

框架名称 所需 JDK 版本
官方 Java MCP SDK jdk17+
Spring AI MCP jdk17+
Quarkus MCP 服务器 jdk17+
langchain4j-mcp 客户端 jdk11+

考虑到仍有大量服务器运行在 JDK 8 上,使用 Java 8 开发 MCP (或 MCP 服务器)对于确保广泛兼容性和灵活性至关重要。

仓库地址: https://github.com/lightweight-component/aj-mcp or https://gitcode.com/lightweight-component/aj-mcp

用户手册: https://mcp.ajaxjs.com/

本人不才,,,其实这算是最初版本,实现了 MCP 基本功能,,,协议中的细节还没搞,,当前想法是把 client/server 走通,实现了个闭环,,,文档、单测啥都有了,,希望大家过目,顺便点点心:)

2015 次点击
所在节点    程序员
13 条回复
hepin1989
98 天前
最大的问题是,你可以坚持几年?
frank42a
98 天前
@hepin1989 不设限期。
frank42a
98 天前
@hepin1989 为什么要说坚持?那是很难的事情吗?要说难也行 容易也行。乐于此,不疲倦。
LeviMarvin
98 天前
@hepin1989 你想白嫖一辈子吗?
hepin1989
98 天前
我为啥白嫖,我都不用这个库。表示支持,但是我不用。
ranran
98 天前
不错不错,正好有需求。
frank42a
98 天前
@hepin1989 谢谢支持!
CynicalRose
97 天前
用 Java 实现 MCP 服务端,只能 SSE 了,没可能让用户下 jar 包本地启一个常驻服务,stdio 方式连接的。现在写服务端工具都是拿 npx 或者 uvx 管理服务,java 没有类似的工具,上 docker 变更重了
frank42a
97 天前
@CynicalRose Java App 跑 stdio 容易,无非一个 main() 函数启动。你意思是要依赖 JRE/JDK 的麻烦?
CynicalRose
97 天前
@frank42a 我的意思是 Java 实现的 MCP 服务发布到网上开源分享出去麻烦,stdio 需要把依赖下到本地,smithery.ai 上就没看到用 java 写的,不方便下载,uvx 和 npx 更容易下载清理。
qaqLjj
96 天前
@CynicalRose 还是有需求的,很多企业内部的系统要做 ai 化转型
b2byco
93 天前
@CynicalRose 用 graalvm quarkus 之类的 native 打包是不是就不需要依赖了,启动还快,资源占用也小
frank42a
93 天前
@b2byco Quarkus 的 MCP 实现我看过源码,的确如你所说的。但 Quarkus 的:

- 要求 JDK17+
- 只有 Server 端没有 Client 端

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1137056

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX