Connect SORNKan Publish and your agent gets 10 tools, among them claim, connect_custom_hostname, edit. It answers at https://publish.sornkan.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 10 September 2026; the last check, on 19 October 2026, succeeded.
Host a static website from a zip: $1 USDC/month via x402 on Base, or card/PromptPay link.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
claim | Go live. $1 USDC first 30 days. 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 Inputs: uploadId, slug, email |
connect_custom_hostname | Connect an existing hostname via CNAME to sites.sornkan.com (no registrar). One-time $1 USDC, same claiming wallet, while lease is live. If the hostname is already on Cloudflare, keep the CNAME proxied. Not a monthly fee. If you have no wal Inputs: slug, hostname |
edit | 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) unless a complimentary edit remains. Same claiming wallet. Does not extend lease days. If you have Inputs: uploadId, slug, tokens, ownerWallet |
inspect | 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 w Inputs: uploadId |
preview_status | 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 inspec Inputs: uploadId |
publish_website | Publish a website. 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 |
render_page | 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 Inputs: url, fullPage |
renew | Renew hosting +30 days for $1 USDC. Same claiming wallet only. 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 sit Inputs: slug |
scan | 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 Inputs: uploadId |
upload_url | 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. |
Every block below points at https://publish.sornkan.com/mcp. Pick your client and copy.
claude mcp add --transport http sornkan-publish https://publish.sornkan.com/mcp
{
"mcpServers": {
"sornkan-publish": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://publish.sornkan.com/mcp"]
}
}
}{
"mcpServers": {
"sornkan-publish": {
"url": "https://publish.sornkan.com/mcp"
}
}
}{
"servers": {
"sornkan-publish": {
"type": "http",
"url": "https://publish.sornkan.com/mcp"
}
}
}{
"context_servers": {
"sornkan-publish": {
"url": "https://publish.sornkan.com/mcp"
}
}
}{
"mcpServers": {
"sornkan-publish": {
"serverUrl": "https://publish.sornkan.com/mcp"
}
}
}{
"mcpServers": {
"sornkan-publish": {
"url": "https://publish.sornkan.com/mcp"
}
}
}name: SORNKan Publish
version: 0.0.1
schema: v1
mcpServers:
- name: SORNKan Publish
type: streamable-http
url: https://publish.sornkan.com/mcp{
"mcpServers": {
"sornkan-publish": {
"httpUrl": "https://publish.sornkan.com/mcp"
}
}
}{
"mcpServers": {
"sornkan-publish": {
"type": "http",
"url": "https://publish.sornkan.com/mcp"
}
}
}{
"mcpServers": {
"sornkan-publish": {
"url": "https://publish.sornkan.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fpublish.sornkan.com%2Fmcp&type=streamable_http&id=sornkan-publish&name=SORNKan%20Publish
It answered our last check on 19 October 2026 in 176 ms. Over 6 checks since 10 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by sornkan.com and served from publish.sornkan.com, the vendor's own domain: https://publish.sornkan.com/mcp.
10, as returned by the server's own tools/list on 11 September 2026: claim, connect_custom_hostname, edit, inspect, preview_status, publish_website, render_page, renew, and 2 more.
It answered our last check on 19 October 2026 in 176 ms. Over 6 checks since 10 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://publish.sornkan.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.sornkan. Endpoint host: publish.sornkan.com. ARD identifier: urn:air:com.sornkan:mcp:publish-website.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.