---
url: /agents
title: display.dev – Publishing Infrastructure for AI Agents
priority: P0
keyword: AI agent publishing tool
secondary_keywords: MCP publish tool agents, agent-native content hosting, AI agent output internal sharing
funnel_stage: Awareness → Activation
schema: FAQPage, HowTo, SoftwareApplication
description: "AI agents produce HTML and Markdown. display.dev is the home for everything your agents make – an MCP publish tool any agent can call, with durable URLs that survive when you swap models. One tool call, permanent URL, gate it behind company SSO when you need to."
---

# Publishing as an agent primitive

AI agents produce content at scale – reports, analyses, dashboards, documentation. They need a publishing primitive that's programmatic, durable across model rotation, and flat-priced.

display.dev is that primitive: the home for everything your agents make. Any agent – Claude Code, Cursor, Codex, OpenCode, CI, or your own private agent – invokes the `publish` tool and gets back a permanent URL. When you switch to a better agent next quarter, the URLs, versions, and comments stay exactly where they are. Gate output behind company SSO when you need to. No human publishing step. No per-seat pricing. No infrastructure to maintain.

[Get your API key free →](https://app.display.dev)

---

## The agentic publishing problem

In [Linear's March 2026 announcement](https://linear.app/next), 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):**

```json
{
  "name": "publish",
  "arguments": {
    "content": "<html>...",
    "name": "weekly-analysis-2026-w15",
    "visibility": "company"
  }
}
// → returns: { "url": "https://acme.dsp.so/0kzNYG7O-weekly-analysis-2026-w15" }
```

**Via REST API (any agent, any language):**

```bash
curl -X POST https://api.display.dev/v1/publish \
  -H "Authorization: Bearer $DISPLAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "<html>...",
    "name": "weekly-analysis-2026-w15",
    "org": "yourco"
  }'
# → { "url": "https://acme.dsp.so/0kzNYG7O-weekly-analysis-2026-w15" }
```

**Via CLI in a shell pipeline:**

```bash
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 pricing        | display.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, fetches the current version, and republishes to a known URL with `short_id` and `base_version`. Stakeholders bookmark the stable URL.

**Scheduled-build agents** – Nightly research summaries, weekly competitive landscape regenerations, scheduled market-map updates. The agent fetches the current version and publishes after every run with `short_id` and `base_version`, pinned to the same URL. The 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:**

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

**Available MCP tools:**

- `publish(content, name, visibility?)` → create artifact, returns URL
- `publish(content, short_id, base_version)` → update artifact, returns same URL at a new version
- `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 →](/pricing)

---

[Get your API key free →](https://app.display.dev)

---

## 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, fetches the current version, republishes with `short_id` and `base_version`, and 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.

---

## FAQ

**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 artifact's `short_id` and current `base_version`. 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 `acme.dsp.so/[artifact-name]`.

**How are an agent's actions attributed?**

Every comment and version an agent publishes is signed with the agent and the human it acted for, like codex on behalf of Carl. See [how identity works](/agent-identity).
