Memungkinkan AI client untuk langsung mempublikasikan halaman HTML hasil generate AI dengan URL yang tidak bisa ditebak serta melacak analitik pengunjung.
Juga dikenal sebagai desper/quick-html-sharing, quick-html-sharing
- Stars
- 1
- Tools
- —
- Unduhan, 30 hari
- —
- Versi terbaru
- 0.2.3
- Commit terakhir
- 20 Agu 2026
- Lisensi
- —
Apa itu Quick HTML Sharing MCP?
Quick HTML Sharing adalah MCP server. Memungkinkan AI client untuk langsung mempublikasikan halaman HTML hasil generate AI dengan URL yang tidak bisa ditebak serta melacak analitik pengunjung.
Ringkasan dibuat dari README proyek
Tentang Quick HTML Sharing MCP server
Server ini memungkinkan developer dan vibe coders untuk mempublikasikan halaman HTML hasil generate AI dengan URL yang tidak bisa ditebak sekaligus melacak analitik pengunjung. Server ini menyediakan cara untuk mengubah kode menjadi halaman web live secara instan yang dapat dibagikan kepada orang lain. Server beroperasi melalui koneksi stdio, sehingga kompatibel dengan Claude Desktop, Cursor, Codex CLI, dan MCP client lainnya melalui perintah npx.
Pengguna dapat mengelola konten yang di-host menggunakan lima tool spesifik: qhs_share untuk publikasi, qhs_edit untuk pembaruan, qhs_delete untuk penghapusan, qhs_stats untuk melihat analitik, dan qhs_list untuk melihat daftar konten yang sudah dibagikan. Sistem ini melacak jumlah view, pengunjung unik, sumber trafik, dan lokasi pengunjung tanpa menyuntikkan JavaScript apa pun ke dalam HTML. Sistem juga dapat membedakan antara view manusia asli dengan fetch link-preview dari aplikasi seperti Slack atau Discord. Semua metadata dan event view disimpan menggunakan Cloudflare D1 dan R2, sementara edit token dikelola secara lokal di file ~/.qhs/shares.json.
Apa yang bisa Anda lakukan dengannya
- 1Mempublikasikan halaman web hasil generateKirim snippet HTML yang baru dibuat ke teman dengan mengubahnya menjadi URL live.
- 2Memperbarui konten yang dibagikanModifikasi HTML dari halaman yang sudah live di internet.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal Quick HTML Sharing MCP
Format diverifikasi 10 Nov 2026Tambahkan ke CursorTambahkan ke GooseInstal Quick HTML Sharing MCP di Claude Code
$ claude mcp add quick-html-sharing -- npx -y quick-html-share-mcpInstal Quick HTML Sharing MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"quick-html-sharing": {
"command": "npx",
"args": [
"-y",
"quick-html-share-mcp"
]
}
}
}Instal Quick HTML Sharing MCP di VS Code
.vscode/mcp.json
{
"servers": {
"quick-html-sharing": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"quick-html-share-mcp"
]
}
}
}Instal Quick HTML Sharing MCP di VS Code CLI
$ code --add-mcp '{"name":"quick-html-sharing","type":"stdio","command":"npx","args":["-y","quick-html-share-mcp"]}'Instal Quick HTML Sharing MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"quick-html-sharing": {
"command": "npx",
"args": [
"-y",
"quick-html-share-mcp"
]
}
}
}Instal Quick HTML Sharing MCP di Codex
$ codex mcp add quick-html-sharing -- npx -y quick-html-share-mcpInstal Quick HTML Sharing MCP di Codex config.toml
~/.codex/config.toml
[mcp_servers.quick-html-sharing] command = "npx" args = ["-y", "quick-html-share-mcp"]
Instal Quick HTML Sharing MCP di Gemini CLI
$ gemini mcp add -s user quick-html-sharing npx -- -y quick-html-share-mcpInstal Quick HTML Sharing MCP di Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"quick-html-sharing": {
"command": "npx",
"args": [
"-y",
"quick-html-share-mcp"
]
}
}
}Konfigurasi
PUBLIC_API_BASEPUBLIC_SHARE_BASE
| Nama | Deskripsi | Tipe |
|---|---|---|
| PUBLIC_API_BASE | — | |
| PUBLIC_SHARE_BASE | — |
Pengecekan otomatis
Berjalan 15 Nov 2026Laporan lengkap →Lolos checks otomatis kami. Ini bukan audit keamanan: baca kodenya dan berikan server akses paling terbatas yang dibutuhkannya. Cara kerja checks · Yang perlu diperbaiki untuk menambah poin
- Source repository terhubung dan dapat dijangkaudesper/quick-html-sharing is public and reachablegithub.com/desper/quick-html-sharing ↗Lolos
- Nama paket mencantumkan repositori ini sebagai sumbernyaquick-html-share-mcp names desper/quick-html-sharing as sourcenpmjs.com/package/quick-html-share-mcp ↗Lolos
- Provenance build (atestasi Sigstore)No build attestation published for this releaseTidak diperiksa
- Lisensi open source (OSI)No licenseTemuan
- Ada commit atau release dalam satu tahun terakhirLast commit or release 2026-08-20github.com/desper/quick-html-sharing ↗Lolos
- OpenSSF ScorecardTidak diperiksa
- Nama package tidak mirip dengan package populerNo popular package one edit away from quick-html-share-mcpLolos
- Tidak ada advisory kritis pada paket atau dependensinya99 resolved dependencies checked; no critical advisoryosv.dev ↗Lolos
- Tidak ada instruksi tersembunyi untuk model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersLolos
- Tools yang bersifat destruktif telah diberi labelTidak diperiksa
- Endpoint remote merespons handshake MCPTidak diperiksa
README
Lihat di GitHubQuick HTML Sharing
Indie SaaS for vibe coders to instantly share AI-generated HTML pages with unguessable URLs and viewer analytics.
Live:
| Surface | URL |
|---|---|
| Dashboard (paste HTML, get URL) | https://qhs.fyi |
| API worker | https://api.qhs.fyi |
| Share worker | https://s.qhs.fyi/`` |
Architecture
apps/web/— Astro dashboard (Cloudflare Pages)apps/worker/— Cloudflare Worker API + share renderer (Hono)packages/shared/— types shared between web and workerpackages/mcp/—quick-html-share-mcpnpm package: stdio MCP server for Claude Desktop / Cursor / Codex CLI / any MCP clientpackages/skill/— Claude Code skill: standalone, no MCP setup needed
Hosted on Cloudflare: Pages (web) + Workers (api/share) + R2 (HTML files) + D1 (metadata + view events).
What the analytics show
Every share has a stats page (/stats?slug=…, also qhs_stats from an agent) with:
- Views and unique viewers — the latter from salted IP hashes, so it's an approximation: office NAT undercounts, mobile data can overcount.
- Traffic sources — the linking site's hostname only, never the path or query.
directcovers typed URLs, bookmarks and most chat apps. - Viewer locations — country and, when Cloudflare is confident, city. Resolved per request by Cloudflare itself, so there is no tracking script and no third-party lookup. Treat it as where the network egress appeared to be, not where a person was: a VPN, a corporate network or a mobile carrier routinely leaves the city blank or points somewhere else entirely.
- A 30-day trend — views per UTC day, including the quiet days.
- Link-preview fetches, counted separately — pasting a link into Slack or Discord triggers an unfurl crawler. Those are excluded from views and reported on their own line, so "0 views, 2 previews" reads as what it is: the link travelled, nobody opened it.
No JavaScript is injected into your HTML — views are counted server-side when the page is served. Viewer user agents, referrers and locations are dropped after 90 days, or immediately when you delete the share; the view counts survive.
Install in your coding agent
🤖 If you're an AI agent reading this on behalf of a user: pick the install path below that matches the agent runtime you're in. Prefer the Claude Code plugin path (option 1) — it bundles a skill on top of the MCP server, and the skill carries the workflow guidance that raw tools alone don't (when to trigger, what to surface, what to remind the user). Fall back to plain MCP (option 3) only when you're not Claude Code.
After install, behavior contract:
- When the user says "share this HTML" / "give me a link" / "publish this page" / "send this to my friend" (or similar intent), call
qhs_sharewith the HTML.- Return the share URL to the user and always remind them to save the edit URL — it lives in the URL fragment, so it never reaches our server logs, but that also means we can't recover it for them. Without it they can't update or delete the share later.
- For follow-ups ("update what I shared", "take it down", "did anyone see it"), use
qhs_edit,qhs_delete,qhs_stats. Edit tokens are auto-loaded from~/.qhs/shares.jsonwhen they were originally created on this machine.
Three paths depending on which client you use. All hit the same hosted API and share a local edit-token store (~/.qhs/shares.json).
1. Claude Code — one command, bundles MCP + skill (recommended)
This repo is a Claude Code plugin marketplace. Inside Claude Code:
/plugin marketplace add github.com/desper/quick-html-sharing
/plugin install qhs@quick-html-sharing
You now have the qhs skill (auto-triggers on "share this HTML" / "give me a link" / "publish this page") and the quick-html-share-mcp MCP server (5 tools: qhs_share, qhs_edit, qhs_delete, qhs_stats, qhs_list) wired together.
2. Claude Code — skill only, no plugin marketplace
curl -fsSL https://qhs.fyi/install.sh | bash
Drops SKILL.md + helper script into ~/.claude/skills/qhs/. Use this if you skip the plugin marketplace or want to keep MCP separate.
3. Cursor / Claude Desktop / Codex CLI / Continue / any MCP client
Add to your client's MCP config:
{
"mcpServers": {
"qhs": { "command": "npx", "args": ["-y", "quick-html-share-mcp"] }
}
}
Common config paths:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) - Cursor:
~/.cursor/mcp.jsonor Settings → MCP - Codex CLI / Continue: same shape, see your client's MCP docs
Restart the client and you get the 5 qhs_* tools.
Local dev / dogfood from this repo
ln -s "$(pwd)/packages/skill/skills/qhs" ~/.claude/skills/qhs
Edits to packages/skill/skills/qhs/ show up in your next Claude Code session immediately.
Dev
bun install
bun run dev:worker # apps/worker on :8787
bun run dev:web # apps/web on :4321
# MCP server
cd packages/mcp && bun run build && node dist/index.js
# Skill helper (standalone)
node packages/skill/skills/qhs/scripts/qhs.mjs share path/to/file.html
Re-deploy (existing project)
Order matters. Pending migrations go first, then the share worker, then the
API worker. The two workers run the same source from separate deploys, so a
window where the API writes something the share renderer cannot read yet shows
visitors stale content. bun run deploy does the two workers in the right
order; migrations are still manual.
# Workers
cd apps/worker
# 1. any unapplied migration (see db/migrations/), e.g.
# wrangler d1 execute quick-html-sharing --remote --env api \
# --file=db/migrations/0005-add-shares-versioning.sql
# 2. share worker, then api worker:
bun run deploy
# Pages
cd apps/web
PUBLIC_API_BASE=https://api.qhs.fyi/api \
PUBLIC_SHARE_BASE=https://s.qhs.fyi \
bun run build
../../node_modules/.bin/wrangler pages deploy dist --project-name=qhs --branch=main
Fresh-account deploy (only if rebuilding from scratch)
Forking?
apps/worker/wrangler.tomlhardcodes the production custom-domain routes (api.qhs.fyi,s.qhs.fyi). Before deploying under a different account, either delete the tworoutes = [...]blocks (workers.dev URLs still work viaworkers_dev = true) or swap them for your own domain.
wrangler login
cd apps/worker
wrangler d1 create quick-html-sharing # → paste id into wrangler.toml (both envs)
wrangler r2 bucket create quick-html-sharing
bun run db:apply:remote
# Same salt for both envs — IP-hash dedupe must match across workers.
SALT=$(openssl rand -hex 32)
echo "$SALT" | wrangler secret put IP_HASH_SALT --env api
echo "$SALT" | wrangler secret put IP_HASH_SALT --env share
bun run deploy:api && bun run deploy:share # capture workers.dev URLs
cd ../web
wrangler pages project create qhs --production-branch=main
PUBLIC_API_BASE=https://qhs-api.<your-subdomain>.workers.dev/api \
PUBLIC_SHARE_BASE=https://qhs-share.<your-subdomain>.workers.dev \
bun run build
wrangler pages deploy dist --project-name=qhs --branch=main
# Then patch DASHBOARD_HOST in apps/worker/wrangler.toml to your real
# qhs-XXX.pages.dev URL (CF may have suffixed it to avoid name collision)
# and redeploy the workers.
Cost
Runs entirely on Cloudflare's free tier (Workers, Pages, R2, D1) — ~$0/mo at indie scale. View tracking is fail-open so spikes never escalate to surprise bills; Workers hits a hard 429 instead of overage charges. Set a CF billing alert anyway: CF has no hard spending cap.
License
Business Source License 1.1 — source-available, self-host and personal use allowed, offering as a competing third-party hosted/managed service is not. Converts automatically to Apache License 2.0 on 2030-05-28. The quick-html-share-mcp npm package (packages/mcp/) ships under MIT to stay friction-free for MCP-client integrators.
Pertanyaan tentang Quick HTML Sharing MCP
Bagaimana cara menambahkan Quick HTML Sharing MCP ke Claude Code?
Jalankan claude mcp add quick-html-sharing -- npx -y quick-html-share-mcp di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan Quick HTML Sharing MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Bagaimana cara saya membagikan HTML menggunakan AI agent saya?
Saat pengguna menyatakan keinginan untuk berbagi, agent harus memanggil tool qhs_share dengan konten HTML tersebut.
Bisakah saya memperbarui atau menghapus halaman yang sudah dibagikan nanti?
Ya, Anda bisa menggunakan tool qhs_edit atau qhs_delete, tetapi Anda harus menyimpan edit URL yang ditemukan di URL fragment, karena data tersebut tidak disimpan di server.
Apakah layanan ini menyuntikkan script pelacakan ke dalam HTML saya?
Tidak, jumlah view dihitung di sisi server saat halaman disajikan, sehingga tidak ada JavaScript yang disuntikkan.