mcpserver.lol
registry/hatch
Connection check verified live · 28h ago

hatch

Hosting for AI agents: publish a live website in one tool call, ephemeral or forever.

Tools 16
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 28h ago

Tools & capabilities

16 tools

Read from the running server on 28h ago.

auth can modify data modeactionpasswordtenantId*sessionToken
Put a sign-in screen in front of a `forever` roost so visitors must authenticate. Pass `tenantId` plus an `action`: • `enable` with `mode: "password"` and a `password` → ONE shared…
await_decision titleoptionstenantId*contextUrlwebhookUrlagentOutput +3
Create a human-in-the-loop review on the live artifact. Default options: Approve / Request changes / Reject. Reviewers see a Review required chip → modal. Request changes is non-te…
continue_decision titletenantId*decisionId*agentOutputsessionTokentimeoutSeconds
After poll_decision returns status changes_requested, regenerate, then call this to reopen the same decision as pending_review for the next human round.
convert can modify data newTiertenantId*sessionTokengalleryListednewPreferredSlug
Atomically rename a roost's URL and/or change its tier. Pass `tenantId` plus at least one of `newPreferredSlug` (rename), `newTier` (e.g. `free` → `forever`), or `galleryListed` (o…
deploy can modify data script*metadatatenantId*approvalIdworkerName*sessionToken
Replace the server-side code of an existing roost. Advanced — most agents should use `upload` (for static files) or `convert` (for renames) instead. Pass `tenantId`, `workerName`,…
get_pairing_code tenantIdworkspaceId
Issue a fresh pairing code + URL (TTL 10 minutes) for claiming a hatch (tenantId) or authorizing an agent session in a workspace (workspaceId). Render pairingUrl as a QR for the Vi…
hatch apexhtmlkindsitetier*script +7
Create a NEW site (a 'roost') and return its public URL in one call. Returns `{ tenantId, slug, url, apex, uploads? }` — show `url` to the user and remember `tenantId`. NEVER call…
list read-only workspaceIdsessionToken
List every hatch in a workspace. Returns `{ workspaceId, name, count, hatches: [{ tenantId, slug, url, apex, kind, tier, state, expiresAt, createdAt }] }`. Use this when you lost t…
lookup read-only slugtenantId
Resolve a roost by `slug` or `tenantId`. Returns a compact view `{ tenantId, slug, url, apex, tier, state, expiresAt, customDomain, galleryListed }`. Use this to recover state acro…
poll_approval read-only tenantId*approvalId*
Poll a pending Tier-2 phone approval. Returns the result once the owner approves or denies on their phone.
poll_decision read-only tenantId*decisionId*
Long-poll (~20s) until the decision leaves pending_review. Returns changes_requested (regenerate + continue_decision), approved, rejected, timeout_exceeded, max_iterations_exceeded…
poll_pairing read-only code*tenantIdworkspaceId
Poll for pairing completion (Device-Grant style). Waits up to ~20s for phone approval before returning. Statuses: pending / completed / expired / not_found. On completed, store ses…
refresh_session tenantIdworkspaceIdrefreshToken*
Renew a short-lived access token (~1h) using the refreshToken from poll_pairing. The grant (and refresh capability) lasts up to 7 days — after that, re-pair via get_pairing_code. E…
share tenantId*sessionTokenexpiresSeconds
Issue a signed, expiring guest view URL for any tier (`?vt=…`). Use for private run reports without forever-tier password auth. Returns `{ url, viewToken, expiresAt }`.
upload can modify data manifest*tenantId*sessionTokenexpiresSeconds
Add or replace files on an EXISTING roost. Pass `tenantId` plus a `manifest` listing each file's path, size, and optional content type. Returns one presigned PUT URL per file — upl…
whoami read-only tenantIdsessionToken
Return the caller's current identity and tenant state. Never errors when unidentified — returns a pairing path instead. After poll_pairing completes, whoami with the same tenantId…