streamable-httpMITupdated 1mo ago
Publish Markdown or HTML to a clean, shareable link โ straight from your AI assistant. The dochost MCP server gives Claude, ChatGPT, Cursor and any other MCP client six tools โ publish, updatepage, listmypages, getpage, getaccount, deletepage โ so your assistant can hand back a public dochost link and then keep maintaining it. No copy-paste, no separate dashboard.
What can you do with dochost mcp?
dochost MCP server
Publish Markdown or HTML to a clean, shareable link โ straight from your AI
assistant. The dochost MCP server gives Claude, ChatGPT, Cursor and any other MCP
client six tools โ publish, update_page, list_my_pages, get_page,
get_account, delete_page โ so your assistant can hand back a public
dochost link and then keep maintaining it. No copy-paste,
no separate dashboard.
- ๐ Website: https://dochost.io
- ๐ MCP server: https://dochost.io/mcp
- ๐ฐ๏ธ Endpoint:
https://dochost.io/api/mcp(Streamable HTTP, OAuth) - ๐ Auth: OAuth sign-in โ no API keys
Why
Your LLM produced a report, a README, an HTML artifact. Sending it shouldn't mean
a screenshot or a raw .md blob. dochost turns that output into a normal web page
at its own URL, in one tool call. Markdown and HTML are rendered live.
Quick start
Claude Code (one line):
claude mcp add --transport http dochost https://dochost.io/api/mcp
Then run /mcp inside Claude Code and approve in the browser. Add --scope user
to use it in every project.
Claude Desktop / Cursor / VS Code / Windsurf โ add a remote HTTP server:
{
"mcpServers": {
"dochost": {
"type": "http",
"url": "https://dochost.io/api/mcp"
}
}
}
You authorize once via OAuth in the browser; the assistant then publishes as you, and output follows your dochost plan's entitlements.
Which auth method?
| Client | Recommended auth | Why |
|---|---|---|
| OpenClaw, Hermes | API key | Headless agents (e.g. a Telegram orchestrator). A static Bearer key works with the plain-HTTP skill and any MCP runner, with no browser step per session. |
| Claude, Cursor, ChatGPT, VS Code, Windsurf, and all other MCP clients | OAuth | One browser approval, nothing long-lived stored in config; the assistant publishes as you. |
Keep the API key like any secret: store it as an environment variable / host secret (never commit it), and revoke or rotate it from Settings โ API keys if it leaks.
Agents (OpenClaw, Hermes) โ API key
OpenClaw and Hermes are headless, so they authenticate with an API key. Create
one at dochost.io โ Settings โ API keys, export it as
DOCHOST_API_KEY, and either:
- Install the skill โ a self-contained
publishskill that works on any agent that can make an HTTP request:skills/dochost-publish/. - Wire the MCP โ point the agent at
https://dochost.io/api/mcpwith the key as a Bearer header:examples/mcporter.config.json.
Per-host install guides:
- OpenClaw โ
clients/openclaw.md - Hermes โ
clients/hermes.md
One-shot from a shell: examples/publish.sh.
Tools
Six tools. publish creates; the rest let the assistant keep working with what it
already published, instead of stranding a link every time you revise something.
publish
Publish Markdown or HTML as a hosted page and get a shareable URL.
| Parameter | Type | Notes |
|---|---|---|
body |
string (required) | The Markdown or HTML content to publish. |
format |
"markdown" | "html" |
Auto-detected when omitted. |
public |
boolean | List on Explore. Defaults to false (unlisted). |
customSlug |
string ยท Pro | Choose the link path instead of a random slug. |
password |
string ยท Pro | Gate the page behind a password. |
noBranding |
boolean ยท Pro | Hide the dochost footer badge. |
Returns url, slug, expiresAt, and an editToken.
Example: "Publish my Q3 report as a private page with a password." โ
dochost.co/d/q3-report(password-gated, 7-day link on free).
update_page
Replace the content of a page in place. The URL, view/like counts and expiry
all survive โ only body, format and title change.
| Parameter | Type | Notes |
|---|---|---|
slug |
string (required) | The page to update. |
body |
string (required) | The new Markdown or HTML content. |
format |
"markdown" | "html" |
Auto-detected when omitted. |
title |
string | Override the derived title. |
Prefer this over publishing again whenever you are revising something already published โ a second
publishmints a second link and strands the one the reader already has. Resending identical content is a no-op.
list_my_pages
List the pages you have published, newest first. Paginated (limit, offset);
returns compact records without page bodies.
get_page
Look up one page by slug: title, format, status, view/like counts, expiry, and
whether it is password-protected. Never returns the body or the password.
get_account
Your plan, page-quota usage and entitlement flags (size cap, custom slug,
password, branding). Worth calling before publish so the assistant knows your
limits up front instead of failing on them.
delete_page
Permanently delete a page by slug. The link stops working immediately and the
slug is freed. Deleting an already-deleted page is a safe no-op.
Notes
- Ownership and entitlements come from your authenticated account, never from tool input.
- Published pages live on
dochost.co, a separate cookieless content origin โ never on the app origindochost.io. That is what lets dochost serve author HTML under a hardened policy without it touching your session.dochost.io/d/โฆpermanently redirects todochost.co/d/โฆ, so old links keep working. - Free links last 7 days; permanent links, password, custom slug, custom subdomain and branding removal are on the paid plans โ see dochost.io.
Links
- Homepage โ https://dochost.io
- MCP setup & docs โ https://dochost.io/mcp
License
MIT โ see LICENSE.
Install
Add dochost mcp to your client. Pick the one you use.
claude mcp add --transport http dochost-mcp https://dochost.io/api/mcpcodex mcp add dochost-mcp --url https://dochost.io/api/mcp{
"mcpServers": {
"dochost-mcp": {
"url": "https://dochost.io/api/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"dochost-mcp": {
"type": "http",
"url": "https://dochost.io/api/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"dochost-mcp": {
"url": "https://dochost.io/api/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"dochost-mcp": {
"serverUrl": "https://dochost.io/api/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 23 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Jun 15, 2026 |