← Use cases

How do you publish an HTML report straight from Claude Code or Codex?

Claude Code, Codex, and Cursor produce files inside a sandbox that disappears when the session ends. Getting a report out as something you can actually send someone usually means copying the content into chat, or writing a one-off script to upload it somewhere.

Add the Artifacta MCP server to the agent's configuration and it gets two tool calls: `store_artifact` to upload the file it just wrote, and `publish_artifact` to turn that upload into a page at `artifacta.io/a/{slug}`. The agent runs both in the same turn, with no shell access to a storage provider required.

`store_artifact` stamps the connected client's name onto the artifact automatically, so even a report published with no extra arguments carries a provenance receipt. Pass `model` explicitly to record a specific model name instead. For pipelines that publish with no human in the loop at all, or to see what a receipt actually contains, read about agent and model provenance.

Try it

// mcp config: one entry, any MCP-compatible agent client
{ "mcpServers": { "artifacta": {
"command": "npx", "args": ["-y", "@artifacta-mcp/mcp"],
"env": { "ARTIFACTA_API_KEY": "ak_live_..." } } } }
 
// two tool calls, same turn
store_artifact({ filename: "report.html", path: "./report.html" })
-> { artifact_id: "art_2xk9f7v3m1p0", content_hash: "sha256:2b1c9f..." }
publish_artifact({ artifact_id: "art_2xk9f7v3m1p0" })
-> { public_url: "https://artifacta.io/a/pg_9xk2f7v3" }

Live proof

No public example yet for this exact flow. Run the two tool calls above from your own agent and the page appears at artifacta.io/a/{slug}.

Get started for free

Related