For

Gated publishing as an agent primitive

AI agents produce content at scale — reports, analyses, dashboards, documentation. They need a publishing primitive that's programmatic, company-restricted, and flat-priced. display.dev is that primitive. Any agent — Claude Code, Cursor, Codex, or custom — invokes the `publish` tool and gets back a permanent URL that only your company can access. No human publishing step. No per-seat pricing. No infrastructure to maintain.

Free tierGoogle + Microsoft SSOInline commentsUnlimited viewers
terminal
$ display publish ./report.html
 
Uploading    47kb
Auth       Google Workspace ✓
 
✓ Published
 
→ https://view.display.dev/p/f474hfd/8f3kx9
 
Viewers    anyone at acme.com
Expires    never
Version    1
 
$ 

The agentic publishing problem

In Linear's March 2026 announcement, Karri Saarinen reported that agents now author nearly 25% of new issues, and that the total volume of agent-completed work grew 5× in three months. AI agents don't just write code anymore. They write reports, produce analyses, generate dashboards, and output HTML documentation at a scale no human team could match.

That content needs to go somewhere. Specifically: it needs to be accessible to the right people, at a stable URL, without requiring a publishing step from the engineer who ran the agent.

Every existing solution fails this:

  • Email/Slack: No stable URL, no interactivity, per-message sharing
  • GitHub Pages: Requires a git push step, excludes non-engineers without Enterprise Cloud
  • Confluence/Notion: Can't render the HTML agents produce
  • Vercel/Netlify: Requires a deployment project, $320/month for SSO

display.dev was designed from the start to be callable. The publish action is a function, not a workflow.


How agents publish with display.dev

Via MCP (recommended for Claude, Claude Code, and MCP-compatible agents):

{
  "tool": "publish",
  "params": {
    "content": "<html>...",
    "name": "weekly-analysis-2026-w15",
    "visibility": "company"
  }
}
// → returns: { "url": "https://yourco.display.dev/weekly-analysis-2026-w15" }

Via REST API (any agent, any language):

curl -X POST /v1/publish \
  -H "Authorization: Bearer $DISPLAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "<html>...",
    "name": "weekly-analysis-2026-w15",
    "org": "yourco"
  }'

Via CLI in a shell pipeline:

agent run analysis.py --output ./report.html
dsp publish ./report.html --name "analysis-$(date +%Y-%m-%d)"

The returned URL is permanent and authenticated. Anyone with a @yourco.com Google or Microsoft email can view it. Everyone else is blocked.


The right pricing model for agent-scale publishing

Per-seat pricing breaks at agent scale. If your agent publishes 50 reports a week to an audience of 200 colleagues, per-seat pricing charges you for each viewer regardless of how many reports they actually read. The 201st colleague triggers a pricing jump.

display.dev charges per organization, not per viewer. One flat price. Unlimited content. Unlimited viewers.

Per-seat pricingdisplay.dev
100 viewers, 10 artifacts/week~$700/mo (Cloudflare)$49/mo
200 viewers, 50 artifacts/week~$1,400/mo$49/mo
500 viewers, 200 artifacts/week~$3,500/mo$49/mo
Scale to zero (no views this week)Still charging per seat$49/mo

What agents publish

Recurring analysis agents — Weekly competitive reports, market monitoring dashboards, financial summaries. The agent runs on a schedule, publishes to a known URL, and stakeholders bookmark it. The URL updates in place.

CI/CD reporting agents — Playwright test reports, coverage reports, build quality dashboards. The agent publishes after every run. The PR comment or Slack notification links to an authenticated URL.

Research agents — Deep research outputs, synthesis reports, literature reviews. Produced programmatically and published to a team-accessible URL without a human copying the content.

Tool-building agents — Cursor, Codex, and Claude Code agents that scaffold internal tools. The agent builds, then publishes the output. Non-engineers get a usable URL without touching a terminal.


Add display.dev to your agent stack

For Claude and Claude-compatible agents:

{
  "mcpServers": {
    "display-dev": {
      "url": "https://mcp.display.dev",
      "apiKey": "your-api-key"
    }
  }
}

Available MCP tools:

  • publish(content, name, visibility?) → returns URL
  • find(query) → search published artifacts
  • get(short_id) → get artifact content and metadata
  • delete(short_id) → delete a published artifact
  • share, rename, export for additional lifecycle operations

For custom agents (REST API): REST endpoints with the same verbs. API documentation ships with the CLI.


Flat pricing. Agent-scale economics.

Pro ($49/month) — Google + Microsoft SSO, unlimited viewers, unlimited artifacts, 25GB storage.
Enterprise — SAML, audit logs, SLA, custom data residency.

No per-API-call charges. No per-publish charges. No per-viewer charges. Flat.

See all pricing →


Get your API key free →


Features

Authentication. Viewers click a link and sign in with their Google or Microsoft account, or a one-time password. No app to install. No account to create. No IT ticket.

Comments. Inline comments on every artifact. Your agent reads them via MCP, updates the document, resolves the thread. The artifact stays a living document, not a one-shot screenshot.

Publish in 15 seconds. dsp publish ./file.html from your terminal, or one sentence in Claude Desktop. No git repo, no deploy pipeline, no project to configure.

Permanent URLs. Every artifact gets a URL that keeps working. Share in Slack, link in Notion, paste in email. It still works six months later.

Unlimited viewers. No per-seat pricing at any tier. Share with your PM, exec, legal team, or designer for the same flat price.

Any agent. Claude Code, Codex, and Cursor all work, along with anything else that creates HTML or Markdown output. Not locked to one provider.


Common questions.

What agents does display.dev work with?+

Any agent that can make an HTTP request or call an MCP tool. Natively supported via MCP: Claude, Claude Code, Claude Desktop, Cursor, and any MCP-compatible client. Via REST API: any agent in any language.

Is there a rate limit on programmatic publishing?+

Pro plan: 500 publishes/day. Enterprise: configurable. Contact us for agent-scale workloads.

Can an agent update an existing artifact?+

Yes. Invoke the publish tool with the same name to overwrite. The URL stays the same. Viewers who bookmarked it see the updated content.

What happens if a viewer's company email isn't on the allow-list?+

They're shown an authentication error and cannot view the content. You can add additional allowed domains (for contractors, partners) or grant access to specific individual emails.

Can agents publish to a custom domain?+

Yes. Pro plan supports custom domains. Configure your domain in organization settings, and published artifacts appear at docs.yourco.com/[artifact-name] rather than yourco.display.dev/[artifact-name].

Publish your first artifact in 15 seconds.

Free tier. No credit card. One-time password auth on free, Google + Microsoft SSO on Teams ($49/month flat).