Table of Contents

Namespace ModelContextProtocol.Protocol

Classes

Annotations

Represents annotations that can be attached to content, resources, and resource templates.

Argument

Represents an argument used in completion requests to provide context for auto-completion functionality.

BlobResourceContents

Represents the binary contents of a resource in the Model Context Protocol.

CallToolRequestParams

Represents the parameters used with a ToolsCall request from a client to invoke a tool provided by the server.

CallToolResponse

Represents the result of a ToolsCall request from a client to invoke a tool provided by the server.

CancelledNotification

Represents a notification indicating that a request has been cancelled by the client, and that any associated processing should cease immediately.

ClientCapabilities

Represents the capabilities that a client may support.

CompleteRequestParams

Represents the parameters used with a CompletionComplete request from a client to ask a server for auto-completion suggestions.

CompleteResult

Represents the server's response to a CompletionComplete request, containing suggested values for a given argument.

Completion

Represents a completion object in the server's response to a CompletionComplete request.

CompletionsCapability

Represents the completions capability for providing auto-completion suggestions for prompt arguments and resource references.

Content

Represents content within the Model Context Protocol (MCP) that can contain text, binary data, or references to resources.

CreateMessageRequestParams

Represents the parameters used with a SamplingCreateMessage request from a server to sample an LLM via the client.

CreateMessageResult

Represents a client's response to a SamplingCreateMessage from the server.

ElicitRequestParams

Represents a message issued from the server to elicit additional information from the user via the client.

ElicitRequestParams.BooleanSchema

Represents a schema for a Boolean type.

ElicitRequestParams.EnumSchema

Represents a schema for an enum type.

ElicitRequestParams.NumberSchema

Represents a schema for a number or integer type.

ElicitRequestParams.PrimitiveSchemaDefinition

Represents restricted subset of JSON Schema: ElicitRequestParams.StringSchema, ElicitRequestParams.NumberSchema, ElicitRequestParams.BooleanSchema, or ElicitRequestParams.EnumSchema.

ElicitRequestParams.RequestSchema

Represents a request schema used in an elicitation request.

ElicitRequestParams.StringSchema

Represents a schema for a string type.

ElicitResult

Represents the client's response to an elicitation request.

ElicitationCapability

Represents the capability for a client to provide server-requested additional information during interactions.

EmptyResult

Represents an empty result object for operations that need to indicate successful completion but don't need to return any specific data.

GetPromptRequestParams

Represents the parameters used with a PromptsGet request from a client to get a prompt provided by a server.

GetPromptResult

Represents a server's response to a PromptsGet request from the client.

Implementation

Provides the name and version of an MCP implementation.

InitializeRequestParams

Represents the parameters used with a Initialize request sent by a client to a server during the protocol handshake.

InitializeResult

Represents the result of a Initialize request sent to the server during connection establishment.

JsonRpcError

Represents an error response message in the JSON-RPC protocol.

JsonRpcErrorDetail

Represents detailed error information for JSON-RPC error responses.

JsonRpcMessage

Represents any JSON-RPC message used in the Model Context Protocol (MCP).

JsonRpcMessageWithId

Represents a JSON-RPC message used in the Model Context Protocol (MCP) and that includes an ID.

JsonRpcNotification

Represents a notification message in the JSON-RPC protocol.

JsonRpcRequest

A request message in the JSON-RPC protocol.

JsonRpcResponse

A successful response message in the JSON-RPC protocol.

ListPromptsRequestParams

Represents the parameters used with a PromptsList request from a client to request a list of prompts available from the server.

ListPromptsResult

Represents a server's response to a PromptsList request from the client, containing available prompts.

ListResourceTemplatesRequestParams

Represents the parameters used with a ResourcesTemplatesList request from a client to request a list of resource templates available from the server.

ListResourceTemplatesResult

Represents a server's response to a ResourcesTemplatesList request from the client, containing available resource templates.

ListResourcesRequestParams

Represents the parameters used with a ResourcesList request from a client to request a list of resources available from the server.

ListResourcesResult

