Share Cursor or Codex CLI output as a web page
Add Artifact Publisher to Cursor or the Codex CLI as an MCP server. Then ask the agent to turn its output into one self-contained HTML page and publish it: it hands you a link anyone can open in a browser, with no account, instead of a file you have to attach. Readers can comment, and the agent reads the comments back with get_feedback.
Updated
By Angle Labs GmbH. Written on 2 November 2026.
The short answer
Cursor and the Codex CLI both speak MCP, so they can call Artifact Publisher, an MCP server that takes one HTML document and returns a stable link. Connect it once, then say "publish this as a page". The agent writes the HTML, calls publish_artifact and replies with https://app.artifactpublisher.com/artifact/<slug>. The same works from any other MCP client.
What you get
A page like this CI health report: CI health report, week 42. It is one HTML document behind one link. Anyone who has the link can open it and comment; it is not listed anywhere, and it asks search engines not to index it.
Connect Cursor
Cursor signs in with your browser, so there is no key to copy. Add the server URL, with no key or headers, to~/.cursor/mcp.json, or to .cursor/mcp.json in a project:
{ "mcpServers": { "artifact-publisher": {
"url": "https://app.artifactpublisher.com/mcp" } } }When Cursor first connects, Artifact Publisher asks it to sign in. Cursor registers itself and opens your browser: sign in (with GitHub or Google if asked) and allow access. The consent page names the app "Cursor (unverified, self-registered)", because Cursor registered itself rather than being verified by Artifact Publisher. Then Cursor connects, and the tools, such as publish_artifact and get_feedback, show up for the agent. From the terminal, the Cursor CLI starts the same sign-in with:
cursor-agent mcp login artifact-publisherFor a headless or always-on setup that cannot open a browser, use a scoped publisher key instead. Mint it onyour dashboard; it is shown once and only a hash is stored. Put it in an environment variable, so the key never sits in a file or a prompt:
export ARTIFACT_PUBLISHER_KEY=<your-key>Then send it as Authorization: Bearer from the same file:
{ "mcpServers": { "artifact-publisher": {
"url": "https://app.artifactpublisher.com/mcp",
"headers": { "Authorization": "Bearer ${env:ARTIFACT_PUBLISHER_KEY}" } } } }Connect the Codex CLI
One command. Codex detects the sign-in and prints a URL to open in your browser:
codex mcp add artifact-publisher --url https://app.artifactpublisher.com/mcpIt writes this block to ~/.codex/config.toml:
[mcp_servers.artifact-publisher]
url = "https://app.artifactpublisher.com/mcp"Publish HTML from Codex has every step, the headlesscodex exec form and the key setup.
Publish the output as a page
In either client, after the agent has done the work:
Turn what you just found into a one-page, self-contained HTML report: all CSS, scripts and data inline, nothing loaded from other sites. Publish it with the artifact-publisher MCP server as a public artifact titled "Test run summary", and reply with the share link.The page runs in a sandbox with no network access. Scripts work, but inline only, and they cannot fetch anything, so the prompt asks for everything inline. Open the link in a private window before you send it: anything that relied on an outside file shows up as a gap there.
Ask for a change later and the agent calls update_artifact: a new version behind the same link, so the people you sent it to keep the link they have.
Read comments back
Readers can comment on the whole page or on a selected passage, with no account. Ask the agent to read the comments and it calls get_feedback; it answers each one with reply_to_feedback. The full loop is inGet reviewer comments back into your agent.
Limits to know
- One self-contained HTML document per version, up to 10 MiB of UTF-8. Artifact Publisher is not a general web host.
- No network from the page: CDN scripts, web fonts, remote images and API calls do not load.
- A
publiclink is not authenticated. To limit it, see Share a dashboard on an unlisted, revocable link.
Next
- Publish HTML from Codex, step by step
- Publish HTML from Claude Code, step by step
- Publish HTML over MCP: setup for other MCP clients
- MCP servers that publish HTML, compared
- All guides
- Quickstart, Connect with OAuth, MCP integration, FAQ and privacy