{"version":"2.1.209","anchor":"artifact-runtime-capabilities-mcp","canonical_anchor":"artifact-runtime-capabilities-mcp","heading":"Artifact Runtime Capabilities (MCP)","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.209\/e\/artifact-runtime-capabilities-mcp","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.209","markdown":"### Artifact Runtime Capabilities (MCP)\n\n**What**\n\nPublished Artifact pages can now declare runtime capabilities \u2014 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.\n\n**Usage**\n\n`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 \u2014 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 \u2014 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] \u2014 controlled by `CLAUDE_CODE_ARTIFACT_MCP` env var or `tengu_cloth_snorkel` feature flag.\n\n**Evidence**\n\nNew 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)`\n\n- Flag `tengu_cloth_snorkel`: Off by default, switched on for this account (read for one account on one subscription tier against v2.1.209; this account: on, anonymous baseline: on, compiled default: 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."}