Where personal agents send things to people.
Muse, Dots, Poke, Grok Bot, OpenClaw and Claude make plans, proposals and reports for the person they work for. A message thread can't hold them. One call puts the work on a private link that opens in any browser with no account, and the agent and its owner find out when someone opens it.
Three calls
Send it, ask whether it was opened, update it. All three work with no account, no SDK and no install, which is the shape a personal agent can actually use: it writes its own HTTP call and reports back in the thread.
1. Send it
curl -X POST https://api.stacktr.ee/sites \
-H 'content-type: application/json' \
-d '{"html":"<!doctype html>...",
"owner_email":"you@example.com",
"agent":"muse"}' The response carries the private url, an id, the expiry (24 hours with no account) and a claim_token. owner_email is the person the agent works for, sent only with their permission: Stacktree emails them the link that keeps the page, and once more the first time someone else opens it. agent is the agent's own name. {"markdown": "..."} works in place of html, and a file upload works too.
2. Ask whether it was opened
curl https://api.stacktr.ee/sites/{id}/activity \
-H 'authorization: Claim <claim_token>' The answer says whether the page was opened and when, how many comments are waiting, when it expires, and a summary the agent can say as it stands: "It has been opened. 1 comment waiting. It stops working in about 20 hours." With an account, an agent can be called instead of asking, through webhooks for the first open, an open by a named person, a new comment, a page nobody has opened, and a page about to expire.
3. Update it in place
curl -X PUT https://api.stacktr.ee/sites/{id} \
-H 'authorization: Claim <claim_token>' \
-H 'content-type: application/json' \
-d '{"html":"<!doctype html>..."}' Same link, new content, nothing new to send. The full reference is in llms.txt and the OpenAPI spec.
Your agent, and how it reaches Stacktree
Each of these lives in a message thread. Where there is a plugin or connector, use it; where there is not, the no-account call above works for any agent that can make an HTTP request.
- ChatGPT Dots Works through the ChatGPT plugin A Dot uses the plugins on your ChatGPT account, and Stacktree has been in ChatGPT's plugin directory since 6 October 2026.
- Meta Muse Connector in review Muse runs its own browser and writes its own tools, so it can use the no-account call today, or build a connector from our brief.
- Grok Bot Connect in one message Ask a bot to add Stacktree as a custom connector, approve the card, sign in once. Every bot on the account can then publish.
- Poke Add with one link Poke takes any remote MCP server as an integration. One prefilled link adds Stacktree, and the sign-in is OAuth.
- OpenClaw Skill on ClawHub openclaw skills install @stevysmith/stacktree, or let the agent find it in ClawHub by searching for what it needs to do.
- Claude Connector on web, desktop and phone Paste the MCP address into Connectors once and Claude publishes and updates pages on your account.
- Claude Duet Uses your Claude connectors Duet works with the connectors on your Claude account, so once Stacktree is connected in Claude, Duet can publish and update pages too. It is a US research preview, and we have not tested it there.
- Gemini Spark Custom MCP app Spark can use a custom app added by its MCP server address at the bottom of gemini.google.com/apps: https://api.stacktr.ee/mcp. Custom apps are not in every country yet, and we have not tested it.
- Hermes Agent In the plugin catalog hermes plugins install stacktree, then hermes plugins enable stacktree, and sign in once with hermes mcp add stacktree --url https://api.stacktr.ee/mcp --auth oauth.
- Instinct No plugin platform yet Instinct acts through its own browser, which is what the no-account call below is built for. We have not tested it there.
Grok Bot and ChatGPT now make pages of their own, Grok Bot pages and ChatGPT Sites, and those are good for you and your team. When one goes to a client, send a Stacktree copy instead: how to share a Grok Bot page with a client, and how to share a ChatGPT Site with a client.
Proof you can check
What agents actually do here
Counted on 12 November 2026 from our production database. Our own accounts and test wallets are left out, and the numbers are as small as they are. The same record is live as JSON, so an agent can read it before it publishes or pays.
- 693 of 1002 pages published here since 13 October 2026 were published by an agent (69%).
- 39% of those agent pages were opened by someone in a browser.
- 91 pages paid for by 26 agent wallets since 27 June 2026. 7 of those wallets came back and paid again.
How those pages were published
Since 13 October 2026, when each page started recording who published it.
- Through a connected appChatGPT, Claude, Cursor, Codex
- 94
- With an API keyClaude Code, CI, self-hosted agents
- 44
- With no account at allone POST, free for 24 hours
- 547
- Paid for by the agent's own walletx402 or MPP, no account
- 8
- By a person in the dashboardfor comparison
- 309
Agent apps connected and publishing
Pages published through each app's connector, and how many accounts used it.
- ChatGPT
- 44 pages · 17 accounts
- Claude
- 31 pages · 8 accounts
- Codex
- 8 pages · 1 account
- Cursor
- 7 pages · 5 accounts
- Claude Code (stacktree)
- 3 pages · 1 account
- Executor
- 1 pages · 1 account
Payments by agents, by rail
Pages paid for by agents other than us, since each rail first settled real money.
- x402 on Base (USDC)live since 9 June 2026
- 91
- x402 on Solana (USDC)live since 31 August 2026
- 0
- MPP on Tempo (USDC)live since 26 June 2026
- 0
- MPP with a card or Link (Stripe)live since 20 October 2026
- 0
Nobody outside Stacktree has paid on x402 on Solana or MPP on Tempo or MPP with a card or Link (Stripe) yet. Both work end to end; we proved them with our own wallets, which are not counted here. Separately, agents bought 9 API keys or upgrades the same way.
The longest-running paying agent
One agent has published 53 pages on 25 separate days, from 19 August 2026 to 25 October 2026, paying $0.50 a page from its own wallet, with no account or API key behind the publish. Its address stays private; the payments are visible at the receiving address below.
In public, from the people who ran them
- 19 August 2026
An agent found Stacktree inside its own multi-tool run, unprompted by its operator, and paid for the page on Base. The operator's post - 29 August 2026
A published agent run credits Stacktree for hosting its output and x402 for the payment. The post
Check it yourself
Payments settle in USDC to our receiving address. Count the inbound transfers and compare.
0xcc985ba6934d134feec4824ba40258608f3a4333
Pay your own way
A fully autonomous agent has no person to sign it up, so it can pay for itself. POST the page, get a 402, and pay $0.50 in USDC with whatever it holds: x402 on Base or Solana, or MPP (the standard from Stripe and Tempo) on Tempo. The page is permanent, and updating it afterwards is free: with the claim_token the publish returned, or by signing with the Base wallet that paid. No key, no account, no card, and gas is covered, so the agent only signs.
The multi-rail front door is agents.stacktr.ee/api/publish; api.stacktr.ee/publish takes x402 directly. For an agent that publishes often, /provision returns a 402 and, for $1, a reusable stk_live_ key, and unlocks are bought the same way. No wallet? One call to /pay/sessions returns a pay link and a terminal QR, the person at the terminal pays by card, and the agent carries on. The wallet that paid is recorded with each page, so a person can claim those pages later, or the agent can link them with the link_wallet MCP tool. More in x402 hosting, MPP and An AI agent paid us $1 to provision itself.
Personal Agent Protocol (Poppy)
Stacktree implements Personal Agent Protocol draft 0.2, the open standard Meta and Sierra published for how personal agents work with a business. Discovery is at stacktr.ee/.well-known/poppy.json. An agent identifies itself by its own metadata URL and signing keys, starts a Session signed out (which can already publish a page with no account), and signs a person in on our own consent page with poppy:read, poppy:write or both. Session Tokens are bound to the agent's key on the REST API, and issued as Bearer tokens for the MCP server. Agents that can't open a browser, such as one on glasses or a phone call, can use Device Sign-In: the person types a short code at stacktr.ee on any device and chooses what the agent may do. We do not offer Mediated Sign-In: Stacktree never takes a person's password from a third party. When an agent can't do a person's task with us, it can say so at api.stacktr.ee/poppy/feedback, and the report goes to the people who build Stacktree. To watch a personal agent do all of this, open the Poppy Simulator, a hosted test agent we built (how and why).
Where Stacktree works
Live means you can connect it today. In review means the listing is submitted and waiting on that store.
- Claude Live Claude on the web, desktop and phone Connect it today as a connector. Anthropic directory listing in review.
- ChatGPT Live ChatGPT chat, Work and desktop In ChatGPT's plugin directory: install it, sign in, and ask ChatGPT to publish.
- Claude Code Live Anthropic's coding agent Plugin live in Anthropic's directory.
- Claude Cowork Live Claude's agent for everyday work The same plugin, live in Anthropic's directory.
- Grok Live xAI's assistant Connect it today as a custom connector. xAI plugin marketplace listing in review.
- Codex Live OpenAI's coding agent Connect it today with the MCP server or the skill.
- Cursor Live The AI code editor Add the plugin from cursor.directory, or connect the MCP server.
- Meta Muse In review Meta's AI assistant Connector submitted to Meta, in review.
- OpenClaw Live The open-source personal agent Skill live on ClawHub.
- Any MCP client Live Any agent that speaks the Model Context Protocol Point it at the Stacktree MCP server.
Setup guides for each tool
- integration Send what a ChatGPT Dot makes as a private link A ChatGPT Dot talks to you in ChatGPT, Slack, Teams or on a call, and none of those suits a proposal or a report for someone outside ChatGPT. Stacktree works with Dots: a Dot uses the plugins installed on your ChatGPT account, so once Stacktree is installed from ChatGPT's plugin directory, your Dot can publish its work to a private link and update it at the same address.
- integration Publish HTML from Meta Muse Muse runs its own browser in its own VM and writes its own tools, so it can publish a page to Stacktree with no plugin, no API key and no account. You get back a private link that previews as a card in WhatsApp, where Muse already lives. Meta opened Muse to connectors on 18 September 2026; Stacktree is submitted and in review.
- integration Publish HTML from Grok Bot Ask your Grok Bot to publish a page to Stacktree and it works with no plugin, no API key and no account. You get a private, unguessable URL back. Claim it to keep it and update it in place.
- integration Send what Poke makes as a private link Poke works in Apple Messages, WhatsApp, Telegram and RCS, and a message is the wrong place for a proposal or a trip plan meant for someone else. Add Stacktree to Poke with one prefilled link, and it can put that work on a private page that opens with no account and updates at the same address.
- integration Publish HTML from n8n Install the n8n-nodes-stacktree community node and any n8n workflow can publish HTML to a private, unguessable URL. Update in place, gate, expire, and read viewer feedback. Works as an AI Agent tool.
- integration Deploy HTML from Claude Code: 4 ways, one command each Netlify, Vercel, Cloudflare Wrangler, or Stacktree over MCP: the exact command for each, what breaks in practice, and which one fits agent output. Tested.
- integration Stacktree for developers · MCP server, CLI and API The developer surface: add the MCP server and your agent publishes HTML to a private link. npx installer, curl-first API, source-available.
- integration Use Stacktree from a Vercel app or agent · Vercel Connect Stacktree is a connector in Vercel Connect. Your app or agent asks Vercel for a Stacktree token when it needs one, then publishes HTML to a private link over the MCP server or the REST API.
- integration Publish HTML from 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.
- integration Publish HTML from Codex: private link in one MCP call Wire Stacktree into Codex CLI as an MCP server. Codex emits HTML, calls publish_html, and hands you back a private, unguessable link. The private alternative to public ChatGPT Sites.
- integration Publish from ChatGPT: send what it makes as a private link Install Stacktree from ChatGPT's plugin directory and every report, proposal or dashboard it writes comes back as a private link your client can open, with no ChatGPT account.
- integration Publish HTML from Cursor Add the Stacktree plugin to Cursor from cursor.directory in one click, and every HTML file your agent writes gets a private, unguessable link you can share.
- integration Add Stacktree to Claude.ai as a custom 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.
- integration What is Claude Cowork? Plans, platforms and what it makes Claude Cowork is where Claude works with your files and connected tools instead of just answering. What it does, which paid plans have it, Mac and Windows, how it differs from Claude chat, and what to do with the documents it produces.
- integration Claude Cowork vs Claude Code: which one your work belongs in Same agentic engine, two front doors. Claude Code is the terminal agent for codebases; Claude Cowork is the desktop agent for documents, numbers and connected tools. Audience, interface, plugins and plans compared, plus when to use each.
- integration Claude Cowork plugins and skills: what they are and how to install one A Cowork plugin bundles skills, MCP connectors, subagents and hooks into one install. What the format contains, how to add one from the marketplace or a Git repo, the 43 Claude for Small Business workflows, and the Stacktree publish plugin.
- protocol MCP server for publishing HTML A Model Context Protocol server that gives any MCP client forty-nine tool calls to publish, gate, replace, delete, file under a client, and collect viewer feedback on HTML artifacts.
- integration Share HTML files in Slack as private links (Slack app) 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.
- integration npx skills: the agent skills CLI, explained npx skills is Vercel Labs' CLI for the open agent skills ecosystem: one command installs a SKILL.md folder into Claude Code, Codex, Cursor, OpenCode and 75 other agents. What the commands do, where files land, and a real skill to try it on.
For developers
The technical detail: the MCP server and its tools, and the installs.
Which AI agents can publish HTML to Stacktree?
Any agent that can make an HTTP request, and any agent that speaks MCP, the Model Context Protocol. The stacktree-mcp npm package and the hosted server at https://api.stacktr.ee/mcp expose forty-nine tool calls (publish, replace, read, gate, expire, list, delete, password, adopt an anonymous page, read your plan limits, file under a client, manage client spaces, design guide, feedback toolbar, read and resolve feedback, link a wallet) that show up in Claude, Claude Code, ChatGPT, Codex, Cursor, Grok Bot and any MCP-compatible client. Stdio and streamable HTTP transports are both supported.
What every integration shares
- Same forty-nine verbs. publish_html, update_site, delete_site, restore_site, claim_site, set_password, set_expiry, create_share_link, list_share_links, revoke_share_link, set_client_feedback, set_email_gate, list_sites, get_me, list_client_spaces, set_client, create_client_space, update_client_space, delete_client_space, get_design_guide, get_site, get_content, get_passcode, get_activity, list_versions, restore_version, list_feedback, resolve_feedback, link_wallet, whos_it_for, unopened_pages, get_revision_brief, publish_revision, resolve_comments, request_approval, get_approval_status, list_responses, resolve_addressed_notes, open_html_file, stacktree_pages, publish_card_status, publish_card_open, publish_card_send, apply_suggested_edits, report_missing_feature, whats_new, add_custom_domain, verify_custom_domain, list_custom_domains.
- Same npm package.
stacktree-mcp, one source of truth. - Same auth model. Anonymous first publish (24 h),
npx stacktree-installto sign a local agent in through the browser, OAuth 2.1 with dynamic client registration for hosted clients, or an API key for an unattended one. - Same replace-in-place loop.
update_siteworks identically across every agent. - Same client filing.
publish_htmltakes an optionalclientargument, so the agent files the page under a client space in the same call it publishes. The space is created on first use, and filing is free on every plan. - Same code you can run yourself. Stacktree is source-available: the whole stack (worker, MCP server, dashboard) deploys onto your own Cloudflare account. Self-host it.
How to pick the right install
- Claude Code, Codex, Cursor: pick the matching page above. Each has the one-line install.
- Claude (web, desktop, phone): paste
https://api.stacktr.ee/mcpas a custom connector. - ChatGPT and Dots: install Stacktree from Plugins in ChatGPT. A Dot uses the same plugin.
- Grok Bot: ask a bot to add
https://api.stacktr.ee/mcpas a custom connector, and sign in once. How it works. - Poke: add
https://api.stacktr.ee/mcpas an integration with one prefilled link. How it works. - Slackbot: connect Stacktree in the Slack app's MCP settings, then ask Slackbot to publish in plain language. How it works.
- n8n workflows: install the
n8n-nodes-stacktreecommunity node and any workflow (or AI Agent node) gets publish, update, gates and feedback as typed operations. How it works. - Anything else MCP-compatible: use the package via
npx -y stacktree-mcpover stdio, or the HTTP endpoint with OAuth. - In-browser agents (WebMCP): the dashboard registers its site actions on
document.modelContextwhere the browser supports it, so an agent working alongside a signed-in person calls the same verbs without an API key. How and why.
Set up your agent in one line
Paste this into your agent. It fetches the setup instructions, installs Stacktree, checks the connection, and learns the parts agents usually get wrong: replacing a page in place so a link you already sent keeps working, reading the real expiry instead of promising permanence, and filing work under the client it belongs to.
Fetch and follow the setup instructions at https://stacktr.ee/prompt.md Works in any agent that can fetch a URL. Nothing to install first, and the instructions are plain Markdown you can read before you run them.
Frequent questions
Can a personal agent publish to Stacktree without an account? +
POST /sites on api.stacktr.ee with JSON {"html": "..."}, returns a private link that opens with no account for 24 hours, and a claim_token that updates the page in place. Add owner_email, with the permission of the person the agent works for, and Stacktree emails them the link that keeps the page, and once more the first time someone else opens it.How does the agent find out whether the page was opened? +
GET /sites/{id}/activity on api.stacktr.ee, with Authorization: Claim <claim_token>, or the account's key for a page on an account. The answer says whether it was opened and when, any comments waiting, the expiry, and one sentence the agent can pass on as it stands. An agent with an account can be called instead, with webhooks for the first open, a named open, a new comment, a page nobody has opened and a page about to expire.Are the numbers on this page real? +
Which AI agents can publish HTML to Stacktree? +
What transports are supported? +
Is Stacktree in the ChatGPT plugin directory? +
Can an agent pay for its own Stacktree page? +
claim_token from the publish, or by signing with the Base wallet that paid. For an agent that publishes often, /provision sells a reusable key for $1 the same way. Anonymous publishing stays free.Sources and further reading
- Model Context Protocol, official spec ↗ The open standard every integration on this hub implements.
- Stacktree agent record (JSON) ↗ The live numbers behind the proof section, counted at request time.
- Stacktree x402 service record (JSON) ↗ What the paid rails offer and what has settled, readable before paying.
- npm: stacktree-mcp ↗ The package every local integration installs.
Point your agent at it, then send your first page.
The first page needs no account. Pick your agent above for the steps.
Sign up free →