diff --git a/mcp/server.go b/mcp/server.go index 64534b830..b3143ae9f 100644 --- a/mcp/server.go +++ b/mcp/server.go @@ -809,7 +809,7 @@ func (s *sseMcpServer) processResourcesRead(ctx context.Context, client *mcpClie } // Ensure MimeType is set if available from the resource definition - if len(content.MimeType) == 0 && resource.MimeType != "" { + if len(content.MimeType) == 0 && len(resource.MimeType) > 0 { content.MimeType = resource.MimeType } diff --git a/mcp/types.go b/mcp/types.go index 9f0c397d8..e711be582 100644 --- a/mcp/types.go +++ b/mcp/types.go @@ -116,13 +116,8 @@ type FileContent struct { // EmbeddedResource represents a resource embedded in a message type EmbeddedResource struct { - Type string `json:"type"` // Always "resource" - Resource struct { - URI string `json:"uri"` // Resource URI - MimeType string `json:"mimeType"` // MIME type of the resource - Text string `json:"text,omitempty"` // Text content (if available) - Blob string `json:"blob,omitempty"` // Base64 encoded blob data (if available) - } `json:"resource"` // The resource data + Type string `json:"type"` // Always "resource" + Resource ResourceContent `json:"resource"` // The resource data } // Annotations provides additional metadata for content