Publish HTML from the command line, an AI agent, or any HTTP client. No account required for temporary pages.
POST an HTML document to the API. Get back a URL at <slug>.meethtml.com. Every page runs on its own browser origin — full HTML, CSS, and JavaScript are supported with no sandboxing.
Anonymous pages expire after 24 hours. Sign in with a magic link at /account and pages published from that session are permanent.
You receive an edit_token with each published page. Save it — it can update or delete that page even if it was published anonymously.
POST https://api.meethtml.com/api/v1/publish
| Field | Type | Description |
|---|---|---|
html | string | Required. Full HTML document (max 5 MB). |
Response:
{
"url": "https://abc12345.meethtml.com",
"slug": "abc12345",
"expires_at": "2024-01-02T12:00:00.000Z", // null when signed in (permanent)
"edit_token": "..."
}
When you publish while signed in (session cookie or Authorization: Bearer <key>), expires_at is null and the page is permanent.
PUT https://api.meethtml.com/api/v1/pages/:slug
Pass X-Edit-Token: <edit_token> from the publish response. Body: {"html":"..."}
DELETE https://api.meethtml.com/api/v1/pages/:slug
Pass X-Edit-Token: <edit_token>.
| Max page size | 5 MB |
| Anonymous rate limit | 200 requests/hour per IP |
| Signed-in rate limit | 1000 requests/hour per user |
| Anonymous page expiry | 24 hours |
| Signed-in page expiry | Never (permanent) |
Two options — local (npm) or hosted (no install):
Option A · Local (npm)
Runs on your machine via npx. Add to your Claude Code, Cursor, or Windsurf config:
{
"mcpServers": {
"meethtml": {
"command": "npx",
"args": ["-y", "@meethtml/mcp-server"],
"env": { "MEETHTML_API_KEY": "<your API key>" }
}
}
}
The env block is optional — omit it for anonymous (24-hour) pages.
Option B · Hosted (no install)
Uses the Streamable HTTP transport. No local process needed — point your client directly at the hosted endpoint:
https://api.meethtml.com/mcp
Pass your API key as a Bearer token for permanent pages:
Authorization: Bearer <your API key>
MCP tools: publish_html, update_page, delete_page.
The hosted MCP server at https://api.meethtml.com/mcp implements the MCP Authorization spec. Compatible clients (Claude.ai, Claude Code with OAuth support) can authenticate users automatically — no manual API key setup required.
Endpoints
GET /.well-known/oauth-authorization-server | Discovery metadata |
POST /oauth/register | Dynamic client registration (RFC 7591) |
GET /oauth/authorize | Authorization page (magic link sign-in) |
POST /oauth/token | Token exchange (PKCE S256 required) |
Issued tokens begin with mho_ and are passed as Authorization: Bearer mho_…. They grant the same permanent-page access as an API key.
For agents without MCP support, copy the usage guide at /SKILL.md and paste it into your agent's context or system prompt. It covers the full API in plain markdown.