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
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
ResourceContentsThe 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
PromptMessageThe 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
GetPromptResultThe 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
ChatMessageThe 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.