
How to Publish a Page From Gemini CLI, Codex, Cursor, VS Code or Windsurf
Five coding assistants, one MCP server. The exact install command or config file for each — including the Gemini CLI extension — what the first tool call looks like, and how to ask for a page and get a link back without leaving the terminal.
Coding assistants produce a lot of pages: a README you want a teammate to read on their phone, a generated HTML prototype, release notes, a report. Every assistant on this list speaks MCP, and dochost's server gives all of them the same publish tool. This guide is the per-client setup — the general MCP guide covers Claude, ChatGPT and API keys — followed by what actually happens on the first call.
The server URL is the same everywhere:
https://dochost.io/api/mcpGemini CLI
Gemini CLI installs dochost as an extension, which bundles the MCP server and a short context file that tells Gemini when to reach for it. One command:
gemini extensions install https://github.com/zyli5313/dochost-gemini-extensionGemini asks you to confirm the install (add --consent to skip the prompt in scripts). Then check it is registered:
$ gemini extensions list
✓ dochost (1.0.0)
Path: ~/.gemini/extensions/dochost
Source: https://github.com/zyli5313/dochost-gemini-extension (Type: git)
Context files:
~/.gemini/extensions/dochost/GEMINI.md
MCP servers:
dochost
$ gemini mcp list
dochost (from dochost): https://dochost.io/api/mcp (http)No key, no config edit. The first time Gemini calls a dochost tool it opens your browser to a dochost sign-in page; approve once and the CLI keeps the session. Update later with gemini extensions update dochost.
Codex
Two commands — one to add the server, one to sign in:

codex mcp add dochost --url https://dochost.io/api/mcp
codex mcp login dochostThe second command opens the browser for the OAuth approval. Codex lists the server under codex mcp list afterwards.
Cursor
Cursor reads MCP servers from a JSON file. Add dochost to ~/.cursor/mcp.json (create the file if it does not exist), or to .cursor/mcp.json inside one project to scope it there:

{
"mcpServers": {
"dochost": { "url": "https://dochost.io/api/mcp" }
}
}Then Settings → MCP: dochost appears in the list. Click it, approve in the browser, and the server's status turns green with the tool list under it.
VS Code (GitHub Copilot agent mode)
One terminal command registers the server with VS Code:

code --add-mcp '{"name":"dochost","url":"https://dochost.io/api/mcp"}'Open Copilot Chat in Agent mode; the first time it wants to use a dochost tool, VS Code shows an authorization prompt and opens the browser. If you would rather edit a file, the same entry goes in .vscode/mcp.json under "servers".
Windsurf
Windsurf uses serverUrl rather than url in its config, at ~/.codeium/windsurf/mcp_config.json:

{
"mcpServers": {
"dochost": { "serverUrl": "https://dochost.io/api/mcp" }
}
}Reload Windsurf, open the MCP panel, and authorize dochost from there.
The first call
Whichever client you use, the flow from here is identical. Ask in plain language:
Publish README.md as a dochost page and give me the link.
The assistant calls publish with the file's contents. Three things to know about what comes back:
- The link is on
dochost.co, e.g.https://dochost.co/d/k3m9x2ab. It is live the moment the tool returns — Markdown renders immediately, HTML may spend a few seconds in review first. - The page is unlisted by default. It is not on Explore unless you say "make it public". Add "with the password …" or "at the slug release-notes" on a Pro or Max account and those options are honoured too.
- It publishes as you. Whatever plan the signed-in account is on decides the page's lifetime and limits: 7 days and 1 MB on free, permanent on Pro or Max. The page appears in your dashboard next to everything published from the website.
The other five tools work the same way: "list my pages", "update the page at that link with this new version" (update_page keeps the URL and the view count), "delete it". Calls are limited to 20 publishes a minute and 300 an hour, which is far more than a person hits and enough to notice a script stuck in a loop.
If the tool never appears
- The client shows the server but no tools. Authorization has not completed. Look for a pending browser tab, or run the login step again (
codex mcp login dochost, or click the server in Cursor's settings). - Gemini says the extension is untrusted.
gemini extensions installpauses on a workspace-trust prompt in some directories; answer Y, or run it from your home directory. - You want no browser at all — a cron job, a CI step, an agent on a server. Use an API key as a bearer token instead of OAuth. Same URL, same tools.
Author
Categories
More Posts

Edit a Page You Already Published — Without an Account
Published a page, then spotted a typo? dochost now gives you an edit link alongside the share link, so you can update the page in place and keep the URL.

How to Publish a README as a Webpage
Turn a README or any repo Markdown into a clean, shareable webpage in one paste — no repo access, no GitHub Pages setup, and no build step needed.

What Happens When a dochost Page Expires, and How to Bring It Back
After 7 days a free page shows an expired notice instead of the content. Nothing is deleted: the page, its URL, its views and likes are all kept. Here is what readers see, what the owner sees, and the three ways to put the same link back online.
Newsletter
Join the community
Subscribe to our newsletter for the latest news and updates