Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.221 Home All releases olderv2.1.220 v2.1.222newer

MCP servers can start from a discovery cache and connect lazily

You'll notice
Useful4 Signal0
MCP Notable not in their notes

Startup no longer dials cached HTTP or SSE MCP servers; they restore from cache and connect on first use.

Feature flag
tengu_mcp_discovery_cache Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.221: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.221. It isn't a statement about your account. What a flag value here can and cannot tell you

MCP_DISCOVERY_CACHE
What

An http or sse MCP server with a saved discovery entry is no longer dialed at startup. Its tools, commands, prompts, resources, templates, instructions and serverInfo are restored from the cache and the real connection is deferred until something actually uses the server.

Details
  • A new client lifecycle state type: "cached" joins connected, pending, needs-auth and failed; restored entries carry cacheSavedAt.
  • Fresh entries are used directly; stale entries are used immediately and revalidated in the background under the context "MCP discovery-cache stale refresh".
  • A new tengu_mcp_discovery_source event reports where a server came from: cache_fresh, cache_stale, miss_expired, miss_corrupt, miss_strike, miss_no_fingerprint.
  • Entries whose capabilities are skills-capable or channel-capable are deliberately forced to a live connection ({ kind: "miss", reason: "skills-capable" }).
  • Eligibility checks that can send a server live instead: "env-disabled", "kill-switch", "transport", "cli-owned", "env-placeholder". The cache is also skipped when a live connection already exists.
  • Gated on tengu_mcp_discovery_cache with in-source fallback true, so the real value comes from remote config; setting the MCP_DISCOVERY_CACHE env var to false disables it. The persistence file mcp-discovery-cache and the env switch shipped in 2.1.220, but nothing consumed an entry into a client until now.
Evidence

tengu_mcp_discovery_source, tengu_mcp_discovery_cache, MCP discovery-cache stale refresh

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.221 →