news 2026/2/10 6:46:14

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/2/10 10:44:02

法律口述记录神器,Paraformer支持原告被告热词

法律口述记录神器&#xff0c;Paraformer支持原告被告热词 在法院庭审、律师访谈、调解现场等法律场景中&#xff0c;语音转文字不是“锦上添花”&#xff0c;而是刚需——手写记录易遗漏、速录员成本高、通用ASR识别不准专有名词。你是否遇到过这些情况&#xff1a; 录音里反…

作者头像 李华
网站建设 2026/2/10 2:17:58

下载结果只需一点,生成文件自动命名

下载结果只需一点&#xff0c;生成文件自动命名 你有没有遇到过这样的情况&#xff1a;辛辛苦苦等了几秒把人像转成卡通风格&#xff0c;结果点下载时发现文件名是乱码、时间戳太长、根本分不清哪张图对应哪次参数&#xff1f;更别说批量处理几十张照片后&#xff0c;一堆 out…

作者头像 李华
网站建设 2026/2/8 18:04:55

5分钟上手Qwen-Image-Layered,图像分层编辑零基础教程

5分钟上手Qwen-Image-Layered&#xff0c;图像分层编辑零基础教程 1. 什么是图像分层编辑&#xff1f;先别急着敲代码 你有没有遇到过这样的情况&#xff1a;想把一张照片里的人物换到新背景中&#xff0c;结果边缘毛毛躁躁&#xff0c;像被狗啃过&#xff1b;或者想给商品图…

作者头像 李华
网站建设 2026/2/9 20:44:08

YOLO11环境太方便了!SSH直连就能训练

YOLO11环境太方便了&#xff01;SSH直连就能训练 1. 为什么说YOLO11镜像真的省心——不用装、不踩坑、开箱即训 你是不是也经历过这样的时刻&#xff1a; 想跑个YOLO模型&#xff0c;光配环境就花掉一整天——CUDA版本对不上、PyTorch和torchvision版本冲突、ultralytics安装…

作者头像 李华
网站建设 2026/2/10 1:03:45

零基础小白必看!Qwen-Image-2512-ComfyUI一键启动保姆级教程

零基础小白必看&#xff01;Qwen-Image-2512-ComfyUI一键启动保姆级教程 你不需要懂代码、不用配环境、不查报错日志——只要会点鼠标&#xff0c;就能在10分钟内跑通阿里最新开源图片生成模型。这不是夸张&#xff0c;是真实可复现的操作路径。本文专为完全没接触过AI绘图的小…

作者头像 李华
网站建设 2026/2/9 23:38:14

自动识别开心、愤怒、悲伤,SenseVoiceSmall情绪检测真准吗

自动识别开心、愤怒、悲伤&#xff0c;SenseVoiceSmall情绪检测真准吗 1. 这不是普通语音转文字&#xff0c;是“听懂情绪”的语音理解 你有没有过这样的经历&#xff1a;客服电话里对方语气明显不耐烦&#xff0c;但文字记录只写着“已收到反馈”&#xff1b;会议录音转成文…

作者头像 李华