news 2026/4/18 9:44:27

75_Spring AI 干货笔记之 MCP 客户端注解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
75_Spring AI 干货笔记之 MCP 客户端注解

一、MCP 客户端注解

MCP 客户端注解提供了一种使用 Java 注解来实现 MCP 客户端处理器的声明式方法。这些注解简化了服务器通知和客户端操作的处理。

所有 MCP 客户端注解必须包含一个 clients 参数,用于将处理器与特定的 MCP 客户端连接关联。该参数必须与应用程序配置文件中配置的连接名称相匹配。

二、客户端注解

2.1 @McpLogging

@McpLogging 注解用于处理来自 MCP 服务器的日志消息通知。

2.1.1 基本用法

@ComponentpublicclassLoggingHandler{@McpLogging(clients="my-mcp-server")publicvoidhandleLoggingMessage(LoggingMessageNotificationnotification){System.out.println("收到日志: "+notification.level()+" - "+notification.data());}}

2.1.2 使用独立参数

@McpLogging(clients="my-mcp-server")publicvoidhandleLoggingWithParams(LoggingLevellevel,Stringlogger,Stringdata){System.out.println(String.format("[%s] %s: %s",level,logger,data));}

2.2 @McpSampling

@McpSampling 注解用于处理来自 MCP 服务器的大语言模型补全采样请求。

2.2.1 同步实现

@ComponentpublicclassSamplingHandler{@McpSampling(clients="llm-server")publicCreateMessageResulthandleSamplingRequest(CreateMessageRequestrequest){// 处理请求并生成响应Stringresponse=generateLLMResponse(request);returnCreateMessageResult.builder().role(Role.ASSISTANT).content(newTextContent(response)).model("gpt-4").build();}}

2.2.2 异步实现

@ComponentpublicclassAsyncSamplingHandler{@McpSampling(clients="llm-server")publicMono<CreateMessageResult>handleAsyncSampling(CreateMessageRequestrequest){returnMono.fromCallable(()->{Stringresponse=generateLLMResponse(request);returnCreateMessageResult.builder().role(Role.ASSISTANT).content(newTextContent(response)).model("gpt-4").build();}).subscribeOn(Schedulers.boundedElastic());}}

2.3 @McpElicitation

@McpElicitation 注解用于处理向用户收集额外信息的征询请求。

2.3.1 基本用法

@ComponentpublicclassElicitationHandler{@McpElicitation(clients="interactive-server")publicElicitResulthandleElicitationRequest(ElicitRequestrequest){// 向用户展示请求并收集输入Map<String,Object>userData=
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 17:00:18

AUTOSAR详细介绍:汽车电子架构的全面讲解

以下是对您提供的博文《AUTOSAR详细介绍:汽车电子架构的全面讲解》进行 深度润色与专业重构后的技术文章 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹 :语言自然、有节奏、带工程师口吻,避免模板化表达; ✅ 打破章节标题束缚 :不再使用“引言”“总结”等…

作者头像 李华
网站建设 2026/4/17 8:57:31

小白也能懂的Qwen3嵌入模型:零基础快速上手AI语义搜索

小白也能懂的Qwen3嵌入模型&#xff1a;零基础快速上手AI语义搜索 1. 什么是Qwen3-Embedding&#xff1f;一句话说清它能干啥 你有没有遇到过这些场景&#xff1a; 在公司内部知识库搜“报销流程”&#xff0c;结果跳出一堆无关的差旅政策、采购模板&#xff1b;写代码时想查…

作者头像 李华
网站建设 2026/2/23 12:12:07

语音社交App创意:为用户聊天增加‘情绪弹幕’功能

语音社交App创意&#xff1a;为用户聊天增加‘情绪弹幕’功能 在语音社交场景中&#xff0c;我们常遇到一个尴尬现实&#xff1a;听一段语音消息&#xff0c;却抓不住对方说话时的语气、停顿、笑声或突然提高的声调——那些真正传递情绪的“弦外之音”&#xff0c;文字转录永远…

作者头像 李华
网站建设 2026/4/18 8:16:46

YOLO11调优实践,训练效率翻倍秘籍

YOLO11调优实践&#xff0c;训练效率翻倍秘籍 你是否也遇到过这样的情况&#xff1a;模型跑着跑着显存爆了&#xff0c;训练速度慢得像在等咖啡凉透&#xff0c;改了参数却效果平平&#xff0c;甚至越调越差&#xff1f;别急——这不是你的错&#xff0c;而是没用对YOLO11的“…

作者头像 李华
网站建设 2026/4/17 15:20:06

Qwen3-1.7B调用技巧,提升LangChain使用效率

Qwen3-1.7B调用技巧&#xff0c;提升LangChain使用效率 1. 引言&#xff1a;为什么LangChain调用Qwen3-1.7B需要特别关注&#xff1f; 你是否遇到过这样的情况&#xff1a;模型明明已经跑起来了&#xff0c;但LangChain链路响应慢、输出不稳定、思考过程不透明&#xff0c;甚至…

作者头像 李华
网站建设 2026/4/18 8:41:11

基于AI的误报过滤模型训练与实践

一、误报过滤&#xff1a;测试效率的隐形杀手 软件测试中高达40%的误报率&#xff08;2025年ISTQB数据&#xff09;导致测试资源严重浪费。传统规则引擎因无法适应敏捷迭代中的上下文变化&#xff0c;正被AI模型取代。2026年行业共识表明&#xff0c;融合深度学习的动态过滤系…

作者头像 李华