Table of Contents

Class NotificationMethods

Namespace
ModelContextProtocol.Protocol.Messages
Assembly
ModelContextProtocol.dll

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

public static class NotificationMethods
Inheritance
NotificationMethods
Inherited Members

Fields

CancelledNotification

The name of the notification sent to indicate that a previously-issued request should be canceled.

public const string CancelledNotification = "notifications/cancelled"

Field Value

string

Remarks

From the issuer's perspective, the request should still be in-flight. However, due to communication latency, it is always possible that this notification may arrive after the request has already finished.

This notification indicates that the result will be unused, so any associated processing SHOULD cease.

A client must not attempt to cancel its `initialize` request.

InitializedNotification

The name of the notification sent from the client to the server after initialization has finished.

public const string InitializedNotification = "notifications/initialized"

Field Value

string

Remarks

This notification is sent by the client after it has received and processed the server's response to the Initialize request. It signals that the client is ready to begin normal operation and that the initialization phase is complete.

After receiving this notification, the server can begin sending notifications and processing further requests from the client.

LoggingMessageNotification

The name of the notification sent by the server when a log message is generated.

public const string LoggingMessageNotification = "notifications/message"

Field Value

string

Remarks

This notification is used by the server to send log messages to clients. Log messages can include different severity levels, such as debug, info, warning, or error, and an optional logger name to identify the source component.

The minimum logging level that triggers notifications can be controlled by clients using the LoggingSetLevel request. If no level has been set by a client, the server may determine which messages to send based on its own configuration.

ProgressNotification

The name of the notification sent to inform the receiver of a progress update for a long-running request.

public const string ProgressNotification = "notifications/progress"

Field Value

string

Remarks

This notification provides updates on the progress of long-running operations. It includes a progress token that associates the notification with a specific request, the current progress value, and optionally, a total value and a descriptive message.

Progress notifications may be sent by either the client or the server, depending on the context. Progress notifications enable clients to display progress indicators for operations that might take significant time to complete, such as large file uploads, complex computations, or resource-intensive processing tasks.

PromptListChangedNotification

The name of the notification sent by the server when the list of available prompts changes.

public const string PromptListChangedNotification = "notifications/prompts/list_changed"

Field Value

string

Remarks

This notification informs clients that the set of available prompts has been modified. Changes may include prompts being added, removed, or updated. Upon receiving this notification, clients may refresh their prompt list by calling the appropriate method to get the updated list of prompts.

ResourceListChangedNotification

The name of the notification sent by the server when the list of available resources changes.

public const string ResourceListChangedNotification = "notifications/resources/list_changed"

Field Value

string

Remarks

This notification informs clients that the set of available resources has been modified. Changes may include resources being added, removed, or updated. Upon receiving this notification, clients may refresh their resource list by calling the appropriate method to get the updated list of resources.

ResourceUpdatedNotification

The name of the notification sent by the server when a resource is updated.

public const string ResourceUpdatedNotification = "notifications/resources/updated"

Field Value

string

Remarks

This notification is used to inform clients about changes to a specific resource they have subscribed to. When a resource is updated, the server sends this notification to all clients that have subscribed to that resource.

RootsUpdatedNotification

The name of the notification sent by the client when roots have been updated.

public const string RootsUpdatedNotification = "notifications/roots/list_changed"

Field Value

string

Remarks

This notification informs the server that the client's "roots" have changed. Roots define the boundaries of where servers can operate within the filesystem, allowing them to understand which directories and files they have access to. Servers can request the list of roots from supporting clients and receive notifications when that list changes.

After receiving this notification, servers may refresh their knowledge of roots by calling the appropriate method to get the updated list of roots from the client.

ToolListChangedNotification

The name of notification sent by a server when the list of available tools changes.

public const string ToolListChangedNotification = "notifications/tools/list_changed"

Field Value

string

Remarks

This notification informs clients that the set of available tools has been modified. Changes may include tools being added, removed, or updated. Upon receiving this notification, clients may refresh their tool list by calling the appropriate method to get the updated list of tools.