Table of Contents

Class AIContentExtensions

Namespace
ModelContextProtocol
Assembly
ModelContextProtocol.dll

Provides extension methods for converting between Model Context Protocol (MCP) types and Microsoft.Extensions.AI types.

public static class AIContentExtensions
Inheritance
AIContentExtensions
Inherited Members

Remarks

This class serves as an adapter layer between Model Context Protocol (MCP) types and the Microsoft.Extensions.AI.AIContent model types from the Microsoft.Extensions.AI namespace.

Methods

ToAIContent(Content)

Creates a new Microsoft.Extensions.AI.AIContent from the content of a Content.

public static AIContent ToAIContent(this Content content)

Parameters

content Content

The Content to convert.

Returns

AIContent

The created Microsoft.Extensions.AI.AIContent.

Remarks

This method converts Model Context Protocol content types to the equivalent Microsoft.Extensions.AI content types, enabling seamless integration between the protocol and AI client libraries.

ToAIContent(ResourceContents)

Creates a new Microsoft.Extensions.AI.AIContent from the content of a ResourceContents.

public static AIContent ToAIContent(this ResourceContents content)

Parameters

content ResourceContents

The ResourceContents to convert.

Returns

AIContent

The created Microsoft.Extensions.AI.AIContent.

Remarks

This method converts Model Context Protocol resource types to the equivalent Microsoft.Extensions.AI content types, enabling seamless integration between the protocol and AI client libraries.

ToAIContents(IEnumerable<Content>)

Creates a list of Microsoft.Extensions.AI.AIContent from a sequence of Content.

public static IList<AIContent> ToAIContents(this IEnumerable<Content> contents)

Parameters

contents IEnumerable<Content>

The Content instances to convert.

Returns

IList<AIContent>

The created Microsoft.Extensions.AI.AIContent instances.

Remarks

This method converts a collection of Model Context Protocol content objects into a collection of Microsoft.Extensions.AI content objects. It's useful when working with multiple content items, such as when processing the contents of a message or response.

Each Content object is converted using ToAIContent(Content), preserving the type-specific conversion logic for text, images, audio, and resources.

ToAIContents(IEnumerable<ResourceContents>)

Creates a list of Microsoft.Extensions.AI.AIContent from a sequence of ResourceContents.

public static IList<AIContent> ToAIContents(this IEnumerable<ResourceContents> contents)

Parameters

contents IEnumerable<ResourceContents>

The ResourceContents instances to convert.

Returns

IList<AIContent>

A list of Microsoft.Extensions.AI.AIContent objects created from the resource contents.

Remarks

This method converts a collection of Model Context Protocol resource objects into a collection of Microsoft.Extensions.AI content objects. It's useful when working with multiple resources, such as when processing the contents of a ReadResourceResult.

Each ResourceContents object is converted using ToAIContent(ResourceContents), preserving the type-specific conversion logic: text resources become Microsoft.Extensions.AI.TextContent objects and binary resources become Microsoft.Extensions.AI.DataContent objects.

ToChatMessage(PromptMessage)

Converts a PromptMessage to a Microsoft.Extensions.AI.ChatMessage object.

public static ChatMessage ToChatMessage(this PromptMessage promptMessage)

Parameters

promptMessage PromptMessage

The prompt message to convert.

Returns

ChatMessage

A Microsoft.Extensions.AI.ChatMessage object created from the prompt message.

Remarks

This method transforms a protocol-specific PromptMessage from the Model Context Protocol into a standard Microsoft.Extensions.AI.ChatMessage object that can be used with AI client libraries.

ToChatMessages(GetPromptResult)

Converts a GetPromptResult to a list of Microsoft.Extensions.AI.ChatMessage objects.

public static IList<ChatMessage> ToChatMessages(this GetPromptResult promptResult)

Parameters

promptResult GetPromptResult

The prompt result containing messages to convert.

Returns

IList<ChatMessage>

A list of Microsoft.Extensions.AI.ChatMessage objects created from the prompt messages.

Remarks

This method transforms protocol-specific PromptMessage objects from a Model Context Protocol prompt result into standard Microsoft.Extensions.AI.ChatMessage objects that can be used with AI client libraries.

ToPromptMessages(ChatMessage)

Converts a Microsoft.Extensions.AI.ChatMessage to a list of PromptMessage objects.

public static IList<PromptMessage> ToPromptMessages(this ChatMessage chatMessage)

Parameters

chatMessage ChatMessage

The chat message to convert.

Returns

IList<PromptMessage>

A list of PromptMessage objects created from the chat message's contents.

Remarks

This method transforms standard Microsoft.Extensions.AI.ChatMessage objects used with AI client libraries into protocol-specific PromptMessage objects for the Model Context Protocol system. Only representable content items are processed.