Represents a server's response to a ResourcesList request from the client, containing available resources.

ListRootsRequestParams

Represents the parameters used with a ResourcesTemplatesList request from a server to request a list of roots available from the client.

ListRootsResult

Represents a client's response to a RootsList request from the server, containing available roots.

ListToolsRequestParams

Represents the parameters used with a ToolsList request from a client to request a list of tools available from the server.

ListToolsResult

Represents a server's response to a ToolsList request from the client, containing available tools.

LoggingCapability

Represents the logging capability configuration for a Model Context Protocol server.

LoggingMessageNotificationParams

Represents the parameters used with a LoggingMessageNotification notification sent whenever a log message is generated.

ModelHint

Provides hints to use for model selection.

ModelPreferences

Represents a server's preferences for model selection, requested of the client during sampling.

NotificationMethods

Provides constants with the names of common notification methods used in the MCP protocol.

PaginatedRequestParams

Provides a base class for paginated requests.

PaginatedResult

Provides a base class for result payloads that support cursor-based pagination.

PingResult

Represents the result of a Ping request in the Model Context Protocol.

ProgressNotification

Represents an out-of-band notification used to inform the receiver of a progress update for a long-running request.

Prompt

Represents a prompt that the server offers.

PromptArgument

Represents an argument that a prompt can accept for templating and customization.

PromptMessage

Represents a message within the Model Context Protocol (MCP) system, used for communication between clients and AI models.

PromptsCapability

Represents the server's capability to provide predefined prompt templates that clients can use.

ReadResourceRequestParams

Represents the parameters used with a ResourcesRead request from a client to get a resource provided by a server.

ReadResourceResult

Represents a server's response to a ResourcesRead request from the client.

Reference

Represents a reference to a resource or prompt in the Model Context Protocol.

RequestMethods

Provides constants with the names of common request methods used in the MCP protocol.

RequestParams

Provides a base class for all request parameters.

RequestParamsMetadata

Provides metadata related to the request that provides additional protocol-level information.

Resource

Represents a known resource that the server is capable of reading.

ResourceContents

Provides a base class representing contents of a resource in the Model Context Protocol.

ResourceTemplate

Represents a known resource template that the server is capable of reading.

ResourceUpdatedNotificationParams

Represents the parameters used with a ResourceUpdatedNotification notification sent whenever a subscribed resource changes.

ResourcesCapability

Represents the resources capability configuration.

Root

Represents a root URI and its metadata in the Model Context Protocol.

RootsCapability

Represents a client capability that enables root resource discovery in the Model Context Protocol.

SamplingCapability

Represents the capability for a client to generate text or other content using an AI model.

SamplingMessage

Represents a message issued to or received from an LLM API within the Model Context Protocol.

ServerCapabilities

Represents the capabilities that a server may support.

SetLevelRequestParams

Represents the parameters used with a LoggingSetLevel request from a client to enable or adjust logging.

StreamClientTransport

Provides an IClientTransport implemented around a pair of input/output streams.

SubscribeRequestParams

Represents the parameters used with a ResourcesSubscribe request from a client to request real-time notifications from the server whenever a particular resource changes.

TextResourceContents

Represents text-based contents of a resource in the Model Context Protocol.

Tool

Represents a tool that the server is capable of calling.

ToolAnnotations

Represents additional properties describing a Tool to clients.

ToolsCapability

Represents the tools capability configuration. See the schema for details.

TransportBase

Provides a base class for implementing ITransport.

UnsubscribeRequestParams

Sent from the client to cancel resource update notifications from the server for a specific resource.

Structs

ProgressToken

Represents a progress token, which can be either a string or an integer.

RequestId

Represents a JSON-RPC request identifier, which can be either a string or an integer.

Interfaces

ITransport

Represents a transport mechanism for MCP (Model Context Protocol) communication between clients and servers.

Enums

ContextInclusion

Specifies the context inclusion options for a request in the Model Context Protocol (MCP).

LoggingLevel

Indicates the severity of a log message.

Role

Represents the type of role in the Model Context Protocol conversation.