news 2026/11/5 2:13:03

如何使用 curl 命令行测试 FastMCP (SSE 模式)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何使用 curl 命令行测试 FastMCP (SSE 模式)

在开发 FastMCP Server 时,我们经常需要快速验证某个 Tool 或 Resource 是否工作正常。虽然编写 Python 客户端代码是最正规的方式,但有时手边只有命令行。

本文将手把手教你如何使用curl征服 MCP over SSE 协议。

1. 原理解析:为什么需要两个窗口?

MCP (Model Context Protocol) 在使用 SSE (Server-Sent Events) 传输时,采用了“读写分离”的模式:

  • 读 (Read): 一个持久的 HTTP 长连接,服务器通过它源源不断地推送数据(Events)。
  • 写 (Write): 短暂的 HTTP POST 请求,客户端通过它发送指令。

因此,我们需要打开两个终端窗口:一个负责“听”,一个负责“说”。


2. 准备工作

假设您的 FastMCP Server 运行在本地:

  • Host:127.0.0.1
  • Port:13333

3. 实战步骤

第一步:建立监听 (Terminal A)

打开第一个终端窗口,输入以下命令连接到 SSE 端点:

curl-Nhttp://127.0.0.1:13333/sse

注意:-N参数至关重要,它告诉 curl 禁用缓冲,立即显示服务器推过来的数据。

Sample Output (成功连接):

event: endpoint data: /messages/?session_id=6e0d5044d8fd45b595fbba50a15d65c4 : ping - 2026-01-03 10:00:10.371033+00:00

👉关键动作:请复制data:后面的完整路径/messages/?session_id=...。这是您的专属通信频道。


第二步:发送指令 (Terminal B)

保持 Terminal A 开启,打开第二个终端窗口。我们将构造一个 JSON-RPC 请求来调用工具。

假设我们要调用的工具是multiply,参数是a=3, b=4。

构造 POST 请求:

  1. URL: 拼接 host 和刚才复制的路径。
    • ⚠️注意:URL 末尾的斜杠/不能少!FastMCP 默认路由是/messages/。如果少了斜杠,会收到307 Redirect错误。
  2. Body: 标准的 JSON-RPC 2.0 格式。

命令示例:

curl-XPOST"http://127.0.0.1:13333/messages/?session_id=YOUR_SESSION_ID_HERE"\-H"Content-Type: application/json"\-d'{ "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "multiply", "arguments": {"a": 3, "b": 4} }, "id": 1 }'

Terminal B 的 Sample Output:

Accepted

(是的,这里通常只返回 Accepted,表示服务器已收到请求。真正的结果会在 Terminal A 显示。)


第三步:查看结果 (Terminal A)

回到第一个窗口,您会看到新的事件被推出来了:

Sample Output (工具执行结果):

event: message data: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"12.0"}]}}

可以看到,result字段里包含了计算结果12.0。


4. 常见坑点排查 (Troubleshooting)

Q: 发送 POST 后没反应?

  • 检查 Terminal A:结果是异步返回的,一定要看监听窗口。
  • 检查斜杠:确认 POST URL 是/messages/?...而不是/messages?...。可以加-v参数查看是否返回了307 Temporary Redirect。

Q: Session ID 过期?

  • SSE 连接如果断开,Session ID 就会失效。每次重新运行curl -N .../sse都会生成一个新的 ID,发 POST 时记得更新。

Q: 乱码或无输出?

  • 确保curl加上了-N(no buffer)。
  • 确保curl加上了-H "Content-Type: application/json",否则服务器可能不解析 Body。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/2 2:59:26

GarbageSorting垃圾分类指引:智能垃圾桶语音播报依据

GarbageSorting垃圾分类指引:智能垃圾桶语音播报依据 在城市生活节奏日益加快的今天,垃圾分类虽已推行多年,但居民面对“牛奶盒属于什么垃圾”“进口零食包装如何归类”这类问题时,仍常常陷入困惑。传统的图文宣传和人工督导成本高…

作者头像 李华
网站建设 2026/11/3 11:23:03

WebUploader分块上传在JAVA中的步骤详解

广西IT软件公司大文件传输解决方案 作为广西IT行业软件公司项目负责人,针对产品部门提出的——100G级文件传输、断点续传稳定性、信创国产化适配、多技术栈兼容是核心痛点。结合公司现有JSP/SpringBoot技术栈与客户严格需求(非打包下载、SM4/AES加密、I…

作者头像 李华
网站建设 2026/11/2 22:11:48

InsuranceClaim理赔材料审核:HunyuanOCR加快处理周期

InsuranceClaim理赔材料审核:HunyuanOCR加快处理周期 在保险行业,客户提交一份理赔申请后,最煎熬的等待往往不是事故定责,而是漫长的材料审核——几张医疗发票、一张保单、几页病历,背后却可能藏着数小时的人工录入与反…

作者头像 李华
网站建设 2026/11/4 6:10:35

关于Xshell高效运维实战技术文章大纲

Xshell高效运维实战技术文章大纲Xshell简介与核心功能Xshell的定义及在运维中的角色主要功能:SSH连接、会话管理、脚本自动化与其他终端工具的对比优势基础配置优化界面与主题个性化设置字体与颜色方案调整键盘映射与快捷键配置高级会话管理技巧多窗口与标签页管理会…

作者头像 李华
网站建设 2026/11/2 3:07:10

印刷体汉字识别准确率达99.2%?HunyuanOCR中文专项评测结果公布

HunyuanOCR:当轻量化遇上多模态,中文印刷体识别如何突破99.2%? 在银行柜台,一个客户递上身份证,系统不到两秒就自动填完所有信息;在跨境电商仓库,扫描一张含中英阿三语的商品标签,翻…

作者头像 李华
网站建设 2026/11/1 9:34:33

ArchiveDigitization档案数字化:历史文献抢救性保护工程

ArchiveDigitization档案数字化:历史文献抢救性保护工程 在一座百年图书馆的恒温库房里,管理员小心翼翼地打开一本清末民初的地方志。纸张已经泛黄脆化,轻轻一碰就可能碎裂。这样的场景在全球无数文保机构中每天都在上演——大量珍贵的历史文…

作者头像 李华