MCP Academy · 课时

返回图像和二进制数据

通过工具返回非文本内容。

第 4 / 4 课13 个步骤

返回图像和二进制数据 是 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 文本与结构化内容
  2. 返回带类型的结果对象
  3. 面向客户端的输出模式
  4. 返回图像和二进制数据
← 返回 MCP Academy