About Hatch
Hosting for AI agents: publish a live website in one tool call, ephemeral or forever.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.theroost.dev/mcpclaude mcp add --transport http com-viberooster-hatch https://mcp.theroost.dev/mcp{"mcpServers":{"com-viberooster-hatch":{"type":"http","url":"https://mcp.theroost.dev/mcp"}}}Open in Cursor{"servers":{"com-viberooster-hatch":{"type":"http","url":"https://mcp.theroost.dev/mcp"}}}Open in VS Code{"mcpServers":{"com-viberooster-hatch":{"type":"http","url":"https://mcp.theroost.dev/mcp"}}}{"mcpServers":{"com-viberooster-hatch":{"serverUrl":"https://mcp.theroost.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
24| Parameter | Type | Required | Description |
|---|---|---|---|
| apex | enum | No | Specialty hostname apex for the live URL (`https://{slug}.{apex}`). Choose from user intent: theroost.homes (residential listing), theroost.estate (commercial/luxury), theroost.land (land/parcels), theroost.wedding (wedding RSVP), theroost.events (conference/meetup), theroost.agency (pitch/portfolio), theroost.site (generic short-lived niche). Omit for theroost.dev. Never pass theroost.rentals (reserved).theroost.dev | theroost.homes | theroost.estate | theroost.land | theroost.wedding | theroost.events | theroost.agency | theroost.site |
| html | string | No | Self-contained HTML document (inline CSS) published at /. Preferred for n8n and other AI tools that cannot pass nested site.files maps. Mutually exclusive with site, manifest, and script. |
| kind | enum | No | Artifact kind. Use `run-report` for agent observability / compliance run reports; default `site` for consumer sites.site | run-report |
| site | object | No | Inline file map. Suitable ONLY for small text-only sites (a handful of HTML/CSS files). For anything with images or binaries, use `manifest` instead. |
| site.entry | string | No | Document served at /. Default index.html |
| site.files | object | Yes | Relative path → contents. Text (UTF-8) for .html/.css/.js/.json/.svg; base64 (optionally prefixed `base64:`) for binary. |
| tier | enum | Yes | `free` auto-expires (default 48h; override with `ttlSeconds`). In a paid Roost workspace, hatch stores `workspace` (still expires; not carousel-listed) even if you pass `free`. `forever` is a Pin (subscription slot or paid 1-year keep) — on this connector, hatch `free` then `checkout` with grant `publish`, or convert while subscription Pins remain.free | forever |
| promo | boolean | No | Optional Promo flag. `true` lists this hatch on the public carousel even when its tier would hide it, if the hatch is active, has a public slug, and is not expired, and forces the Powered By chip on. A password still keeps it off the carousel. `false` unmarks Promo and returns the normal carousel and chip rules. |
| policy | enum | No | HITL policy override for workspace-paired hatches. `optional` (default for a new Roost) does not open a review — call `await_decision` when you want one. `required` forks sibling `{slug}-vN` roosts when review is outstanding or approved. `good_effort` overwrites in place, supersedes open HITL, and auto-opens a fresh review. Inherits the stored workspace policy when omitted.required | good_effort | optional |
| script | string | No | Advanced: full server-side code as one ES module. Text only, 1.5 MiB hard limit. NEVER embed images/fonts/binaries here — use `manifest` instead. |
| hatchId | string | No | Optional id to reuse. Omit entirely to auto-generate. Do not send an empty string (n8n: leave this field unmapped). Lowercase letters, numbers, and hyphens only; 1–50 chars; must start and end alphanumeric. |
| manifest | object | No | PREFERRED for sites with assets. List every file you want served, with its byte size and optional MIME type. The response includes one presigned PUT URL per file; upload bytes directly via HTTP (e.g. `curl -T file.png -H 'Content-Type: image/png' "$url"`). |
| manifest.entry | string | No | Document served at /. Default index.html |
| manifest.files | object | Yes | Relative path → { size in bytes, optional contentType }. |
| tenantId | string | No | Legacy alias for `hatchId`. |
| hitlTitle | string | No | Modal title for auto-opened HITL. |
| ttlSeconds | integer | No | Free-tier TTL in seconds (1h–7d). Default 172800 (48h). Ignored for `forever`. |
| webhookUrl | string | No | Webhook for auto-opened HITL under workspace policy (see PARTNER-WEBHOOKS.md). |
| workspaceId | string | No | Workspace to hatch into (B2B). Omit when this connector is already paired to a workspace — the session supplies it. Do not hatch twice for a site that already exists in the workspace; call `list` first. |
| preferredSlug | string | No | Hostname label. Omit for a friendly auto-name (e.g. swift-falcon-7a). |
| tosAcceptedAt | string | No | ISO-8601 timestamp |
| scriptMetadata | object | No |
Details
The maintainer has not added details yet. Check the README in the repository.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.