{"version":"2.1.283","anchor":"artifact-connector-capabilities-accept-a-new-dynamic-true","canonical_anchor":"artifact-connector-capabilities-accept-a-new-dynamic-true","heading":"Artifact connector declarations accept \"dynamic\": true","tier":"notice","area":"Artifacts","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283\/e\/artifact-connector-capabilities-accept-a-new-dynamic-true","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283","markdown":"### Artifact connector declarations accept \"dynamic\": true\n\nPublished artifacts can declare \"dynamic\": true in capabilities.mcp to call unlisted connectors, with viewers approving each on first use\n\n**Unclear.** The capabilities field only appears when an internal setting is on, and it is not clear who has that setting.\n\n**What**\n\nA published artifact declares which connectors (MCP servers, the outside services Claude can reach) its page may call, under `capabilities.mcp`. That declaration has a new option:\n\n- `\"dynamic\": true` lets the page call connectors the declaration does not list.\n\n- With `\"dynamic\": true`, the `\"servers\"` list may be empty. Before, an empty list always failed with `no_servers`.\n\n- Any `dynamic` value other than the JSON boolean true, or leaving it out, is refused with the new `dynamic_not_boolean` error.\n\n- When a page calls servers the declaration does not list, the publish warning now says each viewer will be asked to approve them at first use, instead of saying the calls fail.\n\n- The empty-servers error now ends \"is refused\" instead of \"is always refused\".\n\n**Why**\n\nArtifact authors no longer have to name every connector up front. Instead of a fixed list set at publish time, each viewer decides the first time the page uses a connector.\n\n- Area: Artifacts\n- Names: `capabilities.mcp`\n- Tier: You'll notice\n- Useful: 4\/5\n- Signal: 3\/5"}