mcpbeat Sign in

Hatch MCP Server

by viberooster Your server? Claim it
answering

Hatch is answering right now. Last checked 1 min ago. It exposes 15 tools. Last commit 20 Aug 2026.

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

Uptime history 18 days of history
18 days agonow
100.0%
Uptime 24h
92 of 92 checks
15
Tools
read from the server
122 ms
Response time
average over 24h
0
Stars
last commit 20 Aug 2026

Nothing serious here today

Today is the operative word: we check Hatch every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 1 min ago.

run in your terminal
claude mcp add hatch --transport http https://mcp.theroost.dev/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "hatch": {
      "url": "https://mcp.theroost.dev/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.hatch]
url = "https://mcp.theroost.dev/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "hatch": {
      "url": "https://mcp.theroost.dev/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "hatch": {
      "url": "https://mcp.theroost.dev/mcp"
    }
  }
}

Available tools 15

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

poll
poll_approval
Poll a pending Tier-2 phone approval. Returns the result once the owner approves or denies on their phone.
poll_decision
Long-poll (~20s) until the decision leaves pending_review. Returns changes_requested (regenerate + continue_decision), approved, rejected, timeout_exceeded, max_iterations_exceeded, or still pending_review. Includes comment, settings, conversation, iteration.
poll_pairing
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 sessionToken, refreshToken, and grantId — refreshToken renews access for up to 7 days without re-pairing. When sessionToken expires (~1h), call refresh_session. The server also binds tokens to this connector session. Pass tenantId when known. Device claim ≠ forever billing upgrade.
auth
auth
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 site password (everyone uses the same one). Best for a private demo or staging link. • `setPassword` with a new `password` → rotate the shared password. • `disable` → remove the login and serve the site publicly again. • `status` → report whether auth is on and which mode. Returns `{ enabled, mode, loginUrl }`. Auth is only available on `forever` roosts — `convert` a free roost first. The sign-in screen lives at `/__roost/login`. Prefer `password` mode; `useraccounts` is unavailable (per-tenant databases are no longer provisioned).
await
await_decision
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-terminal: webhook or poll returns changes_requested, then call continue_decision after regenerating. Optional timeoutSeconds and maxIterations (default 5). If the page has interactive controls (sliders/forms), the hatch HTML MUST expose window.__VR_HITL_GET_SETTINGS__ so the review can attach those assumptions as JSON. When the user integrates n8n, Temporal, CI, or any external workflow, pass webhookUrl (MCP opens the review; the platform POSTs each transition to that URL — prefer webhook over poll_decision for automation). See PARTNER-WEBHOOKS.md for event payloads.
continue
continue_decision
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
convert
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` (opt in/out of the Barnyard carousel on viberooster.com). Do NOT call `hatch` again to upgrade — that creates a second site with a new id. Forever roosts are hidden from the carousel by default; pass `galleryListed: true` when promoting to forever to feature the site publicly.
deploy
deploy
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`, and a full ES module `script` (text only, 1.5 MiB max).
hatch
hatch
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 hatch twice for the same site — use `convert` to rename or change tier, and `upload`/`deploy` for content updates. Pick `apex` from the user's intent (homes / estate / land / wedding / events / agency / site / omit for theroost.dev). Do NOT invent other apexes. Ways to call it: • `html` (PREFERRED for n8n / a single review page) → one self-contained HTML string published at /. Do not also pass site/manifest/script. • Omit `html`, `manifest`, `site`, and `script` → a placeholder page is published instantly. • Pass `manifest` (file list with sizes) → returns presigned `uploads[]`; you PUT each file's bytes directly to its URL. PREFER this for any project with images, fonts, video, or more than a few KB of HTML. • Pass `site` (inline files map) → small text-only sites only. File keys must be paths like `index.html` (n8n may send `index`; that is accepted as `index.html`). • Pass `script` → advanced: full server-side code as one ES module (1.5 MiB max, text only — NEVER base64-embed binaries here). Do not send empty strings for optional fields (tenantId, preferredSlug, apex, html, site). Omit them.
lookup
lookup
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 across turns when the user mentions their site without giving you the tenantId.
pairing
get_pairing_code
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 Vibe Rooster app.
refresh
refresh_session
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. Each refresh rotates the refreshToken; store the new one. Requires the same connector session (MCP-Session-Id) as when you paired — if fingerprint mismatches, re-pair.
share
share
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
upload
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 — upload bytes directly via HTTP (e.g. `curl -T file.png -H 'Content-Type: image/png' "$url"`). Files go live immediately as each PUT completes; no separate publish call is needed. Use after regenerating a dashboard locally; Hatch does not schedule regenerations.
whoami
whoami
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 should show identified:true via server-side session binding. Returns sessionExpiresAt (~1h) and grantExpiresAt (~7d). If sessionExpired:true, call refresh_session with your stored refreshToken.

Endpoints

URLTransportStateLatencyChecked
https://mcp.theroost.dev/mcp streamable-http answering 107 ms 1 min ago

Alternatives to Hatch

same job, measured the same way
Website
by cuvo

Cuvo Health published site content and live discovery-call booking tools for AI agents.

186 installs/wk 9 tools answering
Cactal
by cactal

The website platform for AI agents. One API to build, host, and operate real websites.

answering
Waitloop
by zexiro

Agent-first waitlists: hosted signup pages with referral ranking. One tool call returns a live page.

answering
Openpouch
by openpouch

Agent-native hosting: deploy any folder to a live URL in one command. No approve tool.

68 installs/wk local only
Roomcomm
by kotinder

Ephemeral REST chatrooms for AI agents to coordinate. Share a room URL — agents talk live.

11 tools answering
Domain Intel
by erikirby

Website intelligence for AI agents: tech stack, hosting, security posture, SEO, and DNS.

31 installs/wk local only
YeetIt
by snappyio

Instant web publishing for AI agents. POST HTML, get a live URL. No account needed.

4 tools answering
Open for Agents Website Visibility
by mdotk

Check how well AI agents can discover and understand a public website.

answering

Hatch — questions

Answers built from our own checks of this server.

What can Hatch do?
It exposes 15 tools, read directly from the server on our last check. Among them: auth, await_decision, continue_decision, convert, deploy, get_pairing_code and 9 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Hatch working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 122 ms. The bar chart above shows every period we have measured.
How do I connect Hatch?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Hatch need an API key?
No. Hatch completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 15 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Hatch?
It answers our handshake in 122 ms on average, which is faster than 87% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Hatch open source?
Yes — written in HTML and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.