diff --git a/packages/api/src/mcp/parsers.ts b/packages/api/src/mcp/parsers.ts index f3fc3a6778..aaf20e1145 100644 --- a/packages/api/src/mcp/parsers.ts +++ b/packages/api/src/mcp/parsers.ts @@ -106,7 +106,7 @@ export function formatToolContent( const formattedContent: t.FormattedContent[] = []; const imageUrls: t.FormattedContent[] = []; let currentTextBlock = ''; - let uiResources: t.UIResource[] = []; + const uiResources: UIResource[] = []; type ContentHandler = undefined | ((item: t.ToolContentPart) => void); @@ -176,11 +176,17 @@ export function formatToolContent( formattedContent.push({ type: 'text', text: currentTextBlock }); } + let artifacts: t.Artifacts = imageUrls.length ? { content: imageUrls } : undefined; + if (uiResources.length) { - formattedContent.push({ type: 'text', metadata: 'ui_resources', text: btoa(JSON.stringify(uiResources))}); + artifacts = { + ...artifacts, + [Tools.ui_resources]: { + data: uiResources, + }, + }; } - const artifacts = imageUrls.length ? { content: imageUrls } : undefined; if (CONTENT_ARRAY_PROVIDERS.has(provider)) { return [formattedContent, artifacts]; }