The protocol supports real-time notifications to enable dynamic updates between servers and clients. For example, when a server’s available tools change—such as when new functionality becomes available or existing tools are modified—the server can send tool update notifications to inform connected clients about these changes. Notifications are sent as JSON-RPC 2.0 notification messages (without expecting a response) and enable MCP servers to provide real-time updates to connected clients.

This notification system is crucial for several reasons:

  1. Dynamic Environments: Tools may come and go based on server state, external dependencies, or user permissions
  2. Efficiency: Clients don’t need to poll for changes; they’re notified when updates occur
  3. Consistency: Ensures clients always have accurate information about available server capabilities
  4. Real-time Collaboration: Enables responsive AI applications that can adapt to changing contexts