First, discover what exists

The host should not guess what a server can do.

Its client asks the server for a list of available capabilities. The reply includes names, descriptions, and the information each request needs.

A calendar server might announce a tool named list_events and explain that it needs a start date and an end date.

Discovery lets the connection describe itself.