# Stacktree
> When your agent emits HTML — specs, PR writeups, status reports, custom editors — Stacktree is the private link you share. Unguessable by default, replace-in-place, MCP-native.
Stacktree is the MCP-native publish primitive for HTML emitted by AI agents.
Agents call `publish_html` and get back an unguessable URL; they call
`update_site` to replace content in place so the same URL stays valid
across iterations. Stacktree is private by default — every link is
unguessable, content can be gated by password or company email domain,
and uploads can be encrypted end-to-end so the server only sees
ciphertext.
This file is current as of 2026-06-14. For
the full prose of every page in one document see llms-full.txt.
## Install
One command covers every CLI agent — signs the user in via their browser
and writes the right config for the agents they pick:
```
npx stacktree-install
```
Supported targets during the install prompts:
Claude Code, Cursor, Codex CLI, OpenCode, Amp.
For Claude.ai's hosted custom connectors, paste this URL into the dialog:
```
https://api.stacktr.ee/mcp
```
Manual MCP config (any client that supports stdio) is also fine:
```
{
"mcpServers": {
"stacktree": {
"command": "npx",
"args": ["-y", "stacktree-mcp"],
"env": { "STACKTREE_API_KEY": "stk_live_..." }
}
}
}
```
## MCP tool surface
The server exposes exactly seven verbs:
1. `publish_html(file)` — upload HTML, return an unguessable slug.
2. `update_site(slug, file)` — replace content under the same URL.
3. `set_expiry(slug, when)` — auto-delete after the deadline.
4. `set_password(slug, password)` — gate the link behind a shared secret.
5. `set_email_gate(slug, domain)` — restrict viewers to an email domain.
6. `list_sites()` — what has the agent published lately.
7. `delete_site(slug)` — burn the artifact now.
## Agentic commerce (pay-as-you-go)
A fully autonomous agent can pay Stacktree directly over x402 (the open HTTP
402 standard), settling USDC on Base mainnet, with no account, card, or person.
`POST /provision` returns a 402; the agent pays $1 and gets a persistent
`stk_live_` key. It can then buy unlocks à-la-carte at `POST /unlock?feature=`
(make_permanent $1 one-time; custom_domain $5/30d; higher_limits $5/30d). Live
catalog: `GET /unlock`.
No wallet? `POST /pay/sessions` returns a short pay link + a terminal QR; a
nearby human pays by card in two taps and the agent's poll continues the task.
Pay above the price (up to $20) and the surplus becomes a prepaid balance:
future paid actions draw from it silently, no 402, no new scan. Top up any
time with `{ "feature": "topup" }`.
Humans subscribe to the flat tiers; agents pay as they go. x402 (v1 + v2) and
the card pay-link are live; MPP and ACP are implemented and rolling out. See
https://stacktr.ee/x402 and https://stacktr.ee/pricing.md.
## Quick reference (question → page)
- **How do I publish HTML from Claude Code?** → https://stacktr.ee/claude-code
- **How do I publish HTML from OpenAI Codex?** → https://stacktr.ee/codex
- **How do I add Stacktree to Cursor?** → https://stacktr.ee/cursor
- **How do I add Stacktree to Claude.ai as a connector?** → https://stacktr.ee/claude-ai-connector
- **What tool calls does the MCP server expose?** → https://stacktr.ee/mcp-publish-html
- **What is agent-loop hosting?** → https://stacktr.ee/agent-loop-hosting
- **How is Stacktree different from Tiiny Host?** → https://stacktr.ee/tiiny-host-alternative
- **How is Stacktree different from GitHub Pages?** → https://stacktr.ee/github-pages-private-alternative
- **How is Stacktree different from Vercel?** → https://stacktr.ee/vercel-alternative-for-agents
- **How is Stacktree different from ngrok?** → https://stacktr.ee/ngrok-alternative-for-html
- **How is Stacktree different from display.dev?** → https://stacktr.ee/display-dev-alternative
- **How is Stacktree different from ShareDuo?** → https://stacktr.ee/shareduo-alternative
- **How is Stacktree different from Repaint?** → https://stacktr.ee/repaint-alternative
- **How is Stacktree different from Claude Team or Enterprise artifact sharing?** → https://stacktr.ee/claude-teams-artifact-sharing-alternative
- **How do I share Claude artifacts privately?** → https://stacktr.ee/share-claude-artifacts
- **How do I make a Claude artifact private?** → https://stacktr.ee/make-claude-artifact-private
- **What are Claude Live Artifacts?** → https://stacktr.ee/blog/what-are-claude-live-artifacts
- **How do Stacktree and ShareDuo compare?** → https://stacktr.ee/compare/stacktree-vs-shareduo
- **How do I share a Jupyter notebook privately?** → https://stacktr.ee/share-jupyter-notebook-html
- **How do I host Storybook privately?** → https://stacktr.ee/host-storybook-privately
- **How do I share architecture diagrams?** → https://stacktr.ee/share-architecture-diagrams
- **How do I host AI-generated reports?** → https://stacktr.ee/host-ai-reports
- **Where should single-file HTML tools live?** → https://stacktr.ee/internal-tool-hosting
- **What is private HTML hosting?** → https://stacktr.ee/private-html-hosting
- **How can an agent pay for its own hosting (x402)?** → https://stacktr.ee/x402
## Hubs
- [Compare Stacktree and hosting tools, head to head](https://stacktr.ee/compare): A hub of head-to-head comparisons: Stacktree vs ShareDuo, GitHub Pages vs Vercel, Tiiny Host vs Netlify, Vercel Drop vs Netlify Drop, and Storybook vs Jupyter. Each names where the other tool wins.
- [Stacktree for AI agents · every integration](https://stacktr.ee/agents): Every AI agent and IDE Stacktree integrates with — Claude Code, Codex, Cursor, Claude.ai, MCP-compatible clients.
- [Alternatives to popular hosting tools, compared](https://stacktr.ee/alternatives): Side-by-side comparisons for teams evaluating Stacktree against Tiiny Host, GitHub Pages, Vercel, display.dev, ngrok, and more.
- [Use cases: Jupyter, Storybook, diagrams, AI reports, Claude artifacts](https://stacktr.ee/use-cases): Six recurring workflows: Jupyter notebooks, Storybook builds, Mermaid and D2 diagrams, AI reports, Claude artifacts, single-file agent tools.
## Agent integrations
- [Deploy HTML from Claude Code: the options compared (2026)](https://stacktr.ee/deploy-html-from-claude-code): Claude Code can ship a static HTML file four ways: Netlify CLI, Vercel CLI, Cloudflare Wrangler, or Stacktree over MCP. How each works, when to deploy a project vs publish one file.
- [Publish HTML from Claude Code](https://stacktr.ee/claude-code): Add Stacktree as an MCP server and Claude Code will publish the HTML it writes to a private, unguessable URL — or replace the previous one in place.
- [Publish HTML from OpenAI Codex](https://stacktr.ee/codex): Wire Stacktree into Codex CLI as an MCP server. Your agent emits HTML, calls publish_html, and hands you back a private link.
- [Publish HTML from Cursor](https://stacktr.ee/cursor): Add the Stacktree MCP server to Cursor and every HTML file your AI agent writes gets a private, unguessable URL you can share.
- [Add Stacktree to Claude.ai as a custom connector](https://stacktr.ee/claude-ai-connector): Add Stacktree to Claude.ai as a custom MCP connector over HTTP with OAuth. Anywhere Claude writes HTML in a chat, it can hand you back a private link.
- [MCP server for publishing HTML](https://stacktr.ee/mcp-publish-html): A Model Context Protocol server that gives any MCP client seven tool calls to publish, gate, replace, and delete HTML artifacts.
- [Share HTML files in Slack as private links (Slack app)](https://stacktr.ee/slack): HTML files pasted into Slack render as unreadable code blocks. One click turns the file on any message into a private link. Installing needs no account.
- [Agent skills for Stacktree: publish, migrate, pay](https://stacktr.ee/skills): Task-oriented skills for agents that ship HTML: publish to a private URL, migrate a site off a website builder, pay for hosting over x402. One command each.
## Alternatives and migration
- [Need a Tiiny Host alternative? Free tier, private by default](https://stacktr.ee/tiiny-host-alternative): An honest comparison: where Tiiny Host wins (drag-and-drop simplicity), where Stacktree wins (private links, free password gates, stable URLs, agents), and how to switch.
- [Can you make GitHub Pages private? Yes, on Enterprise only](https://stacktr.ee/github-pages-private-alternative): Private GitHub Pages exist only on Enterprise Cloud, and viewers need a GitHub seat. How that path works, what it costs, and the private-by-default alternative.
- [ShipPage alternative: private links, permanent free tier](https://stacktr.ee/shippage-ai-alternative): ShipPage gives agent HTML a public URL that expires in 14 days on free. Stacktree is the private-by-default alternative: permanent free sites, gates, custom domains.
- [Display.dev alternative — open primitive, MCP-native](https://stacktr.ee/display-dev-alternative): Display.dev gates HTML behind company auth. Stacktree is the same private link, plus the MCP publish primitive and replace-in-place loop.
- [Static.app alternative: private by default, agent-native](https://stacktr.ee/static-app-alternative): Static.app is a polished static host with MCP and an API added on. Stacktree is the inverse: private-by-default hosting built around the agent publish primitive, with replace-in-place URLs.
- [ShareDuo alternative: private by default, agent-native](https://stacktr.ee/shareduo-alternative): ShareDuo hosts a Claude artifact on a noindex public-access link with password, expiry, versioning, and an MCP push. Stacktree is the private-by-default alternative: unguessable URLs, replace-in-place via update_site, and a permanent free tier.
- [Claude Teams plan artifact sharing alternative](https://stacktr.ee/claude-teams-artifact-sharing-alternative): On Team and Enterprise plans, Claude artifacts share only inside your org and viewers must log into the same account. Stacktree is the plan-independent way to share artifacts privately with your team via an email-domain gate.
- [Repaint alternative: turn a Claude artifact into a private hosted page](https://stacktr.ee/repaint-alternative): Repaint turns a Claude artifact into a public, editable marketing website. Stacktree does the inverse: it hosts the artifact as-is on a private, unguessable URL the agent publishes and replaces in one tool call.
- [Can you share a Codex Site outside your OpenAI workspace?](https://stacktr.ee/openai-codex-sites-alternative): Per OpenAI's docs, viewing a Codex Site requires a seat in your OpenAI workspace, and custom domains and export are not documented. What Sites can and cannot share, and the open alternative when a link has to leave the building.
- [here.now alternative: MCP-native, private by default](https://stacktr.ee/here-now-alternative): here.now is agent-first static hosting plus Drives storage, authed by API key with no MCP server. Stacktree is the MCP-native, OAuth, private-by-default alternative with email-domain gates and end-to-end encryption.
- [Vercel alternative for one-off agent artifacts](https://stacktr.ee/vercel-alternative-for-agents): Vercel is great for products; it is heavy for the one-off HTML an agent emits. Stacktree gives you a private link in 200 ms with no project, no Git push, no DNS.
- [ngrok alternative for sharing HTML](https://stacktr.ee/ngrok-alternative-for-html): ngrok tunnels a port. Stacktree publishes a file. If all you want is to send a teammate a private HTML link, Stacktree skips the local server entirely.
## Use cases
- [Where do you host what you vibe-coded? Apps vs pages](https://stacktr.ee/vibe-coding-hosting): Full apps belong on your builder or Vercel. Static output (landing pages, prototypes, dashboards, AI artifacts) just needs a link, private if it is not public.
- [How to share Claude artifacts privately (no login needed)](https://stacktr.ee/share-claude-artifacts): Export a Claude artifact to HTML, publish it to Stacktree, and share a private link anyone opens without a Claude account. Add a password or email-domain gate.
- [Private HTML hosting: how it works and the best options](https://stacktr.ee/private-html-hosting): What makes HTML hosting actually private: unguessable URLs, password and email-domain gates, end-to-end encryption, no public index. The mechanisms and options compared.
- [Share Jupyter notebooks as private HTML](https://stacktr.ee/share-jupyter-notebook-html): Export your Jupyter notebook to HTML, publish to Stacktree, lock the link to your team. Plots and interactive widgets render exactly like in the notebook.
- [Host Storybook privately (without Chromatic or GitHub Pages)](https://stacktr.ee/host-storybook-privately): Run storybook build, upload the static folder, gate the link to your @yourco.com email domain. No CI pipeline, no Chromatic minimum tier, no public-by-default Pages URL.
- [Share architecture diagrams as HTML](https://stacktr.ee/share-architecture-diagrams): Mermaid, D2, Excalidraw, and hand-coded SVG diagrams all render as HTML. Stacktree hosts the file behind a private link your reviewers open without logging in.
- [Host AI-generated reports on a private URL](https://stacktr.ee/host-ai-reports): Your agent writes a perf report, a research summary, a status doc. Stacktree puts it behind one private URL the agent replaces in place every time it re-runs.
- [Internal tool hosting for one-off HTML utilities](https://stacktr.ee/internal-tool-hosting): Agents are writing single-file tools — JSON shapers, log filterers, regex testers — every day. Stacktree is where they live without becoming a full repo.
- [Can you export a site from a website builder? Mostly no](https://stacktr.ee/website-builder-migration): Framer, Squarespace, and Wix offer no HTML export; Webflow's is paid and drops CMS. Mirroring the published site works for all of them. One skill automates it.
- [Can you export a Webflow site for free? Yes, mirror it](https://stacktr.ee/export-webflow-site): Webflow code export needs a paid Workspace plan and drops CMS content. Mirroring your published site captures everything. A free Claude Code skill automates it.
## Concepts
- [About Stacktree](https://stacktr.ee/about): Stacktree is the publish primitive for HTML emitted by AI agents — built by Steve Smith on Cloudflare Workers.
- [FAQ — Stacktree](https://stacktr.ee/faq): Account flow, replace-in-place semantics, encryption, and how Stacktree compares to built-in Claude artifact publishing.
- [Pricing: $0 Free, $8 Pro, $19 Agent · Stacktree](https://stacktr.ee/pricing): Flat-rate workspace pricing. Free $0, Pro $8/mo, Agent $19/mo. Never per-seat. Machine-readable pricing.md available.
- [Security at Stacktree: private by default, and how it works](https://stacktr.ee/security): How Stacktree protects agent-generated HTML: unguessable URLs, password and email-domain gates, end-to-end encryption, strict CSP, and responsible disclosure. Honest about what we do and do not claim.
- [Stacktree Self-Hosted — buy the code, deploy on your own Cloudflare](https://stacktr.ee/self-host): Pay once, run forever. The full Stacktree source — landing, dashboard, MCP, installer — deployed onto your own Cloudflare in 30 minutes. Founder pricing $999.
- [Stacktree demo: agent publishes HTML to a private URL in 20 seconds](https://stacktr.ee/demo): A 20-second walkthrough: install, publish, custom domain, email gate, dashboard. The full Stacktree loop in one terminal session.
- [Best private HTML hosting for AI agents (2026): 7 tools compared](https://stacktr.ee/best-private-html-hosting): A fair roundup of private HTML hosting for the artifacts AI agents produce: Stacktree, Tiiny Host, here.now, GitHub Pages, static.app, display.dev, and Vercel, with when to use each.
- [GitHub Pages vs Vercel: which to use in 2026](https://stacktr.ee/compare/github-pages-vs-vercel): GitHub Pages is free static hosting from a repo; Vercel is a full app platform with build pipelines and serverless functions. How they compare, who each is for, and when neither fits.
- [Tiiny Host vs Netlify: which to use in 2026](https://stacktr.ee/compare/tiiny-host-vs-netlify): Tiiny Host is drag-and-drop static hosting; Netlify is a Git-driven platform with build pipelines, forms, and functions. How they compare, who each is for, and the agent-shaped third option.
- [Vercel Drop vs Netlify Drop: which to use in 2026](https://stacktr.ee/compare/vercel-drop-vs-netlify-drop): Vercel Drop builds frameworks but makes a new project per drop; Netlify Drop serves files as-is and updates in place. The real differences, and the third option.
- [Storybook vs Jupyter: different tools for different jobs](https://stacktr.ee/compare/storybook-vs-jupyter): Short answer: they are not substitutes. Storybook is a workshop for UI components; Jupyter is a notebook for code and data. Which you need, and how to share both.
- [Stacktree vs ShareDuo: which to use in 2026](https://stacktr.ee/compare/stacktree-vs-shareduo): ShareDuo is a fast way to paste a Claude artifact and get a shareable link with optional password, expiry, and analytics. Stacktree is private-by-default hosting an agent publishes over MCP. How they compare, who each is for.
- [Are published Claude artifacts public? How to make one private](https://stacktr.ee/make-claude-artifact-private): Publishing a Claude artifact creates a public link that may be indexed by search engines. How to keep an artifact private: leave it unpublished, or host the HTML on a private-by-default URL where the link is unguessable and crawlers are opted out.
- [Agent-loop hosting · replace-in-place URLs](https://stacktr.ee/agent-loop-hosting): When an agent iterates 30× a session, you do not want 30 URLs. Stacktree gives every artifact one URL the agent updates in place.
- [Glossary — agent publishing, MCP, and adjacent concepts](https://stacktr.ee/glossary): Definitions for MCP, the publish primitive, agent-loop hosting, replace-in-place URLs, CSP defaults, end-to-end encryption, and the rest of the vocabulary.
- [Changelog — Stacktree updates](https://stacktr.ee/changelog): Dated release notes for Stacktree — what shipped, what changed, what to upgrade.
- [x402 hosting: let an AI agent pay for its own hosting](https://stacktr.ee/x402): Stacktree accepts x402 payments on Base mainnet: an agent hits a 402, signs a USDC authorization, and provisions its own persistent hosting identity, then unlocks features à-la-carte. No account, no card, no human.
## Optional
- [Dashboard](https://app.stacktr.ee)
- [Docs](https://stacktr.ee/docs)
- [npm: stacktree-mcp](https://www.npmjs.com/package/stacktree-mcp)
- [About / contact](https://stacktr.ee/about)