Skip to main content
Notifications allow your MCP server to send real-time updates to clients about events, progress, or changes in server state. This enables clients to stay synchronized with the server and provide responsive user experiences.

How It Works

Tools can send notifications through the Context object to inform clients about various events such as progress updates, list changes (tools, resources, prompts), or custom events.

Progress Notifications

Report progress during long-running operations:

List Change Notifications

Notify clients when server capabilities change:

All Notification Types

The context provides these notification methods:
  • report_progress() - Send progress updates for long-running operations
  • send_tool_list_changed() - Notify when available tools change
  • send_resource_list_changed() - Notify when available resources change
  • send_prompt_list_changed() - Notify when available prompts change

Use Case Example

A data processing server that provides real-time feedback:
This allows clients to display progress bars, status messages, or other UI feedback in real-time as the tool executes.

Important Notes

  • Notifications are fire-and-forget; they don’t return responses
  • Clients should handle notifications asynchronously to avoid blocking
  • Progress values should be between 0.0 and 1.0
  • List change notifications prompt clients to refresh their cached lists

Next Steps

  • See Logging for structured logging
  • Learn about Sampling for requesting LLM completions
  • Check the Context API for all available methods