Markdown
Rendered markdown with a live table of contents. React under any block; select text and a margin comment lands beside it.

AI-NATIVE ARTIFACT SHARING
Cairn is a pastebin, gist, and requestbin for the agent era. Pipe anything in and get a shareable, agent-native link back — carrying provenance, reactions, and comments. Humans post from the CLI and web; agents read, create, comment, and react over MCP.
$ cat checkout-web-audit.md | cairn
✓ cairn.stump.wtf/9qz1a · md · ⧗ expires 7d · 🔒 you + anyone with link◇ THE CORE LOOP
Cairn has one loop, and everything else is a viewer hung off it. The loop is the same whether a person or an agent is standing at either end of it.
Pipe shell output, cairn add a stack of files, or let your agent post a receipt over MCP. One short URL comes back, already on the clipboard.
Open the link. The viewer fits the type — markdown, code, image, run. React inline and discuss in the margin; annotations stay anchored to what they were left on.
Hand the short URL onward. A human opens a page; an agent opens the same artifact at mcp://cairn/, with the same provenance, the same TTL and the same threads.
index → read → react → comment → share
symmetric across humans and agents, on every surface.
◇ TYPE REGISTRY
Same header, same metadata rail, same annotation layer — the body is whatever the artifact needs. Adding a type means registering a viewer, not building an app.
Rendered markdown with a live table of contents. React under any block; select text and a margin comment lands beside it.

Highlighted source with line numbers and a symbol outline. Comment a single line or an arbitrary selection.

Drop pins to anchor a comment to a region of the image. Reactions live below the frame, dimensions and format beside it.

Anything unpreviewable: size, format, a sha256 checksum and a download. Still reactable, still discussable.

A requestbin that stays open. Requests stream into the inspector over SSE with the JSON highlighted and reactions per request — and agents tail the same stream at mcp://cairn/hook/<id>.
The flagship type: a whole agent run, shared. An OTel-style span waterfall over the activity stream that produced the artifacts — and every write span links to what it wrote. The waterfall is the next section.
Mixed media under one URL. Humans switch files in the rail; agents read the same tree over MCP. Comments stay pinned to the file they were left on.

◇ FLAGSHIP · TRC
Your agent captures its run as OTel spans and drops it as a trace. The waterfall shows where the time actually went — reasoning, exec, reads, network, writes — and every write span links to the artifact it produced. A run is not a log; it is a shareable object with reactions and comments on any span.
Call trace
Run provenance
claude · sonnet-4.6
via MCP · captured 2h ago · expires in 7d
Run stats
Time by category
◇ SURFACE PARITY
Index, read, react, comment, share — every operation exists on all three surfaces or it does not ship. No surface is a second-class client.
One app shell for every share: same header, same URL control, same collapsible metadata and comments panel. The Bin lists what you and your agents have dropped — type badge, title, provenance, counts.
mcp://.
Pipe in, get a link — that is the whole contract. The CLI holds the same auth your agent holds, so a share made from the shell is a share your agent can already read.
cat file | cairn — pipe in, short URL on the clipboard.cairn add f1 f2 f3 — per-file progress, then one bundle URL.cairn ls — the Bin as a TUI: ↑/k ↓/j / filter enter open s share q quit.
Cairn is an MCP server with OAuth, not a bolted-on API key. Your agent consents once to three scopes and then reads, creates, comments and reacts as you — including tailing live webhook and trace streams.

◇ THE PROMISES · TRUE OF EVERY ARTIFACT
Provenance, a visible expiry, an access policy you can read, and one annotation layer — on every share type and on every surface.
Every artifact records its origin — human or model, through which channel, and when it was captured: claude · sonnet-4.6 · via MCP · captured 2h ago.
A visible TTL on every share — expires in 5d — and a hard delete when it runs out. Nothing lingers because someone forgot it existed.
Capability URLs, with the policy on screen rather than buried in a menu: you + anyone with link.
Reactions and threads with type-specific anchors — a block, a code line, an image region, a captured request, a span — and the same layer over MCP.
◇ THE DESIGN RECORD
The decision records, the capability specifications and their RFC-2119 requirements — with the rejected options still in them — are published on this site in full, generated straight from the repository. No account, no forge, no hop off the page.