Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.308 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.209 ·

Artifact Runtime Capabilities (MCP)

Entry
JSON All of v2.1.209
EntryKind: in v2.1.209,
New FeaturesSection of the release
What

Published Artifact pages can now declare runtime capabilities — starting with mcp, which lets the page call the user's connected claude.ai data sources at runtime rather than embedding static data from the conversation.

Usage
Artifact tool: { capabilities: { mcp: { servers: [...] } } }
Details
  • Artifacts accept a new capabilities input that declares which runtime abilities the published page requires.
  • The first supported capability is mcp, enabling the page to call the user's claude.ai connectors (Slack, Google Drive, etc.) via window.claude.mcp at open time.
  • Omitting capabilities on a republish carries the stored declaration forward; passing {} explicitly clears all capabilities.
  • A new skill, artifact-capabilities, must be loaded before declaring any capability or writing window.claude.* runtime code — it carries the current contract's typed call definitions and per-capability guidance.
  • Type definitions (.d.ts files) for the runtime contract are extracted to a local cache directory and are authoritative over any memorized API shape.
  • Connector tools appear in the tool list as mcp__<connector>__<toolName>; the server value in the capabilities declaration is the <connector> segment.
  • Only claude.ai connectors are valid — locally-configured MCP servers cannot be declared as Artifact capabilities.
  • The dataviz/artifact skill prompt gains a new "## Live data via connected sources" section when this feature is enabled, explaining the workflow.
  • The Artifact tool description itself now mentions the capabilities input and the requirement to load the artifact-capabilities skill.
Status

[Gradual Rollout] — controlled by CLAUDE_CODE_ARTIFACT_MCP env var or tengu_cloth_snorkel feature flag.

Evidence

New skill registered as registerArtifactCapabilitiesSkill (search for "Runtime capabilities for published Artifacts"); capabilities schema added (search for "Runtime capabilities this page declares, as {name: config}"); gated by n4y() which checks CLAUDE_CODE_ARTIFACT_MCP ?? Qe("tengu_cloth_snorkel", !1)

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

Read from
Feature flag
tengu_cloth_snorkel Off by default, switched on for this account

The shipped code defaults this off, and the flag server returned on for the one account this site reads on this version. That is the reading that makes the entry above worth a second look, and it still says nothing about your account.

This account: on · anonymous baseline: on · compiled default in v2.1.209: 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.209. It isn't a statement about your account. What a flag value here can and cannot tell you

What has happened since
Flag reading moved The flag server now returns on for tengu_cloth_snorkel, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns nothing at all, having stopped carrying it for tengu_cloth_snorkel, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.

See this across every release →

How sure we are
One source agreesOne thing we can check says the same as this entry.
The name it cites is new in this buildNew in this build: tengu_cloth_snorkel

See this entry in the whole of v2.1.209 →

Feedback