What is the primary purpose of the MCP client?	To provide a means of communication and access point between a server and an MCP server.
What does "transport agnostic" mean in the context of MCP?	It means the client and server can communicate over a variety of different protocols (e.g., standard I/O, HTTP, WebSockets).
Which message is sent from the client to the server to request a list of available tools?	The `list tools request`.
What message does the server send back to the client containing the list of available tools?	The `list tools result`.
Which message is used to ask the server to run a specific tool with particular arguments?	The `call tool request`.
What message contains the outcome or result of a tool execution?	The `call tool result`.
When a server needs to use a tool, what is the first action it takes involving the MCP client?	It asks the MCP client to get a list of tools.
Who is responsible for actually executing the tool when the server asks the MCP client to run it?	The MCP server.
How does the server deliver the tool result back to Claude?	It sends the tool result wrapped inside a user message.
What are the two main message types used for tool discovery?	`list tools request` and `list tools result`.
