Jelajahi Sumber

Support mcp image resource (#1962)

handle mcp image resource
黄远成 9 bulan lalu
induk
melakukan
237ee329ee
1 mengubah file dengan 10 tambahan dan 2 penghapusan
  1. 10 2
      src/core/Cline.ts

+ 10 - 2
src/core/Cline.ts

@@ -2874,8 +2874,16 @@ export class Cline extends EventEmitter<ClineEvents> {
 										})
 										})
 										.filter(Boolean)
 										.filter(Boolean)
 										.join("\n\n") || "(Empty response)"
 										.join("\n\n") || "(Empty response)"
-								await this.say("mcp_server_response", resourceResultPretty)
-								pushToolResult(formatResponse.toolResult(resourceResultPretty))
+
+								// handle images (image must contain mimetype and blob)
+								let images: string[] = []
+								resourceResult?.contents.forEach((item) => {
+									if (item.mimeType?.startsWith("image") && item.blob) {
+										images.push(item.blob)
+									}
+								});
+								await this.say("mcp_server_response", resourceResultPretty, images)
+								pushToolResult(formatResponse.toolResult(resourceResultPretty, images))
 								break
 								break
 							}
 							}
 						} catch (error) {
 						} catch (error) {