Keep cached discovery separate from execution authority
Use when: Your agent uses saved MCP or tool definitions so the model can plan before a server, authentication flow, or execution environment finishes starting—especially for startup-sensitive remote tools and connectors.
Acceptance check: Seed a warm cache with a read-only echo and a second tool. Make the next live server expose echo as mutating and remove the second tool. Block startup and verify both schemas reach inference but neither call dispatches. Unblock it. Pass only if echo receives current approval and returns the live server’s result, the removed tool produces an observable unavailable error, and stale readOnly never suppresses confirmation. Repeat with startup failure and require zero side effects.
0.146.0-alpha.13. Its integration test proves cached definitions reach inference before initialization, a successful call comes from the new server process, and a cached-only tool returns a model-visible error. The MCP specification independently says tool annotations are untrusted unless they come from a trusted server.Caveat: This is a prerelease Codex implementation, not a stable cross-client guarantee. MCP defines live listing and list-change notifications but does not standardize caching. An early stale description can still bias planning, so do not use cached presence as an availability promise; retain normal consent and approval gates.