首页/新闻资讯/正文详情

MCP SSE协议发送和Stream Http协议发送

发布时间:2026/11/7 8:29:16 来源:云帆数科 栏目:资讯中心
MCP SSE协议发送和Stream Http协议发送
springAI代码mcp serverService public class WeatherService { Tool(name getWeather, description 根据城市名称获取天气预报信息) public String getWeather(ToolParam(description 城市) String cityName) { return cityName 天气阳光明媚; } }ToolconfigComponent public class ToolConfig { Bean public ToolCallbackProvider weatherTools(WeatherService weatherService) { return MethodToolCallbackProvider.builder() .toolObjects(weatherService) .build(); } }配置spring: ai: mcp: server: name: my-business-mcp-server version: 1.0.0 # 启用 Streamable HTTP 协议 # streamable-http: # enabled: true # endpoint: /mcp # 如果也想兼容老客户端可以顺便开启 SSE sse: enabled: true endpoint: /sseSSE调试第一步拿到新的 Session ID刷新你的浏览器http://localhost:8004/sse在 EventStream 里复制最新的sessionId假设是abc-123。第二步发送初始化请求必须发原接口路径去掉sse,替换成/mcp/messagecurl -X POST http://localhost:8004/mcp/message?sessionIdabc-123 -H Content-Type: application/json -d {\jsonrpc\:\2.0\,\id\:\1\,\method\:\initialize\,\params\:{\protocolVersion\:\2024-11-05\,\capabilities\:{},\clientInfo\:{\name\:\curl-test\,\version\:\1.0.0\}}}(这个命令应该很快就会返回一个包含协议版本的 JSON)第三步发送确认通知必须发curl -X POST http://localhost:8004/mcp/message?sessionIdabc-123 -H Content-Type: application/json -d {\jsonrpc\:\2.0\,\method\:\notifications/initialized\}(这个命令会返回 HTTP 200但可能没有内容)第四步正式调用天气工具curl -X POST http://localhost:8004/mcp/message?sessionIdabc-123 -H Content-Type: application/json -d {\jsonrpc\:\2.0\,\id\:\2\,\method\:\tools/call\,\params\:{\name\:\getWeather\,\arguments\:{\cityName\:\北京\}}}就可以收到结果了这个是针对相同sessionID得建议使用人家封装好的工具省的自己搞Stream Http调用第一步初始化获取mcp-session-id建立会话获取后续所有请求必须携带的 Session ID。curl -i -X POST http://localhost:8080/mcp \ -H Content-Type: application/json \ -H Accept: application/json, text/event-stream \ -d { jsonrpc: 2.0, id: 1, method: initialize, params: { protocolVersion: 2024-11-05, capabilities: {}, clientInfo: { name: my-client, version: 1.0.0 } } } 从返回的响应头中提取mcp-session-id: 你的会话ID第二步选择开启 SSE 长连接methodmessage通过 GET 请求主动告诉服务端“我准备好接收流式消息了”。# ⚠️ 关键分支开启 SSE 长连接 curl -N -X GET http://localhost:8080/mcp?methodmessage \ -H Accept: text/event-stream \ -H mcp-session-id: 你的会话ID说明这个请求会挂起并保持长连接。服务端后续推送的通知Notifications或流式响应都会通过这个通道发过来。选择开启也可以不使用这一步建立长连接直接发送post第四步建立短链接第三步查询工具列表tools/list在建立好会话后客户端通常会先拉取一下服务端有哪些可用的工具。curl -X POST http://localhost:8080/mcp \ -H Content-Type: application/json \ -H Accept: application/json, text/event-stream \ -H mcp-session-id: 你的会话ID \ -d { jsonrpc: 2.0, id: 2, method: tools/list, params: {} }说明如果没有执行第二步没有开启 SSE 长连接这个请求以及后续的调用都会直接通过 POST 的响应体返回普通的 JSON 结果短连接。第四步发送 POST 调用工具tools/call真正发起业务请求。curl -X POST http://localhost:8080/mcp \ -H Content-Type: application/json \ -H Accept: application/json, text/event-stream \ -H mcp-session-id: 你的会话ID \ -d { jsonrpc: 2.0, id: 3, method: tools/call, params: { name: your-tool-name, arguments: { key: value } } }第五步可以ping MCP服务curl -X POST https://your-mcp-server-url/mcp \ -H Content-Type: application/json \ -H Accept: application/json,text/event-stream \ -H Authorization: Bearer YOUR_API_KEY \ -d { jsonrpc: 2.0, method: ping, id: 1 }*说明如果执行了第二步且该工具支持流式输出服务端会通过第二步建立的 SSE 长连接推送结果这个 POST 可能只返回202 Accepted。如果忽略了第二步服务端会直接在这个 POST 请求的响应体中返回完整的 JSON 结果短连接模式。

相关推荐

3 条命令免费跑起来:开源 UI 原型工具 Pencil Project 入门
3 条命令免费跑起来:开源 UI 原型工具 Pencil Project 入门

3 条命令免费跑起来:开源 UI 原型工具 Pencil Project 入门 【免费下载链接】pencil The Pencil Projects unique mission is to build a free and opensource tool for making diagrams and GUI prototyping that everyone can use. 项目地址: https://gitcode.… · 2026/11/6 5:01:52

