Hatch
Qué hace este MCP
Publishes, updates, protects, shares, and manages hosted websites and agent-generated artifacts, including static files and server-side code.
Herramientas
Esquema de entrada
{'type': 'object', 'properties': {'mode': {'enum': ['password', 'useraccounts'], 'type': 'string', 'description': '`password` = one shared site password (recommended). `useraccounts` is unavailable. Required when `action` is `enable`.'}, 'action': {'enum': ['enable', 'disable', 'setPassword', 'status'], 'type': 'string', 'description': 'What to do. Defaults to `status`.'}, 'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'password': {'type': 'string', 'description': 'The shared site password (password mode only). Required for `enable` (password mode) and `setPassword`.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId` from the original hatch response.'}, 'sessionToken': {'type': 'string', 'description': 'Optional paired session token from poll_pairing (when Authorization headers are unavailable).'}}}
Esquema de entrada
{'type': 'object', 'properties': {'title': {'type': 'string', 'description': 'Modal heading (default: Finish your review).'}, 'policy': {'enum': ['required', 'good_effort'], 'type': 'string', 'description': 'Policy override when hatch has none set (idempotent with auto-opened HITL).'}, 'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'options': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'Radio choices (default Approve, Request changes, Reject). Labels are classified into approve / reject / changes_requested.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'contextUrl': {'type': 'string'}, 'webhookUrl': {'type': 'string', 'description': 'HTTPS URL that receives a POST on every HITL transition (decision.resolved, decision.changes_requested, timeout, superseded, etc.). Prefer this over poll_decision when wiring n8n, Temporal, or other automation — MCP creates the review; the webhook delivers the outcome. Full payload: PARTNER-WEBHOOKS.md.'}, 'agentOutput': {'type': 'string', 'description': 'Optional seed of the agent’s current output into the conversation transcript.'}, 'sessionToken': {'type': 'string'}, 'maxIterations': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max review rounds (default 5). Requesting changes at the last iteration fails with max_iterations_exceeded.'}, 'timeoutSeconds': {'type': 'integer', 'maximum': 604800, 'minimum': 60, 'description': 'Wall-clock timeout for this review round; omit for no timeout.'}}}
Esquema de entrada
{'type': 'object', 'properties': {'grant': {'enum': ['publish', 'record', 'credit_topup', 'workspace_coin_pack', 'workspace_subscription', 'agentic_pro', 'custom_domain'], 'type': 'string', 'description': 'Optional filter. `publish` = Pin. `workspace_coin_pack` = Pack. `workspace_subscription` = Roost. `agentic_pro` = Roost Audit. `custom_domain` = custom domain add-on.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['grant'], 'properties': {'grant': {'enum': ['publish', 'record', 'credit_topup', 'workspace_coin_pack', 'workspace_subscription', 'agentic_pro', 'custom_domain'], 'type': 'string', 'description': '`publish` = Pin ($4.99/yr, 1-year keep; also overage after 10 subscription Pins). `workspace_subscription` = Roost ($259/mo). `agentic_pro` = Roost Audit ($459/mo). `workspace_coin_pack` = Pack ($4.99/yr per GB). `custom_domain` = +$29/mo on Roost / Roost Audit.'}, 'orgId': {'type': 'string', 'description': 'Organization id. Required for Roost Audit (`agentic_pro`) unless derivable from workspace/hatch.'}, 'hatchId': {'type': 'string', 'description': 'Hatch id from hatch/lookup. Required for publish (Pin), record, credit_topup, and Pack.'}, 'priceId': {'type': 'string', 'description': 'Optional Stripe Price id from `catalog`. Omit to use the mapped default for this grant.'}, 'quantity': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Line-item quantity (Pack GB, custom domain slots). Default 1.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'workspaceId': {'type': 'string', 'description': 'Workspace id. Required for Roost (`workspace_subscription`) and custom_domain.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['decisionId'], 'properties': {'title': {'type': 'string'}, 'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'decisionId': {'type': 'string'}, 'agentOutput': {'type': 'string', 'description': 'Summary of the revised output for the conversation transcript.'}, 'sessionToken': {'type': 'string'}, 'timeoutSeconds': {'type': 'integer', 'maximum': 604800, 'minimum': 60, 'description': 'Optional new timeout for this review round.'}}}
Esquema de entrada
{'type': 'object', 'properties': {'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'newTier': {'enum': ['free', 'forever'], 'type': 'string', 'description': 'Roost / Roost Audit may pass `forever` while subscription Pins remain (10). After the allotment, use `checkout` (grant: publish) for a paid Pin.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'customDomain': {'type': 'string', 'description': 'Customer-owned hostname. Roost / Roost Audit only, after checkout grant custom_domain (+$29/mo). Pass an empty string to clear.'}, 'sessionToken': {'type': 'string', 'description': 'Optional paired session token from poll_pairing (when Authorization headers are unavailable).'}, 'galleryListed': {'type': 'boolean', 'description': 'Opt in (`true`) or out (`false`) of the public Barnyard carousel. Pins require `true` to appear; free is listed unless `false`. Paid Roost hatches (`tier: workspace`) are never listed.'}, 'newPreferredSlug': {'type': 'string', 'description': 'New hostname label. The old slug is released atomically.'}}}
Esquema de entrada
{'type': 'object', 'required': ['workerName', 'script'], 'properties': {'policy': {'enum': ['required', 'good_effort'], 'type': 'string', 'description': 'HITL policy override. Under `required`, may fork a sibling `{slug}-vN`.'}, 'script': {'type': 'string', 'description': 'Full ES module source.'}, 'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'hitlTitle': {'type': 'string', 'description': 'Modal title for auto-opened HITL.'}, 'approvalId': {'type': 'string', 'description': 'Tier-2 phone approval id from a prior deploy attempt.'}, 'webhookUrl': {'type': 'string', 'description': 'Webhook for auto-opened HITL.'}, 'workerName': {'type': 'string'}, 'sessionToken': {'type': 'string', 'description': 'Optional paired session token from poll_pairing (when Authorization headers are unavailable).'}}}
Esquema de entrada
{'type': 'object', 'properties': {'hatchId': {'type': 'string', 'description': 'Hatch id from hatch response (consumer path).'}, 'forceNew': {'type': 'boolean', 'description': 'When true, invalidate any outstanding QR and mint a new code. Default false — reuse the live pending code from whoami or a prior get_pairing_code.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'workspaceId': {'type': 'string', 'description': 'Workspace id for B2B agent pairing (partner path).'}}}
Esquema de entrada
{'type': 'object', 'required': ['tier'], 'properties': {'apex': {'enum': ['theroost.dev', 'theroost.homes', 'theroost.estate', 'theroost.land', 'theroost.wedding', 'theroost.events', 'theroost.agency', 'theroost.site'], 'type': 'string', 'description': '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).'}, 'html': {'type': 'string', 'description': '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': ['site', 'run-report'], 'type': 'string', 'description': 'Artifact kind. Use `run-report` for agent observability / compliance run reports; default `site` for consumer sites.'}, 'site': {'type': 'object', 'required': ['files'], 'properties': {'entry': {'type': 'string', 'description': 'Document served at /. Default index.html'}, 'files': {'type': 'object', 'description': 'Relative path → contents. Text (UTF-8) for .html/.css/.js/.json/.svg; base64 (optionally prefixed `base64:`) for binary.', 'additionalProperties': {'type': 'string'}}}, 'description': '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.'}, 'tier': {'enum': ['free', 'forever'], 'type': 'string', 'description': '`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.'}, 'policy': {'enum': ['required', 'good_effort'], 'type': 'string', 'description': 'HITL policy override for workspace-paired hatches. `required` forks sibling `{slug}-vN` roosts when review is outstanding or approved; `good_effort` overwrites in place and supersedes open HITL. Inherits workspace default when omitted.'}, 'script': {'type': 'string', 'description': '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': {'type': 'string', 'description': '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': {'type': 'object', 'required': ['files'], 'properties': {'entry': {'type': 'string', 'description': 'Document served at /. Default index.html'}, 'files': {'type': 'object', 'description': 'Relative path → { size in bytes, optional contentType }.', 'additionalProperties': {'type': 'object', 'required': ['size'], 'properties': {'size': {'type': 'integer', 'minimum': 0}, 'contentType': {'type': 'string'}}}}}, 'description': '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"`).'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'hitlTitle': {'type': 'string', 'description': 'Modal title for auto-opened HITL.'}, 'ttlSeconds': {'type': 'integer', 'maximum': 604800, 'minimum': 3600, 'description': 'Free-tier TTL in seconds (1h–7d). Default 172800 (48h). Ignored for `forever`.'}, 'webhookUrl': {'type': 'string', 'description': 'Webhook for auto-opened HITL under workspace policy (see PARTNER-WEBHOOKS.md).'}, 'workspaceId': {'type': 'string', 'description': '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': {'type': 'string', 'description': 'Hostname label. Omit for a friendly auto-name (e.g. swift-falcon-7a).'}, 'tosAcceptedAt': {'type': 'string', 'description': 'ISO-8601 timestamp'}, 'scriptMetadata': {'type': 'object', 'additionalProperties': True}}}
Esquema de entrada
{'type': 'object', 'properties': {'workspaceId': {'type': 'string', 'description': 'Workspace to list. Omit when the session is already scoped to a workspace.'}, 'sessionToken': {'type': 'string', 'description': 'Optional paired session token from poll_pairing (when Authorization headers are unavailable).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'slug': {'type': 'string', 'description': 'Hostname label (without the apex domain)'}, 'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['approvalId'], 'properties': {'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'approvalId': {'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'description': 'Checkout Session id (`cs_…`) from `checkout`.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['decisionId'], 'properties': {'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'decisionId': {'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': 'Pairing code from get_pairing_code / whoami.'}, 'hatchId': {'type': 'string', 'description': 'Optional hatch id — improves lookup after the phone has approved.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'workspaceId': {'type': 'string', 'description': 'Optional workspace id — for B2B pairing flows.'}}}
Esquema de entrada
{'type': 'object', 'required': ['refreshToken'], 'properties': {'hatchId': {'type': 'string', 'description': 'Hatch id (consumer path).'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'workspaceId': {'type': 'string', 'description': 'Workspace id (B2B path).'}, 'refreshToken': {'type': 'string', 'description': 'Opaque refresh token from poll_pairing (vr1.{grantId}.{secret}).'}}}
Esquema de entrada
{'type': 'object', 'properties': {'orgName': {'type': 'string', 'description': 'New organization display name (1–80 characters). Omit to leave the org name unchanged.'}, 'workspaceId': {'type': 'string', 'description': 'Workspace to rename. Omit when the session is already scoped to a workspace.'}, 'sessionToken': {'type': 'string', 'description': 'Optional paired session token from poll_pairing (when Authorization headers are unavailable).'}, 'workspaceName': {'type': 'string', 'description': 'New workspace display name (1–80 characters). Omit to leave the workspace name unchanged.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'sessionToken': {'type': 'string'}, 'expiresSeconds': {'type': 'integer', 'maximum': 604800, 'minimum': 300}}}
Esquema de entrada
{'type': 'object', 'required': ['manifest'], 'properties': {'policy': {'enum': ['required', 'good_effort'], 'type': 'string', 'description': 'HITL policy override. Under `required`, may fork a sibling `{slug}-vN` instead of overwriting.'}, 'hatchId': {'type': 'string', 'description': 'Hatch id from the original hatch response.'}, 'manifest': {'type': 'object', 'required': ['files'], 'properties': {'entry': {'type': 'string', 'description': 'Document served at /. Default index.html'}, 'files': {'type': 'object', 'description': 'Relative path → { size in bytes, optional contentType }.', 'additionalProperties': {'type': 'object', 'required': ['size'], 'properties': {'size': {'type': 'integer', 'minimum': 0}, 'contentType': {'type': 'string'}}}}}}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId` from the original hatch response.'}, 'hitlTitle': {'type': 'string', 'description': 'Modal title for auto-opened HITL.'}, 'webhookUrl': {'type': 'string', 'description': 'Webhook for auto-opened HITL.'}, 'sessionToken': {'type': 'string', 'description': 'Optional paired session token from poll_pairing (when Authorization headers are unavailable).'}, 'expiresSeconds': {'type': 'integer', 'maximum': 604800, 'minimum': 60, 'description': 'URL TTL in seconds (default 3600).'}}}
Esquema de entrada
{'type': 'object', 'properties': {'hatchId': {'type': 'string', 'description': 'Optional hatch to check or re-pair against.'}, 'tenantId': {'type': 'string', 'description': 'Legacy alias for `hatchId`.'}, 'sessionToken': {'type': 'string', 'description': 'Optional token from poll_pairing. Pass when whoami stays unidentified after a successful pair (connectors that cannot set Authorization headers).'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
shiply
Publishes and manages web applications with SQL databases, serverless functions, domains, email tests, client intake, contracts, …
Fine Structure
Builds and hosts full-stack applications from prompts and supports agent communication through WhatsApp and email.
mcp
Provisions and manages cloud instances, networks, storage, databases, backups, VPNs, application deployments, and autocoding-agen…
EchoRelay
Manages a hosted API relay runtime, including projects, endpoints, credentials, publishing, keys, delivery logs, and dead-letter …
Supero
Builds, validates, publishes, tests, and deploys multi-tenant applications with schemas, CRUD operations, external data connector…
Replicate
Provides access to Replicate models, versions, collections, hardware, predictions, and deployments for running and managing hoste…
Relin
Configures webhook sources and destinations, monitors delivery health, investigates failures, manages retries, and replays events.
Scalix Cloud
Provides managed databases, SQL tools, container builds, persistent Linux machines, domains, scheduled functions, storage, and pr…