What is the primary purpose of implementing logging and progress notifications for an MCP server?	To improve the user experience by providing real-time feedback during long-running tool calls.
What specific argument does a tool function receive to access logging and progress methods?	The `context` argument, which is automatically included as the last argument.
Name two methods available on the `context` object for reporting tool run status.	`info` (for logging) and `report_progress`.
When a tool function calls logging or progress methods, what happens automatically?	A message is automatically sent back to the client.
What two types of callback functions must the client write to handle server updates?	A logging callback and a progress callback.
Where does the developer decide how to display the log statements and progress updates?	Inside the callback functions.
If building a Command Line Interface (CLI) application, how should log statements be reported?	By printing them out at the terminal.
Are logging and progress notifications mandatory features?	No, they are optional user experience enhancements.
What must the developer pass to the client session and the tool function?	The logging callback and the progress callback, respectively.
What happens if the developer chooses not to implement logging and progress?	The tool call will still function, but the user will receive no feedback during execution.
