# Share a Claude Desktop Artifact — A Link Instead of a Screenshot

Canonical: https://commareports.com/agents/share-claude-desktop-output
Published: 2026-09-09

> Claude Desktop builds the dashboard, the write-up, the interactive chart — inside the app on your machine. Give it the Comma MCP server and it publishes to a URL anyone can open.

# Share a Claude Desktop artifact

Claude Desktop is very good at producing the artifact you actually wanted: a
working dashboard, a comparison table, a chart with real interactivity, a
write-up that is structured rather than a wall. It renders in a panel in a
desktop app, on one machine, for one person.

The usual escape routes all lose something. A screenshot loses the
interactivity and half the table. Copy-pasting into a doc loses the layout.
Saving the file and emailing it produces an attachment that opens as a blank
page from someone's downloads folder — see
[why an HTML file won't open](/fix) if you have watched that happen.

## Let Claude publish it

Add Comma's [MCP server](/mcp/claude-desktop) to
`claude_desktop_config.json` with a [scoped token](/docs/api-tokens) and
restart the app:

```json
{
  "mcpServers": {
    "comma": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://commareports.com/api/mcp",
        "--header",
        "Authorization: Bearer comma_sk_…"
      ]
    }
  }
}
```

Then just ask: _"publish that as a report and give me the link."_ Claude calls
the tool with the artifact's HTML and hands back a URL. If you would rather not
ask every time, put the instruction in your project instructions and every
artifact ends with a link.

## Why a URL beats an exported file

- **It opens.** No downloads folder, no "this file may be dangerous", no
  `file://` path where every relative asset 404s.
- **It stays interactive.** Sandboxed `allow-scripts` without
  `allow-same-origin` — the chart works, and it cannot reach the reader's
  session — see [interactive HTML reports](/interactive-html-reports).
- **Comments land on the number.** Someone highlights the Q3 column and says
  it's stale, and the thread stays there — see
  [commenting on HTML](/comment-on-html).
- **Claude can read the replies** over the same MCP server, so "fix what people
  flagged" is a prompt rather than a transcription job — see
  [letting an agent respond to comments](/agents/let-an-agent-respond-to-comments).
- **Updating keeps the link.** Ask for a revision on the same report and the
  URL you already shared still resolves.

## Worth knowing

- **Scope the token to `reports:write`** unless you want Claude replying in
  threads — see [scoped tokens for AI agents](/agents/scoped-tokens-for-ai-agents).
- **Publish private, then widen.** An artifact built from a file you uploaded
  may contain more of that file than you remember — see
  [sharing & access control](/docs/sharing).
- **HTML body: 5 MB**, which covers essentially every artifact that isn't
  carrying embedded video.
- **Nothing re-executes.** A published artifact is a snapshot. If the data
  behind it should refresh on a schedule, that is a
  [routine](/docs/routines).

## Try it

Comma is free — unlimited reports, unlimited commenters, unlimited revision
history.

**[Set up Claude Desktop →](/mcp/claude-desktop)**

### Related

- [Share HTML an AI chat generated](/agents/share-chatgpt-html-output)
- [Share what Claude Code produced](/agents/share-claude-code-output) ·
  [Where should my agent post?](/agents/where-should-my-agent-post)
- [MCP setup for every client](/mcp) · [The API](/docs/api)
