Last reviewed
Correct answer: D. An error listing the versions the server does support, from which the client picks one and retries.
Explanation
The principle — An error that carries the information needed to succeed turns a failure into a round trip.
Why the key is correct — If the server does not support the requested version, it responds with an UnsupportedProtocolVersionError listing the versions it does support. And the client's move is prescribed: the client SHOULD select a mutually supported version from the supported list and retry the request, or surface an error to the user if no compatible version exists. That pairing is why a client is free to skip discovery — the worst case of guessing is one extra request.
Why the others are wrong — There is no silent downgrade, the error is not detail-free, and the rejection is scoped to the request rather than the connection.
Remember this — The rejection tells you what to try next, which is why an optimistic first request costs at most one extra round trip rather than a failed integration.
Sources — MCP first-party documentation.
Sources
“If the server does not support the requested version, it responds with an UnsupportedProtocolVersionError listing the versions it does support.”
“The client SHOULD select a mutually supported version from the supported list and retry the request, or surface an error to the user if no compatible version exists.”
Practise 10 questions on this topic
Take MCP Fundamentals — Timed Test 1 (10 questions) — scored instantly, explanation for every question, no login.