【Java开发 】mcp server实战

news/2025/3/31 15:37:00/文章来源:https://www.cnblogs.com/o-O-oO/p/18798693

Model Context Protocol(MCP)作为新一代 AI 服务交互协议,近期发布了 Java SDK 0.8 版本。

虽然新版本带来了更强大的会话管理能力和工具集成机制,但直接使用原生 SDK 仍存在以下挑战:

  1. 需要手动处理依赖注入和生命周期管理

  2. 工具注册流程较为复杂

  3. 缺乏与现有 Spring 生态的深度整合

为此,Spring 官方团队与 MCP 项目合作推出了 Spring AI MCP 扩展,通过 Spring Boot Starter 实现一键式整合,显著降低企业级 AI 服务的开发门槛。

一、效果展示

本文将指导您如何基于 Spring AI MCP 构建一个自定义业务的 Java MCP Server,实现在各种客户端中直接调用企业级 AI 服务的能力。通过这种方式,您可以将自己的业务逻辑和工具无缝集成到 AI 交互流程中,为用户提供更智能、更贴合业务场景的体验。

二、开发步骤

2.1 环境准备

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

2.2 业务实现

@Service
publicclassMeilisearchService {@Tool(description = "PIG ISSUE 知识库检索,解决用户技术问题 ")public String queryQuestion(@ToolParam(description = "用户的技术问题描述 ") String question) {Clientclient=newClient(newConfig()
));SearchResultresults= client.index("pigx-doc").search(newSearchRequest(question).setShowMatchesPosition(true).setSort(newString[]{"lvl2:desc"}).setLimit(1));return results.getHits().stream().map(hit -> "【"+hit.get("lvl0")+"】"+hit.get("text")).collect(Collectors.joining("\n\n"));}
}

2.3 服务注册

@Configuration
public class McpConfig {@Beanpublic ToolCallbackProvider documentTools(MeilisearchService searchService) {return MethodToolCallbackProvider.builder().toolObjects(searchService).build();}
}

三、客户端配置指南

3.1 通用配置

{"mcpServers":{"pig-issue":{"isActive":true,"command":"java","args":["-Dspring.ai.mcp.server.stdio=true","-jar","/Users/lengleng/env/repository/io/github/pig-mesh/pig-issue-query-mcp/0.0.1-SNAPSHOT/pig-issue-query-mcp-0.0.1-SNAPSHOT.jar"]}
}
}

3.2 图形化配置步骤

3.3 客户端工具配置

Cherry 客户端配置界面:

PIG AI 客户端配置界面:

总结

ModelContextProtocol(MCP)作为面向大模型应用的标准协议,虽然规范发布已久,但随着 Java SDK[1] 的正式推出,Java 生态正在加速拥抱这一标准。Spring AI MCP 通过以下特性显著简化了开发流程:

声明式编程模型:使用 @Tool 注解快速暴露业务能力为 AI 工具

通过本文演示的 Meilisearch 集成案例可以看到,借助 Spring AI MCP 只需三步即可完成传统服务的 AI 能力封装:工具方法开发 → 服务注册 → 客户端配置。这种低侵入式的集成方式既保留了现有技术栈的优势,又为系统赋予了智能交互能力。随着 Java 生态对 MCP 的支持日趋完善,采用该协议构建企业级 AI 应用将成为提升开发效率、降低维护成本的最佳实践。

引用链接

[1] Java SDK: https://github.com/modelcontextprotocol/java-sdk

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/907281.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

T检验(Students T-test), Wilcoxon符号秩检验,Mann-Whitney U检验

1.基本概念 T检验 是一种统计学方法,用于判断两组数据的均值是否存在显著差异 。其核心思想是通过计算“t值”和对应的“p值”,评估观察到的差异是否由随机误差引起,还是反映了真实的生物学或实验效应。 适用场景 :比较两组独立样本的均值(如对照组 vs 实验组)。 检验单组…

写了 8 年C++,才知道this指针竟是这样工作的!从汇编看本质!

