返回图像和二进制数据
通过工具返回非文本内容。
返回图像和二进制数据 是 CoddyKit 上的免费 MCP Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 MCP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 MCP Academy 课程共包含 4 节课。
超越文本和 JSON
有些工具生成的是图片或文件,而不是文字。MCP 可以返回图片及其他数据块等二进制内容,而不只是文本。
图片内容类型
MCP 定义了一种图片内容类型,其中包含原始字节和媒体类型。支持该类型的客户端可以直接渲染图片。🖼️
字节以 Base64 传输
二进制数据会编码为 base64 文本,以便在 JSON 消息中安全传输。客户端收到后会将其解码回真正的字节。
图片辅助工具
Python SDK 提供了 Image 辅助工具,因此您无需手动编码。只需将字节或路径传给它并返回即可。
from mcp.server.fastmcp import Image
return Image(data=png_bytes, format="png")设置媒体类型
请始终声明格式,例如 png 或 jpeg,这样客户端才知道如何正确解码和显示图片。
返回磁盘上的文件
先将文件读取为字节,再将其包装后返回。工具会将保存的图表转换为模型和用户都能查看的结果。
data = open("chart.png", "rb").read()
return Image(data=data, format="png")不只有图片
除了图片,MCP 还支持用于其他二进制数据的通用数据块内容,例如 PDF 或音频,并为其指定媒体类型。
客户端支持各不相同
并非每个客户端都能显示所有类型。无法渲染图片的主机可能会退回到引用或下载链接。
注意大小
Base64 会使数据量增加约三分之一,而大型数据块会消耗令牌和带宽。请尽可能让返回的媒体保持较小。
大文件优先使用资源
对于非常大或需要共享的文件,请通过 URI 提供资源,而不是将字节直接嵌入工具结果。客户端会按需获取。
与文本结合
您可以在同一个结果中将图片与简短的文字说明配对,让模型同时获得可供推理的图片和文字。
快速检查
二进制数据如何在 MCP 消息中传输?
回顾:图片与数据块
您可以通过带媒体类型的 base64 返回图片和二进制数据块,设置格式、注意大小,并优先使用资源来处理大文件。✅
用 AI 导师学习 Python — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「返回图像和二进制数据」课时是免费的吗?
是的 — 「返回图像和二进制数据」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 MCP Academy 课程的其余内容,请升级到 CoddyKit PRO。 MCP Academy 课程共包含 4 节课。
「返回图像和二进制数据」这节课中我会学到什么?
通过工具返回非文本内容。 你通过在浏览器中直接运行的动手代码来练习 MCP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 MCP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 MCP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「返回图像和二进制数据」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 MCP Academy 课中编写并运行代码吗?
能。每节 MCP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 文本与结构化内容
- 返回带类型的结果对象
- 面向客户端的输出模式
- 返回图像和二进制数据