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 in a new "cached" state instead of blocking on connect

You'll notice
Useful4 Signal0
MCP Notable

MCP servers with a saved cache now show tools instantly and only connect when you first use them.

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/mcp
What

A fifth MCP client state, cached, joins connected, pending, failed, needs-auth and disabled. When a fresh or stale discovery-cache entry exists for an http or sse server, its tools, commands and resources are published from cache immediately and the real connection is only opened on the first call.

Details
  • Stale cache entries are used right away and revalidated in the background; fresh entries are used as-is.
  • Cached is treated like connected across the codebase: the /mcp panels show tool, prompt and resource counts for cached servers, cached clients count as connected for serverInfo purposes, and the hooks mcp_tool path accepts them.
  • The status-line counter gained a cached bucket and the connection summary adds an N cached segment; the status label is assembled at runtime from a saved timestamp plus the fixed fragment connects on first use.
  • Hook and SDK payloads report a cached server as pending, via a mapping helper that returns "pending" for "cached".
  • Resource-template argument completion now calls ensureConnectedClient with context "MCP template completion", skipping or recording failure per server rather than silently returning nothing.
  • Telemetry gained tengu_mcp_discovery_source with source cache_fresh or cache_stale, and startup telemetry gained an mcpServersCached count.
  • Gated on tengu_mcp_discovery_cache, which falls back to true when remote config says nothing, so the real value comes from the server. Setting MCP_DISCOVERY_CACHE to false disables it with reason env-disabled; non-http/sse transports are excluded with reason transport.
Evidence

cached (connects on first use), connects on first use, Template completion skipped for

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 →