free · no signup · 7-day retention
html · htm · 10mb max · live in < 1s
{"mcpServers": {"htmlshare": {"url": "https://api.htmlshare.net/v1/mcp"}}}
then ask claude: “publish this as an htmlshare link” — it just works. (restart claude desktop once after adding the config.)
# publish from the terminalcurl -X POST https://api.htmlshare.net/v1/publish \-H "content-type: application/json" \-d '{"html":"<!doctype html><h1>hello</h1>"}'# → { "url": "https://htmlshare.net/p/k9m2qa42", "expiresAt": "..." }
accepts application/json (html field) or multipart/form-data with a file. 10mb max.
import { readFile } from 'node:fs/promises';const html = await readFile('./report.html', 'utf-8');const { url } = await fetch('https://api.htmlshare.net/v1/publish', {method: 'POST',headers: { 'content-type': 'application/json' },body: JSON.stringify({ html }),}).then((r) => r.json());console.log(url); // → https://htmlshare.net/p/k9m2qa42
works anywhere with fetch — node ≥ 18, bun, deno, browsers.