Last reviewed
Correct answer: B. Servers must implement it; clients may call it or may go straight to the request they wanted.
Explanation
The principle — An obligation on one side and a convenience on the other is a deliberate asymmetry, not an inconsistency.
Why the key is correct — Servers MUST implement server/discover. On the other side: calling server/discover is optional for clients — a client may invoke any RPC inline and handle UnsupportedProtocolVersionError if the server does not support the requested version.
Why the others are wrong — Clients are not required to call first, servers are not free to omit it, and it does not replace the per-request version declaration.
Remember this — Every server answers it; no client has to ask.
Sources — MCP first-party documentation.
Sources
“Servers MUST implement server/discover.”
“Calling server/discover is optional for clients — a client may invoke any RPC inline and handle UnsupportedProtocolVersionError if the server does not support the requested version.”
Practise 10 questions on this topic
Take MCP Fundamentals — Timed Test 1 (10 questions) — scored instantly, explanation for every question, no login.