news 2026/4/23 15:46:57

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/23 13:16:11

IAR使用教程:一文说清IDE界面功能分区逻辑

以下是对您提供的博文《IAR Embedded Workbench IDE界面功能分区逻辑深度解析》的 全面润色与专业重构版本 。本次优化严格遵循您的核心要求: ✅ 彻底去除AI腔调与模板化表达 ,代之以真实嵌入式工程师口吻、一线调试经验与教学视角; ✅ 打破“引言-知识点-场景-总结”…

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

科哥镜像永久开源,个人企业都能用

科哥镜像永久开源&#xff0c;个人企业都能用 1. 这不是又一个“能用就行”的抠图工具 你可能已经试过不少AI抠图方案&#xff1a;有的要配环境、装CUDA、调Python版本&#xff1b;有的界面是英文的&#xff0c;参数说明像天书&#xff1b;有的点一下等半分钟&#xff0c;批量…

作者头像 李华
网站建设 2026/4/20 23:32:47

usblyzer分析驱动错误恢复机制:完整指南异常处理场景

以下是对您提供的博文《USBlyzer分析驱动错误恢复机制:完整技术指南与异常处理场景深度解析》的 全面润色与专业重构版本 。本次优化严格遵循您的所有要求: ✅ 彻底去除AI痕迹,语言自然、老练、有工程师口吻 ✅ 摒弃模板化结构(如“引言/概述/总结”),以真实工程问题…

作者头像 李华
网站建设 2026/4/5 5:37:29

学习率怎么设?Qwen3-1.7B微调参数调整建议

学习率怎么设&#xff1f;Qwen3-1.7B微调参数调整建议 微调大模型时&#xff0c;学习率不是随便填个数字就能跑通的——它像方向盘&#xff0c;稍偏一点&#xff0c;模型就可能原地打转、发散失焦&#xff0c;甚至彻底“学废”。尤其对Qwen3-1.7B这类新一代千问模型&#xff0…

作者头像 李华
网站建设 2026/4/23 14:26:16

实战演示Elasticsearch基本用法:批量导入JSON数据

以下是对您提供的博文内容进行 深度润色与工程化重构后的版本 。整体风格更贴近一位资深搜索平台工程师在技术博客或内部 Wiki 中的真实分享:语言精炼、逻辑严密、实操性强,去除了模板化表达和AI腔调,强化了“人话解释 + 工程直觉 + 坑点预警”的三重质感,并自然融入行业…

作者头像 李华