大家好,我是小康。今天我们来聊聊 C++ 的 this 指针。 相信我,看完这篇文章,你将彻底搞懂 C++ 中最神秘的 this 指针!不再被面试官问到 this 时一脸茫然! 前言:this指针,C++中的隐形杀手 嘿,朋友们!还记得第一次接触 C++ 的 this 指针时的懵逼感觉吗? "为啥要用…

Redis 过期键删除和内存淘汰策略【Redis 系列之四】

本文主要介绍了 Redis 过期键删除和内存淘汰策略,仅供参考。〇、前言 对于 Redis 服务器来说,内存资源非常宝贵,如果一些过期键一直不被删除,就会造成资源浪费。 那么,本文将结合博主收集的资料,简单介绍下过期键删除、内存淘汰两个策略,仅供参考。 博主 Redis 相关文章…

2025最新面试题-mysql面试题(三)

事务的四大特性 A账户 10000 -2000 8000+2000=10000 8000+2000 写入buffer Pool(内存缓冲池) Redo Log 环形日志 磁盘 B账户 5000 +2000 7000 原子性(Atomicity) 也就是我们刚才说的不可再分,也就意味着我们对数据库的一系列的操作,要么都是成功,要么都是失败,不可能出…

【MCP协议】你需要了解的 AI 集成突破

了解 MCP 如何重塑 AI 与外部数据源交互的能力。 MCP——是不是有点懵?这也是我的第一反应。我最近才听说它,发现大多数人甚至还不了解它。起初,我也感到困惑,以为这不过是又一个AI领域的流行词。但随着深入了解,我发现MCP并非昙花一现的潮流,而是真正解决了一个长期困扰…

卧槽!C 语言宏定义原来可以玩出这些花样?高手必看!

大家好啊!我是小康。 今天我们来聊一个听起来枯燥但实际上暗藏玄机的话题 —— C 语言的宏定义。 啥?宏定义?那不就是个简单的替换工具吗? 兄dei,如果你也是这么想的,那可就大错特错了!宏定义在 C 语言里简直就是个变形金刚,看似普通,实则暗藏神通。今天我们就来扒一扒…

TapData Oracle 日志解析性能全面领先:20秒处理1GB日志,效率提升100% ——释放数据潜能,驱动实时决策

TapData Oracle日志解析性能全面领先!实测1GB日志解析仅需20秒,效率超竞品2-8倍,降低50%硬件成本。立即了解金融、电商等行业高效数据处理方案。在当今数据驱动的时代,企业对于数据库日志解析的速度和效率要求越来越高。面对不断增长的数据量和实时分析需求,TapData 凭借技…

瑞芯微RK356X主板复用接口配置方法,触觉智能嵌入式方案商

本文介绍瑞芯微RK356X系列复用接口配置的方法,基于触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。 复用接口介绍 由下图可知,红圈内容当前引脚可配置为SPI0…

团队项目第二周作业

需求规格说明书 一、面向用户分析 网上点餐系统主要面向以下用户群体: 普通消费者:包括年轻人、上班族、学生等,他们希望通过便捷的方式快速点餐。 餐厅经营者:需要通过系统管理菜品、订单、顾客信息等,以提高运营效率。 外卖配送人员:负责将订单配送到消费者手中,系统需…

解惑:采购时亚克力板尺寸一般有多少?-郑州亚克力制品代加工-郑州水晶字logo代加工-亚克力切割雕刻-外协加工-委外加工-激光代加工-河南郑州-芯晨微纳(河南)

亚克力板的常规尺寸因生产厂家、用途和工艺(如挤出板或浇铸板)而有所不同,以下是常见的规格参考:厚度范围挤出板:通常为 1mm–10mm,部分厂家可生产更厚(如12mm、15mm)。 浇铸板:厚度范围更广,常见 1mm–50mm,特殊需求可定制更厚板材。常见标准厚度(单位:mm): 1、…

微服务引擎 MSE 及云原生 API 网关 2025 年 2 月产品动态

微服务引擎 MSE 及云原生 API 网关 2025 年 2 月产品动态

性能测试的基本理论

一、性能测试介绍 1、什么叫做性能测试?(1)通过某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试 (2)指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试2、性能测试的时间?在功能测试完成后才能进行性能测试3、…