Nippy provides AI-powered static website hosting, allowing agents to publish HTML files, images, and downloadable assets to live URLs, update existing websites without changing their links, manage site files, and create temporary preview deployments.
Encrypted at rest, isolated from the model
Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.
Try asking
Publish files as a new PERMANENT website on nippy.site — returns the live URL, no expiry. Use only when the user clearly wants a lasting result; for drafts, iterations, or unclear intent, publish_preview is the right verb (cheap to discard, easy to keep). For a single-page artifact, pass one file named index.html. Small binaries (images, PDFs) go inline with encoding="base64"; anything bigger via start_upload. The free plan hosts 1 live site (25 MB); errors state limits honestly — relay them.
Update files on an existing site in place — the URL stays the same. Only the listed files change; pass deletePaths to remove files. Small binaries go inline with encoding="base64"; bigger ones via start_revision.
Start publishing a NEW site with files of any type and size (binaries included): declares the files and returns presigned PUT URLs to upload the bytes directly. The PUT URLs point at Cloudflare R2 storage (hosts under r2.cloudflarestorage.com) — sandboxed environments must allow egress to that domain. For small text or base64 files, publish_site is simpler. Complete with finalize_upload, or abandon with abort_upload.
Start updating an EXISTING site with files of any type and size: returns presigned PUT URLs for the declared files; deletePaths removes files in the same revision. Complete with finalize_upload, passing the same siteId there.
Finish a start_upload or start_revision batch after every file has been PUT. Verifies each declared file landed at its exact size; failures list what is missing or mismatched, and a rejected batch must be started again.
Abort a pending batch from start_upload or start_revision — nothing is published and the staged bytes are cleaned up. Use when an upload went wrong instead of leaving the batch to time out (15 minutes). Pass previewId for a preview batch.
Combined OVERVIEW of everything published from this Nippy account, in two groups: permanent sites (no expiry) and temporary previews (expiry times shown). Each group is truncated to the first 10, with totals — for a complete list of one kind, use list_permanent_sites or list_previews.
COMPLETE list of the permanent sites on this Nippy account (no expiry) — previews are not included. For a combined overview of sites and previews, use list_sites.
COMPLETE list of the temporary previews on this Nippy account, with expiry times — permanent sites are not included. For a combined overview of sites and previews, use list_sites.
List the files currently on a site (siteId) or a preview (previewId) — pass exactly one.
Read a text file (≤1 MB) from a site (siteId) or a preview (previewId) — pass exactly one. Useful before editing with update_site / update_preview.
Publish files as a TEMPORARY preview at a random <slug>.preview.nippy.site address. It serves for 24 hours; every update_preview resets the clock and keeps the same URL — prefer updating an existing preview over minting a new one, unless the user asks for a fresh address. Use this for drafts, iterations, and unclear intent: when unsure between site and preview, a preview is the cheap mistake — tell the user how to make it permanent, or ask. Free accounts hold up to 5 active previews; paid plans have no cap.
Update files on an existing preview — same URL, and its 24-hour clock resets. Only the listed files change; pass deletePaths to remove files. Prefer this over publishing a new preview when iterating.
Make a preview permanent. Pass name to mint a NEW site from its files (slot-gated), or siteId to replace an EXISTING site’s content wholesale (address and settings unchanged) — exactly one of the two. The preview URL keeps working as a permanent redirect to the site. Works on live previews and on expired ones still in their grace window.
Discard a preview immediately — its URL stops serving and its files are deleted. Previews also expire on their own after 24 hours, so this is only needed to free a cap slot early or retire a shared link.
Check whether a site name (subdomain of nippy.site) is available.
Set the SEO title/description of a site (paid plans).
Password-protect a site (paid plans). Visitors need the password to view it.
Remove a site's password protection.
Allow or disallow search engines indexing a site (opt-out is a paid feature).
Visitor analytics for a site over an ISO date range (paid plans).
One endpoint, the same key, whichever client you use.
~/Library/Application Support/Claude/claude_desktop_config.json (Mac) · %APPDATA%\Claude\claude_desktop_config.json (Windows)
Replace API_KEY with your own key.
Already have an "mcpServers" section in your config? Just add the server entry inside it.
Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you
Nippy MCP runs through a gateway that holds the credentials, scopes the access and records every call.
Managed auth, hosted MCP servers, and every Gmail tool your agent needs.
Free to start.