V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
frank42a
V2EX  ›  程序员

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

  •  
  •   frank42a · 98 天前 · 2012 次点击
    这是一个创建于 98 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 走通,实现了个闭环,,,文档、单测啥都有了,,希望大家过目,顺便点点心:)

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

    - 要求 JDK17+
    - 只有 Server 端没有 Client 端
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 23:01 · PVG 07:01 · LAX 16:01 · JFK 19:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.