当前 MCP 协议有一定的局限性,MCP Server 只能接收文本输入,不支持多模态。
目前图片类的处理需求是非常高的,比如用 gpt4o-img 生成吉卜力风格图片最近就很火。
昨天在群里讨论,我们可以用这样一种思路,来实现对图片类 MCP Server 的调用:
1. 用户在 chatbot 客户端发送一张图片,要求把图片转成吉卜力风格输出
2. chatbot 客户端请求外部图床 API 上传图片,获得一个可公网访问的图片地址
3. chatbot 客户端连接用户配置的图片处理 MCP Server,获得 tools 描述
4. chatbot 客户端把 tools + 用户发送的文字和图片 URL 一起发给大模型,请求大模型 pick tools
5. 大模型返回图片处理 tool + 调用参数(这个参数里面包含用户发送的图片URL 和转换提示词)
6. chatbot 客户端给图片类 MCP Server 发送 call tool 请求
7. 图片类 MCP Server 接收到图片 URL 和转换提示词,调用多模态大模型,得到一张转换后的图片 URL,返回给客户端
8. chatbot 客户端回复转换后的图片给用户,交互完成
按照这个流程,开发者可以实现各种类型的多模态 MCP Server,来处理图片,语音,视频等内容的输入。
理论上只要支持 pick tools,能进行正确参数转换的大模型(比如 gpt-4o-mini) 都支持这套流程。
通过多模态 MCP Server 来让普通大模型支持多模态。就像是给五菱宏光装上了超级发动机,赛车场上也能跑赢法拉利。😂
这套流程唯一的依赖,需要 chatbot 客户端做一次上传图片的操作,因为目前 MCP Server 只支持文本输入,所以传给 MCP Server 的只能是一个图片 URL。
很高兴的一件事,在我提出这个想法不到 24 小时,国产 MCP 客户端四小龙之一的 DeepChat 已经实现了这套流程。
Talk is cheap,就需要这样的行动派,落地速度杠杠的🤙