What is the primary purpose of the MCP client?	To provide a means of communication between the server and an MCP server, acting as the access point to the server's tools.
What does the term "transport agnostic" mean in the context of MCP?	It means the client and server can communicate over a variety of different protocols.
How do the client and server communicate once a connection is established?	By exchanging messages that are defined within the MCP specification.
Which message is sent from the client to the server to request a list of available tools?	List tools request.
What message does the server send back to the client after receiving a list tools request?	List tools result.
What message type is used to ask the server to execute a specific tool with arguments?	Call tool request.
What message contains the outcome or data returned from a tool execution?	Call tool result.
In the tool execution flow, which component is responsible for actually running the tool (e.g., calling GitHub)?	The MCP server.
What is the initial step the server takes when a user query requires tool use?	The server asks the MCP client to get a list of tools.
After the MCP server returns the tool result, what is the final step before the user receives an answer?	The server sends the tool result back to the LLM (e.g., Claude) within a user message for final response generation.
