A dual-era client has probed a server and found that it speaks the modern protocol. How long does the specification say the client should rely on that era determination?
Select an answer to reveal the explanation.
Short Explanation
Once you've learned the server speaks modern MCP, you don't keep re-asking on every call; you remember it for that process or that origin. You only check again if something breaks.
Full Explanation
The versioning page treats era determination as a property of the server, not of an individual request. Clients should cache the result for the lifetime of the server process on stdio or the origin on HTTP, may persist it across restarts of the same server configuration, and should re-probe if the cached assumption later fails, for example when a request that should work returns an error typical of the other era. Re-probing before every call would double traffic and add latency for no benefit, since the server's era does not change between requests. Tying the result to a conversation repeats a legacy mindset: modern MCP has no initialize handshake, and a stdio process or connection is not a conversation, so threads must not be the boundary. The caching utility governs result freshness through ttlMs on cacheable results such as tools/list; it defines no fixed twenty-four-hour expiry and has nothing to do with era detection. Exam caveat: a modern-only client need not probe at all, though probing stdio servers with server/discover is still recommended, because some legacy servers would otherwise process ambiguous methods under legacy semantics. Operational check: confirm the client stores the detected era keyed by process or origin, and that a forced failure triggers exactly one new probe.