{"serverId":"mcp-registry/com.sornkan/publish-website","tools":[{"name":"preview_status","fixed":{"name":"preview_status","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["uploadId"],"properties":{"uploadId":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":147,"tokensAfter":147},{"name":"publish_website","fixed":{"name":"publish_website","description":"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 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_FAI","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":179,"tokensAfter":179},{"name":"upload_url","fixed":{"name":"upload_url","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74}],"toolsChanged":3,"tokensSaved":0,"todo":[{"tool":"claim","params":["slug","email","uploadId"]},{"tool":"connect_custom_hostname","params":["slug","hostname"]},{"tool":"edit","params":["slug","tokens","uploadId"]},{"tool":"inspect","params":["uploadId"]},{"tool":"preview_status","params":["uploadId"]},{"tool":"renew","params":["slug"]},{"tool":"scan","params":["uploadId"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}