{"version":"2.1.310","anchor":"artifacts-mcp-server-detection-widened","canonical_anchor":"artifacts-mcp-server-detection-widened","heading":"Artifacts MCP server checks cover a runner-hosted setup and gate comment reading","tier":"notice","area":"Artifacts","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifacts-mcp-server-detection-widened","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310","markdown":"### Artifacts MCP server checks cover a runner-hosted setup and gate comment reading\n\nClaude Code recognises a second, runner-hosted Artifacts MCP setup, extends its guards to it, checks comment reads per artifact, and marks refused servers not connected\n\n**Unclear.** Which additional configurations are now recognised is not known.\n\n**What**\n\nThe Artifacts MCP server gives Claude Code tools for working with artifacts. An MCP server is an outside program that adds tools to Claude Code. Claude Code already gave this server special protection, and it now recognises a second way of setting it up.\n\n- The guards now cover the second setup. One guard withholds the Artifacts server's resources. The other stops hooks from calling its tools. A hook is an action you set up to run automatically. Before, these guards only matched the laptop entry found by `isArtifactsMcpLaptopEntry`. The error messages are unchanged.\n\n- The permission wrapper around the server now sorts it into a \"runner\" entry or a \"laptop\" entry. A runner entry is marked `standsInForBuiltIn: true`. On certain errors it records `mcpEntryRowNotServed`.\n\n- `mcpEntryRowNotServed` marks an MCP entry as not served, and Claude Code then treats that entry as not connected. Before, an entry counted as connected whenever its type was \"connected\" or \"cached\".\n\n- A new check recognises the error \"Error POSTing to endpoint: MCP server not allowed\" when it comes with status 403, a refusal from the server. It also recognises the same error starting with \"Streamable HTTP error:\".\n\n- Reading comments on an artifact now gets a permission decision for each artifact. A read is denied when the artifact's short name (its slug) cannot be read, with the error `mcp_comments_slug_unread`. A second error, `mcp_comments_notice_unchecked`, tells Claude to \"Call read_comments again for this artifact so the user can be asked.\"\n\n**Why**\n\nHooks cannot call the Artifacts server's tools because a hook's call skips your permission rules. That protection now holds however the server is set up. You may be asked about reading comments one artifact at a time. An MCP server that answers with the \"not allowed\" error can now show as not connected rather than as working.\n\n- Area: Artifacts\n- Names: `mcp_tool`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}