news 2026/5/1 4:43:59

如何使用 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/4/24 7:09:49

火车票与飞机行程单识别:差旅报销系统的理想OCR引擎

火车票与飞机行程单识别:差旅报销系统的理想OCR引擎 在企业差旅管理中,每天都有成千上万的员工提交火车票、登机牌和电子行程单等待报销。这些票据格式五花八门——不同铁路局的车票排版各异,国际航空公司的登机牌更是中英混杂、条码交错。传…

作者头像 李华
网站建设 2026/4/29 12:58:04

HunyuanOCR开放字段信息抽取原理:基于Prompt的灵活结构化解析

HunyuanOCR开放字段信息抽取原理:基于Prompt的灵活结构化解析 在当今企业数字化转型的浪潮中,文档处理早已不再是简单的“扫描存档”。从一张发票到一份跨国合同,从医疗报告到身份证件,每天有海量非结构化图像文档需要被解析、录入…

作者头像 李华
网站建设 2026/4/25 23:33:56

AI排名优化核心逻辑:超越传统SEO的智能营销新路径

当前,人工智能技术深度渗透进各行业,在此背景下,怎样有效提高企业或者品牌在各类AI推荐、信息检索以及内容分发平台里的可见度与排名,已然成为数字化营销领域备受瞩目的核心议题,也就是通常所讲的“AI排名优化”&#…

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

关于电脑硬件升级指南大纲

电脑硬件升级指南大纲评估当前系统性能检查当前硬件配置(CPU、GPU、RAM、存储等)使用性能监测工具(如CPU-Z、GPU-Z、HWMonitor)分析瓶颈确定升级目标(游戏、生产力、日常办公等)确定兼容性与预算查阅主板规…

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

C盘清理技巧分享的技术文章

引言简要说明C盘空间不足的常见原因(如系统文件积累、临时文件堆积、软件缓存等),强调定期清理的重要性。清理系统垃圾文件使用Windows内置的磁盘清理工具(cleanmgr命令),勾选临时文件、系统日志、回收站等…

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

LogisticsWaybill物流追踪:包裹信息自动登记系统构建

LogisticsWaybill物流追踪:包裹信息自动登记系统构建 在电商订单动辄百万级的今天,一个快递单的录入延迟可能就会引发客户投诉。而更现实的问题是——仓库里堆积如山的纸质运单,正等着工作人员一条条手动输入姓名、电话和地址。这种场景不仅…

作者头像 李华