10 分钟跑通:TVBoxOSC 电视盒子播放器安装配置完整指南,告别黑屏
10 分钟跑通:TVBoxOSC 电视盒子播放器安装配置完整指南,告别黑屏

10 分钟跑通:TVBoxOSC 电视盒子播放器安装配置完整指南,告别黑屏 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库,用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC 下载完一… · 2026/11/7 8:29:16

如何快速部署CTF Wiki:一份完整的多语言知识库本地安装指南
如何快速部署CTF Wiki:一份完整的多语言知识库本地安装指南

如何快速部署CTF Wiki:一份完整的多语言知识库本地安装指南 【免费下载链接】ctf-wiki Come and join us, we need you! 项目地址: https://gitcode.com/gh_mirrors/ct/ctf-wiki 网络时断时续,CTF 学习进度被迫中断?资料查得到处都是&… · 2026/11/6 5:01:52

贵州电工证考题题库内部消息:证书过期了不知道怎么复审延期?教你一步到位
贵州电工证考题题库内部消息:证书过期了不知道怎么复审延期?教你一步到位

贵州电工证考题题库内部消息:证书过期了不知道怎么复审延期?教你一步到位 证书过期了不知道怎么复审延期,你是不是也遇到过这种情况?别急,这波 内部消息 我先给你透个底——贵州电工证复审不是你想象的那么难,关键是你得知道流程,还得掌握… · 2026/11/7 8:28:38

迪庆高低压电工证良心建议:怎么报不被坑
迪庆高低压电工证良心建议:怎么报不被坑

迪庆高低压电工证良心建议:怎么报不被坑 不知道去哪报名怕被中介坑?迪庆高低压电工证虽然听起来是个技术活,但其实很多人连基本的流程都不清楚,更别提找对地方了。尤其是你这种想踏实干电工的人,千万别被那些打着“包过”“快速取证”的中介忽悠了。今天… · 2026/11/7 8:28:38

青岛低压电工证在哪考 上岗必备证书怎么拿
青岛低压电工证在哪考 上岗必备证书怎么拿

青岛低压电工证在哪考 上岗必备证书怎么拿 你有没有这种情况:明明已经准备好了电工的技术,可就是因为少了低压电工证,面试屡屡被拒?低压电工证不是可有可无的“附加项”,而是 上岗必备… · 2026/11/7 8:28:38

初级电工证问答题在哪考?证书过期了不知道怎么复审延期
初级电工证问答题在哪考?证书过期了不知道怎么复审延期

初级电工证问答题在哪考?证书过期了不知道怎么复审延期 证书过期了不知道怎么复审延期,这种情况相信不少电工朋友都遇到过。特别是在从事低压电工、高压电工等特种作业岗位时,一旦证书到期没及时处理,不仅影响日常工作,还可能被处罚甚至停职。那么,… · 2026/11/7 8:28:38

高压电工证美国考前押题怎么准备?实操考试心里没底怕挂科
高压电工证美国考前押题怎么准备?实操考试心里没底怕挂科

高压电工证美国考前押题怎么准备?实操考试心里没底怕挂科 实操考试心里没底怕挂科,尤其是对高压电工证美国这类特殊场景的报考者来说,每一次操作都可能影响最终结果。很多人在备考过程中,常常会担心自己能不能通过,尤其是在实操考试环节,稍有不慎就可能… · 2026/11/7 8:28:38

抚州高级电工证在哪里考 2026河南最新政策下怎么稳过实操考试
抚州高级电工证在哪里考 2026河南最新政策下怎么稳过实操考试

抚州高级电工证在哪里考 2026河南最新政策下怎么稳过实操考试 实操考试心里没底怕挂科?特别是像你这样打算考抚州高级电工证的,面对复杂的操作流程和严格的评分标准,多少都会有点紧张。2026年河南最新政策对特种作业证考试进行了更新,尤其是在实… · 2026/11/7 8:27:38

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄?
澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄?

澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄? 证书过期了不知道怎么复审延期?别慌,很多人在拿到【澳洲水电工证考试】的电子证书后,一不小心就忽略了复审时间,结果证书失效,工作受阻,甚至被单位追责。今天就从【澳洲水电工证考试… · 2026/11/7 0:00:41

电工作业提示版通过率揭秘:怎么考才能一次过?
电工作业提示版通过率揭秘:怎么考才能一次过?

电工作业提示版通过率揭秘:怎么考才能一次过? 怕考不过白交培训费?别急,今天我就从驻马店应届工程类毕业生的视角,带你全面了解电工作业提示版的考试流程、备考要点和真实通过率,帮你少走弯路、提高一次通过率。… · 2026/11/7 0:00:41

电工证年审报名千万别踩坑 外省证转过来要搞清这几点
电工证年审报名千万别踩坑 外省证转过来要搞清这几点

电工证年审报名千万别踩坑 外省证转过来要搞清这几点 之前考的证在外省能不能转过来?这个问题是很多电工从业者最关心的,特别是像你这样在商丘从事公路工程的人员,经常需要跨省流动,证书的 有效性 和 可迁移性… · 2026/11/7 0:00:41

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码