MCP tool returns an image in format { type: 'image', data: '<base64>', mimeType: 'image/JPEG' }
Expected result:
- Same behavior as when a user sends an image as
{ type: 'image_url', image_url: '<base64>' }
Actual result:
- base64 string gets treated as text, pushing context to +120k tokens for a single 1024x1024 jpeg image
Hacky workaround:
- intercept tool call and store image results under assistant role, converted to image_url type.
MCP tool returns an image in format
{ type: 'image', data: '<base64>', mimeType: 'image/JPEG' }Expected result:
{ type: 'image_url', image_url: '<base64>' }Actual result:
Hacky workaround: