SORNKan Publish
Server Details
Host a static website from a zip: $1 USDC/month via x402 on Base, or card/PromptPay link.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 10 tools
Most tools target a clearly distinct pipeline stage (upload_url, scan, inspect, preview_status, claim, edit, renew). The main overlap is scan vs. inspect and preview_status vs. inspect, but the descriptions explicitly delimit these (free non-deploying check vs. deploy; read clock vs. redeploy). render_page stands apart as a generic URL renderer but is still unambiguous.
All names are lowercase snake_case and readable. The pattern splits between bare verbs (claim, edit, inspect, renew, scan) and verb_noun (connect_custom_hostname, publish_website, upload_url, render_page, preview_status), but each name still clearly signals its action+target, so the deviation is minor.
Ten tools is well within the healthy range and each corresponds to a real pipeline step. Only render_page feels tangential to the publishing workflow, slightly diluting the set rather than bloating it.
The full lifecycle is covered: plan, upload, scan, preview deploy, status, paid go-live, edit, renew, and custom hostname binding. Minor gaps exist—no delete/teardown or list-sites operation—but agents can largely work around these.
Available Tools
10 toolsclaimAInspect
Claim (activate) an inspected preview as a live site at {slug}.worldsite.workers.dev. This is the paid go-live step ($1 USDC first 30 days); publish_website only returns the plan and never goes live by itself. Call preview_status first — if claimable is false, do not pay. Ask which slug they want before paying. Live URL is {slug}.worldsite.workers.dev — not {slug}.workers.dev. Pretty names: CNAME their domain after claim. uploadId MUST be the UUID from inspect (not previewUrl). If you only have https://publish.sornkan.com/preview/, pass that UUID. If you have no wallet, get payment_url from the 402 response and show it to the human — they pay by card or Thai PromptPay in THB (no crypto needed); after they pay, poll preview_status/retry until live. If the last claim returned PRICE_COMPUTE_FAILED, retry this tool — no USDC was taken. If a signed payment failed settlement, tell the human contact@sornkan.com and do not retry payment.
Inputs: uploadId (required), slug, email, editToken.
connect_custom_hostnameAInspect
Connect an existing hostname via CNAME to sites.sornkan.com (no registrar). One-time $1 USDC, same claiming wallet (or editToken for a card-paid site), while lease is live. If the bind is refused after a card payment, the payment stays as a credit: retry with HTTP POST https://publish.sornkan.com/custom-hostname {slug, hostname} plus header X-Edit-Token — no new payment. If the hostname is already on Cloudflare, keep the CNAME proxied. Not a monthly fee. If you have no wallet, get payment_url from the 402 response and show it to the human — they pay by card or Thai PromptPay in THB (no crypto needed); after they pay, poll preview_status/retry until live.
Inputs: slug (required), hostname (required), editToken.
editAInspect
Check the zip for unsafe files, then redeploy the live Worker. Flat $0.50 per edit on every rail (x402 wallet or card/PromptPay payment_url). Does not extend lease days. Ownership: a site claimed with a wallet must be edited by paying from that same wallet; a site paid by card/PromptPay needs its editToken (shown once at claim and emailed to the payer). If you have no wallet, get payment_url from the 402 response and show it to the human — they pay by card or Thai PromptPay in THB (no crypto needed); after they pay, poll preview_status/retry until live.
Inputs: slug (required), uploadId (required), tokens, editToken.
inspectAInspect
Deploys a throwaway preview Worker at preview-*.worldsite.workers.dev (not publish.sornkan.com) after scanning the zip. This is the DEPLOY step — it counts against the free preview quota (first 3/day, then $0.10). The 4th+ can be paid two ways: sign the x402 retry with USDC on Base, or show the 402’s payment_url to the human (card / Thai PromptPay, same $0.10). Use scan (free, nothing deployed) while iterating on the zip; call inspect only when the human wants to see a preview. Do NOT inspect again just to read remaining time — use preview_status. If claimable is false, upload_url again; do not pay for that old id. Successful claim resets the free preview quota. After the human approves, ask which slug they want, then claim with the UUID and slug.
Inputs: uploadId (required).
preview_statusARead-onlyIdempotentInspect
Read remaining preview time. uploadId is the UUID (a preview URL is OK). Does not scan, does not reset the clock, never 402. If claimable is false, the preview was deleted — call upload_url, PUT a new zip, inspect, then claim. Do not inspect or claim the old id. Do not pay. Use this instead of inspect when you only need the clock.
Inputs: uploadId (required).
publish_websiteARead-onlyIdempotentInspect
START HERE: get the step-by-step website publishing plan. This tool only returns instructions — it never uploads, deploys, or goes live by itself; follow the plan with upload_url → scan → inspect → claim. ALWAYS ask the human first: go live for $1 USDC first 30 days? content legal? Then: upload_url → PUT putUrl (else give dropUrl) → inspect → show previewUrl → preview_status to read remaining time (never inspect again just for the clock) → ask which slug they want → claim with the UUID from inspect plus slug, never the preview URL. Live URL is {slug}.worldsite.workers.dev — not {slug}.workers.dev. Pretty names: CNAME their domain after claim. If claim returned PRICE_COMPUTE_FAILED, retry claim — no USDC was taken. Only if a signed payment failed settlement, tell the human contact@sornkan.com and do not retry payment. Never put the zip in chat.
Inputs: no named parameters.
render_pageARead-onlyIdempotentInspect
Render any public URL in a real browser (Chromium). Returns markdown text, a screenshot URL, and a human-checkable evidence page URL. $0.005 per call. No signup, no API key. x402 wallet required. Pass fullPage:true for the entire scrollable page (same price).
Inputs: url (required), fullPage.
renewAInspect
Renew hosting +30 days for $1 USDC. Same claiming wallet (or editToken for a card-paid site). Allowed only while the site is live and remaining < 90 days (stacked cap 90). After expiry renew is unavailable — claim again as a new site; last day without renew means the site is deleted and the slug is free. Support: contact@sornkan.com. If you have no wallet, get payment_url from the 402 response and show it to the human — they pay by card or Thai PromptPay in THB (no crypto needed); after they pay, poll preview_status/retry until live.
Inputs: slug (required), editToken.
scanARead-onlyIdempotentInspect
Check an uploaded zip for unsafe files WITHOUT deploying anything. Free, never 402, burns no preview quota — use this while iterating on the zip (scan → fix → upload_url again → scan). When the content is clean and the human wants to SEE it, call inspect to deploy a throwaway preview Worker. Verdict here is advisory: inspect re-checks before deploying.
Inputs: uploadId (required).
upload_urlCInspect
If you have the zip, PUT putUrl yourself (max 3MB). Do not put zip in chat. Only send dropUrl to the human if you have no file.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Pay-per-call web extract, DNS/WHOIS/IP lookup, PDF/RSS/sitemap tools. x402 USDC on Base/Algorand.
62 pay-per-call web, DNS, EVM and data tools. x402 USDC on Base, $0.003-$0.02 per call, no signup.
72 x402 endpoints: trading, AI inference, blockchain, escrow. USDC on Base+Solana.
Before you pay an x402 URL, ping it live or dead. One cent, USDC on Base.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceOne-call static page/site deploys for AI agents — POST HTML, a files map, or a zip and get back a live unguessable URL. Remote endpoint at https://ship.page/mcp, free tier needs no account or API key.MIT

402Signalofficial
AlicenseAqualityAmaintenanceChecks live x402 routes across Base, Solana, and Algorand before agents spend. $0.003 USDC settles only for a valid live eligible route; normal typed misses are not settled. Free preview and validate tools. Seller payment is separate; the agent keeps its wallet. Optional signed route-binding receipts support buyer-side checks.3MIT- AlicenseAqualityCmaintenanceMCP server for document intelligence via x402 micropayments. 6 tools: document analysis, invoice extraction, screenshot data, alt text, PII detection, sentiment analysis. Pay-per-use with USDC on Base — no API keys needed.61 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to make pay-per-call USDC payments on Base via x402 for headless page rendering, temporary file hosting, scheduled callbacks, and pump.fun launch and trend feeds.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.