# Publish HTML from Grok Bot · Stacktree

Source: https://stacktr.ee/grok-bot

[Skip to content](#main) PFrom Product Hunt? Your first pages are free, no card. Code `PRODUCTHUNT` takes 50% off your first month of Studio.[Start free &rarr;](https://app.stacktr.ee/?join=1&from=producthunt)

&times;   A Stacktree customer sent you. Your first month is 50% off on any plan, taken off at checkout. [Start free &rarr;](https://app.stacktr.ee/?join=1&from=referral)

 &times;    [Stacktree](/)[Developers](/developers)[Agents](/agents)[Docs](/docs)[Use cases](/use-cases)[Pricing](/pricing)[Blog](/blog)[Dashboard](https://app.stacktr.ee)[Sign in →](https://app.stacktr.ee)      By [ Steve Smith ](/about) · Founder, Stacktree  ·  Last updated October 3, 2026          Grok Bot

#  Ask your Grok Bot to publish it. That is the whole setup.

   Grok Bot reaches services by driving a browser, so Stacktree needs no plugin, no API key and no integration to work with it. Say where the page should go and you get back a private, unguessable URL that anyone can open without an account. When you want pages that last, links per person and comments, connect your Stacktree account to the bot in one message.

  [ Create an account ](https://app.stacktr.ee/?join=1&from=seo_grok_bot)   install npx stacktree-install
Copy
      No card · 3 pages free · about a minute

    +SearchGrokker11:56Writing the one-pager now…⏻PluginsSteveGrokkerToday 11:53Create a standard intro page and publish it to stacktreeOn it — I'll look up how Stacktree intro pages work, then create a standard one and publish it.Got the house design guide. Writing a one-pager to that spec, then publishing it.Writing the one-pager now. I'll publish the moment it's done.Live: https://stacktr.ee/p/b0mJDVwkpc…Studio calling-card for Grokker. Unlisted; viewers need no account. Anonymous link, 24h.Want to keep it? Claim it into your Stacktree account — that also wires publish for next time so I can update this URL in place.+Message Grokker|●stacktr.ee/p/b0mJDVwkpc…GrokkerDesktop assistant to Steve Smith. Writes, researches, and ships finished pages as private links.01Turns work into a page someone can open02Iterates in place so a shared link stays current03Handles the desk work that should not waitPrivate by default. The link is the credential.One instruction. No plugin, no key, no account. [The real transcript](/blog/what-is-grok-bot).

##  How do I publish a page from Grok Bot?

Tell the bot what to make and where to put it, in one sentence: "Write a one-page project
      brief and publish it to Stacktree." It opens stacktr.ee, reads the publishing
      documentation and uses the anonymous publish path, which needs no account. It returns a
      private, unguessable URL that lasts 24 hours. Claim that page into a Stacktree account and the
      expiry comes off, and the bot can update the same URL in place on later runs. Or connect your
      account first: ask the bot to add Stacktree as a custom MCP connector at
      https://api.stacktr.ee/mcp, approve the card, and sign in once.

## Why there is nothing to install

 Most integrations on this site need something: a node in n8n, an MCP server in Claude Code, a connector in Claude.ai. Grok Bot needs nothing for a first page, because it can sign into tools and navigate them the way a person does, in a browser on its own cloud computer.

 That means the thing standing between an agent and a service is not whether an integration exists. It is whether the first useful action can be done without an account. Stacktree's first publish is anonymous by design, so the bot can complete the job in one pass.

## Connect your account in one message

 Grok Bot can now add custom MCP connectors when you ask it to, and Stacktree's MCP server is one. Connected, the bot stops driving a browser and calls Stacktree directly, with everything an account has: pages that do not expire, a passcode or an email check, a link per person that tells you when they opened it, comments from readers, and updates to a page you sent last week. Ask any of your bots:

```
`Add Stacktree as a custom MCP connector. It is a remote HTTPS server
that signs in with OAuth, so leave the HTTP headers empty.
Server URL: https://api.stacktr.ee/mcp`
```

 The bot shows an approval card with the URL, "OAuth sign-in" and "no HTTP headers" before it saves anything. Approve it, press Authorize on the Stacktree card that follows, and Stacktree's sign-in page opens in your browser listing what the bot would be able to do. Click Allow and the card reads "29 tools, Added". The connector belongs to your Grok account, so every bot on it can use Stacktree from then on. No API key is involved, and you can take the access back at any time from your Stacktree API keys page.

 We ran this on 2 October 2026. After sign-in we asked the bot for a private test page with a link for one named person. It called `publish_html`, then `create_share_link`, and came back with the page, the named link and the correct expiry date. One thing caught us out: the desktop app finishes sign-in on port 8787 of your own computer, so if something else is using that port (Cloudflare's `wrangler dev` does by default), sign-in ends on a "not found" page. Stop that program and reload the page.

## What we actually tested

 On 20 August 2026 we gave a Grok Bot one instruction: "Create a standard intro page and publish it to stacktree." No plugin, no key, no integration. It reported that it would look up how Stacktree pages work, found the house design guide, wrote a one-pager to that specification and published it, then returned the live URL and described the result correctly without being asked: unlisted, viewers need no account, expiring the next day. It also offered the right next step, which was claiming the page so it could update that URL in place instead of minting a new one.

 Our server records match: no account attached, no payment, one file, 24 hour expiry. You can read [the page it produced](https://stacktr.ee/p/b0mJDVwkpcWQKZkYPNKR2G/), which is still up because it was claimed into an account afterwards. The full write-up is in [Grok Bot explained](/blog/what-is-grok-bot).

## Making it repeatable

 Grok Bot is built around routines: it learns a workflow from one demonstration and reuses it. That is where publishing in place matters. Once a page belongs to an account, every later run updates the same link rather than producing a new one, so the URL you gave a client on Monday still shows Friday's version. A routine that mints a fresh link every morning is not something you can send anyone.

 To get there, connect Stacktree as above and tell the bot to update the page it already published rather than publishing a new one. Without a connection, publish once anonymously, claim the page, and give the bot that page's address for later runs.

## Or skip the setup: grab the template

 Grok Bot templates (added August 2026) let one person's Bot configuration install into yours in a tap. We publish one that carries all of the above: publish on request, always report the link, its expiry and the claim link, update in place on revisions, and never publish secrets without asking.

 [Publish work as a private link: add it to your Grok Bot &rarr;](https://x.ai/bot/n9zq64kTeEEc5NwrkAOi8)

 Since version 4 (2 October 2026) the template uses the Stacktree connector when your Grok account has it, offers once to add it when it does not, and otherwise falls back to a 24-hour page that needs no account. Connected, pages belong to your account, so routines keep updating the same URL.

## When the page should not be open to anyone with the link

 The default is an unguessable URL that is never listed or indexed, which is enough for most internal work. When the page carries client material, paid plans add a passcode, or a gate that restricts viewers to a company email domain and lets them through by magic link without creating an account. Expiry and burn-after-read are available on every plan.

## Other agents

 If you also drive Claude Code, Codex CLI, Cursor or Claude.ai, those speak MCP and take a faster path than browser automation: they call `publish_html` directly and get a URL back. One command sets all of them up:

```
`npx stacktree-install`
```

 See [every agent integration](/agents) for the full list.

FAQ

## Grok Bot and Stacktree

     Do I need to install a plugin to publish to Stacktree from Grok Bot? +  No. Grok Bot reaches services by driving a browser, so it can use Stacktree with no plugin, no API key and no integration. We verified this on 20 August 2026: a bot given the single instruction "create a standard intro page and publish it to stacktree" read the documentation and published unattended on the first attempt. For the features that need an account, you can now also connect Stacktree to the bot in one message, as a custom connector.   How do I connect Grok Bot to my Stacktree account? +  Ask any of your bots: "Add Stacktree as a custom MCP connector. It is a remote HTTPS server that signs in with OAuth, so leave the HTTP headers empty. Server URL: https://api.stacktr.ee/mcp". The bot shows an approval card with that URL before it saves anything. Approve it, then press Authorize on the Stacktree card, and Stacktree's sign-in page opens in your browser. Click Allow. The card then reads "29 tools, Added", and every bot on your Grok account can use it. We did exactly this on 2 October 2026.   Sign-in ended on a "not found" page at localhost:8787. What happened? +  The Grok Bot desktop app listens on port 8787 on your own computer to catch the end of the sign-in. If another program is already using that port, the browser lands on that program instead and shows its error. Cloudflare's wrangler dev uses 8787 by default, which is how we found it. Stop the other program, then reload the localhost:8787 tab within ten minutes of clicking Allow, or press Reopen on the Stacktree card in Grok Bot and sign in again.   What do I say to my Grok Bot? +  Name the deliverable and the destination in one sentence: "Write a one-page project brief and publish it to Stacktree." The bot works out the rest from the documentation. If you want the page gated or permanent, say so in the same instruction.   Does the page expire? +  An anonymous page published with no account lasts 24 hours. Claim it into a Stacktree account and the expiry comes off. On the free plan you keep 3 pages, each lasting 7 days, and once someone else opens one, it stays up for 30 days after their latest visit, up to 90 days in total. Paid plans from $19 a month remove the expiry entirely and raise the page count.   Can the bot update a page it already published? +  Yes, once the page belongs to an account. Stacktree replaces content in place, so the URL you already sent someone keeps showing the current version instead of a new link being minted on every run. That is what makes it usable inside a repeating routine, which is how Grok Bot is designed to be used.   Can the page be private? +  Every page is unguessable by default and is never listed or indexed. On paid plans you can add a passcode, or restrict viewers to a company email domain that they pass by magic link without creating an account. You can also set an expiry or burn-after-read.   Is Stacktree an official Grok plugin? +  Not yet. Stacktree is submitted to the xAI plugin marketplace and the pull request is open at the time of writing. Neither route needs the listing: the browser route works with nothing installed, and Grok Bot adds Stacktree as a custom connector when you ask it to.   Does this work with other agents too? +  Yes, and most of them use a faster path. Claude Code, Codex CLI, Cursor and Claude.ai connectors speak MCP, so they call publish_html directly rather than driving a browser. The one-line installer is npx stacktree-install.
Keep reading

## Related guides

   -  [ 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. ](/claude-code)
-  [ Grok Bot explained What it is, what it costs, how the plugin marketplace works, and the full test. ](/blog/what-is-grok-bot)
-  [ Who opened it, every morning A Grok Bot routine that reports which of your pages were opened, by whom, and what readers said. ](/workflows/who-opened-it)
-  [ Every agent integration Claude Code, Codex CLI, Cursor, n8n, Claude.ai connectors, and any MCP client. ](/agents)
-  [ Publish from n8n The same job in a workflow tool, via the Stacktree community node. ](/n8n)
-  [ Pricing What the free plan covers and what removes the expiry. ](/pricing)

##  Ask your bot to publish one.

 No plugin, no key, no account for the first page. The link works in any browser.

 [ Sign up free → ](https://app.stacktr.ee/?join=1&from=cta_grok_bot)   install npx stacktree-install
Copy
       Private hosting for the HTML your agents make.

[](https://betalist.com/startups/stacktree?utm_campaign=badge-stacktree&utm_medium=badge&utm_source=badge-featured)[Featured on](https://devhunt.org/tool/stacktree)[](https://buildlist.io)[Get started free](https://app.stacktr.ee/?join=1)

## Product

- [Page video](/page-video)
- [Ask this page](/ask-this-page)
- [Client spaces](/client-spaces)
- [Templates](/templates)
- [Example deliverables](/examples)
- [Custom domains](/custom-domains)
- [Client feedback](/client-feedback-loop)
- [One-time links](/one-time-view-links)
- [See how pages get read](/page-engagement)
- [Made with Stacktree](/made-with)
- [Security](/security)
- [Watch the demo](/demo)

## Agents

- [All integrations](/agents)
- [Claude Code](/claude-code)
- [OpenAI Codex](/codex)
- [Cursor](/cursor)
- [Claude.ai connector](/claude-ai-connector)
- [Claude Cowork](/what-is-claude-cowork)
- [Meta Muse](/muse)
- [MCP server](/mcp-publish-html)
- [Deploy from Claude Code](/deploy-html-from-claude-code)
- [Skills](/skills)
- [Slack app](/slack)
- [n8n node](/n8n)
- [Agent payments (x402)](/x402)

## Alternatives

- [All comparisons](/alternatives)
- [Head-to-head comparisons](/compare)
- [Tiiny Host](/tiiny-host-alternative)
- [GitHub Pages (private)](/github-pages-private-alternative)
- [Vercel](/vercel-alternative-for-agents)
- [ngrok](/ngrok-alternative-for-html)
- [Display.dev](/display-dev-alternative)
- [Static.app](/static-app-alternative)
- [OpenAI Codex Sites](/openai-codex-sites-alternative)
- [here.now](/here-now-alternative)
- [Shippage](/shippage-ai-alternative)
- [Best private hosting](/best-private-html-hosting)

## Use cases

- [All use cases](/use-cases)
- [Share with clients](/share-with-clients)
- [Send a file to a client](/share-html-file-with-client)
- [Share Claude artifacts](/share-claude-artifacts)
- [Share Jupyter notebooks](/share-jupyter-notebook-html)
- [Host Storybook privately](/host-storybook-privately)
- [Architecture diagrams](/share-architecture-diagrams)
- [AI-generated reports](/host-ai-reports)
- [Internal HTML tools](/internal-tool-hosting)
- [Private HTML hosting](/private-html-hosting)
- [Vibe-coded page hosting](/vibe-coding-hosting)
- [Leave a website builder](/website-builder-migration)

## Learn

- [Blog](/blog)
- [Glossary](/glossary)
- [FAQ](/faq)
- [Where AI output should live](/where-ai-output-lives)
- [Agent-loop hosting](/agent-loop-hosting)
- [Why agents need a publish primitive](/blog/why-agents-need-a-publish-primitive)
- [MCP servers explained](/blog/mcp-servers-explained-for-developers)
- [What changed in the 2026-07 MCP spec](/blog/mcp-2026-spec-changes)
- [Sites in Codex explained](/blog/sites-in-codex-explained)
- [Private-by-default hosting](/blog/private-by-default-html-hosting)
- [An agent paid us $1 (x402)](/blog/agent-paid-to-provision-itself)
- [When a loop hits a paywall](/blog/loop-engineering-paywall)
- [Pricing](/pricing)
- [Self-host (new)](/self-host)
- [Changelog](/changelog)
- [Docs](https://stacktr.ee/docs)
- [About](/about)
© 2026 Stacktree · stacktr.ee

[Privacy](/privacy)[Terms](/terms)[Security](/security)[Dashboard](https://app.stacktr.ee)[npm](https://www.npmjs.com/package/stacktree-mcp)[Sitemap](/sitemap.xml)[llms.txt](/llms.txt)[API spec](/openapi.json)

---
Full markdown summary of the Stacktree marketing surface: https://stacktr.ee/llms-full.txt
