Host AI-generated reports on a private URL.
When your agent writes a perf report, a research summary, or a status doc, Stacktree is the URL it puts the file behind — private by default, replaceable in place, and openable by your team without anyone needing a Stacktree account.
Paste a report's HTML and get a private link. No account, nothing to install.
Where should AI-generated reports live?
On a private static-HTML host with replace-in-place semantics. Stacktree exists for exactly this case: the agent calls publish_html, gets back an unguessable URL you can gate by password or email domain, and calls update_site when the report regenerates. Inbox attachments go stale, GitHub commits are heavy, and Notion mangles HTML formatting — Stacktree avoids all three failure modes.
The kinds of report that fit
- Performance reports. Daily/weekly perf rollups generated by an agent that reads metrics + writes HTML.
- Research summaries. Deep-research output condensed to a one-page HTML brief.
- Status docs. Project standups, sprint summaries, on-call handoffs.
- Code-review writeups. Per-PR analysis the agent produces alongside or instead of comments.
- Audit reports. Compliance checks, security scans, infra diffs.
The agent loop
# Day 1
agent: publish_html(file: "perf-2026-05-14.html")
→ https://stacktr.ee/p/RwJjpE3kA…
set_email_gate(slug, domain: "yourco.com")
set_expiry(slug, "30d")
# Days 2..30 — same URL, fresh content each morning
agent: update_site(slug, file: "perf-2026-05-15.html")
agent: update_site(slug, file: "perf-2026-05-16.html")
... The viewer's bookmark always shows yesterday's run. No version inboxes, no "see latest" links to chase.
Privacy posture
- Unguessable URL. The link is the credential. No one finds reports by enumerating URLs.
- Email-domain gate. Only verified @yourco.com viewers open the report.
- End-to-end encryption (optional). AES-GCM in the browser; Stacktree only stores ciphertext.
- X-Robots-Tag noai. Reports are excluded from AI training corpora by default.
What this replaces
- Email attachments (immediately stale; impossible to track who saw what).
- "Reports" channels in Slack (formatting dies, scrolling kills context).
- Pushing reports to GitHub (one commit per run; reviewers don't know which is current).
- Hosting on an internal Vercel/Render project (heavy granularity for a one-shot artifact).
Frequent questions
Where should AI-generated reports live? +
update_site when the report is regenerated. Inbox attachments go stale; GitHub commits are heavy; Notion pages mangle the formatting.Why HTML and not PDF? +
How does the agent know to publish? +
publish_html via the Stacktree MCP server. You install it once with npx stacktree-install (covers Claude Code, Cursor, Codex, OpenCode, Amp) and the agent treats it as any other tool.What if the report contains sensitive numbers? +
Can the report be replaced when the agent re-runs? +
update_site swaps the content under the same URL. Stakeholders bookmark once; the latest version is always behind that bookmark.What about embedding charts? +
Related guides
Sources and further reading
Give your agent a place to put its reports.
One MCP install. The next report has a private URL the moment it lands.
Sign up free →