YettyOpen Beta
Docs

Docs & getting started

Make the website you built with AI fully alive - upload it, go live free, connect your AI, and manage everything in plain language. Here's the A→Z.

What is Yetty

You built a website with your own AI - static HTML, CSS and assets. Yetty turns it into a real, managed website: hosting with SSL, content editing, lead capture, SEO, analytics, versioned updates and your custom domain - your design preserved pixel-perfect. You run all of it in plain language, from your AI or a simple dashboard.

Static sites work great (the kind AI tools produce). Full JavaScript app bundles (SPAs) need a static export first.

Quick start

1

Create an account

Free - no credit card, no password. Enter your email and we send a one-click sign-in link.

2

Upload your site

Drag in a zip (index.html at the top). Converting is free up to 50 pages.

3

Go live - free

Publish to a free Yetty address with SSL. Connect your custom domain on the Site plan.

You can do all three from the dashboard, or entirely from your AI over MCP - next section.

Connect your AI (MCP)

The whole platform is one control plane, reachable over the Model Context Protocol. Connect the agentic AI you already use - Claude Code, Cursor, Windsurf, Codex, plus Claude and ChatGPT.

There are two ways to connect - both give your AI the exact same tools:

  • OAuth - no key. In Claude.ai, Claude Desktop or ChatGPT, add yetty as a connector and click Connect: you sign in to Yetty and approve access. Nothing to paste. Jump to connectors →
  • API key. In terminals and editors (Claude Code, Cursor, Windsurf, Codex), paste a key once - steps below.

First time? Connect your AI gives you copy-paste setup for your exact app - pick Claude, Cursor, ChatGPT and more, and it hands your AI the instructions to link yetty.

No account yet? Send first, approve by email

You don’t need to sign up before your AI sends your site. It can park the files with Yetty right away - nothing is processed - and then email you a one-click approval link. You approve, your account is created, the site builds, and your AI gets a key: all without leaving the chat.

The whole flow over MCP - no key, no account needed to start:
  1. yetty_batch_start → returns a park_ref (pk_…).
  2. yetty_batch_file once per file (batch_ref = the pk_…, plus path and content, or content_base64 for images/fonts) - each returns received_bytes + sha256 to verify.
  3. yetty_batch_end - closes the parked batch (still nothing processed).
  4. yetty_signup {email, park_ref} - emails you, the owner, an approval link.
  5. You click it → your free account is created and the site starts building.
  6. yetty_claim_status {park_ref} - once approved, hands your AI an API key (shown once) and the live URL, to reconnect with the full toolset.

Parked files are size-capped and auto-deleted after 48 hours if never approved, so it costs nothing to try. Already have an account? Skip this and connect with your key or OAuth below.

Session expired or connection broken? Your AI signs you back in without any menus: it calls yetty_login {email} (works unauthenticated - even over plain curl if the MCP transport itself is down), you click one emailed link, and yetty_login_status hands it a fresh key with the exact reconnect command.

1 · Get your API key

In the dashboard, open API keysCreate API key. Copy it (shown once) and paste it where the setup says yk_your_key. (Claude.ai / Claude Desktop / ChatGPT users skip this - you connect with OAuth, no key.)

2 · Add yetty to your AI

Just a URL + your key - nothing to install, no files.

Claude Code:

claude mcp add --transport http yetty \
  https://app.yetty.ai/mcp \
  --header "Authorization: Bearer yk_your_key"

Cursor · Windsurf · any MCP client - add an HTTP server:

{
  "mcpServers": {
    "yetty": {
      "url": "https://app.yetty.ai/mcp",
      "headers": { "Authorization": "Bearer yk_your_key" }
    }
  }
}

Claude.ai, Claude Desktop & ChatGPT don’t use a key - they connect with OAuth instead. See connectors below → (A local Python stdio server is available too, for pushing a site from the terminal.)

3 · Just ask

Once connected, talk to your site in plain English:

  • “Upload my site and put it online.”
  • “Add a blog post about our Thursday special - then publish it.”
  • “Connect my domain example.com.”
  • “How many visits this week? Which page is hottest?”
  • “Roll back yesterday's change.”
  • “Check my live site for any broken links before I publish.”

Pushing a site from your AI

Send your real files. When your AI uploads a site, hand it the actual built files - don’t let it re-print or regenerate the HTML. A regenerated copy won’t match your design and will look broken. Yetty runs a fidelity guard that verifies byte counts (and per-file sha256) and echoes back a regeneration_risk flag, so your AI catches this before you go live.

Your AI has three ways to send the files - all transfer your exact bytes and end in the same build:

  • File batch - recommended. No zip needed, and every file is checked: yetty_batch_start → one yetty_batch_file per file (each returns received_bytes + sha256, so your AI can compare against its copy and resend just that one file if it differs) → yetty_batch_end to build. Keep the folder structure in each path (css/style.css); binary files go as content_base64.
  • Chunked zip. Best for chat clients where one big upload won’t fit in a single call: yetty_upload_beginyetty_upload_chunk (~24 KB pieces, sent in order) → yetty_create_site with zip_ref.
  • Single zip. When it fits in one call: yetty_create_site with zip_base64 (the actual site folder, zipped).

Then poll yetty_publish_status(upload_id) until the build is ready, and yetty_publish_site to go live. An upload larger than the free page cap comes back held - call yetty_start_transform to build it (it spends the estimated credits). Updating an already-live site creates a pending version that waits for your OK (see Updates & rollback).

All MCP tools

Most tools take your site’s opaque site token (from yetty_status) - never a numeric id. The send-a-site tools are the exception: they create the site.

ToolWhat it does
Send a site
yetty_create_siteBuild a new managed site (or a new version of one) from your files - hosted byte-true, then given a CMS, leads, SEO, analytics and versioning. Takes zip_base64, or zip_ref (chunked), or the file batch. Runs the fidelity guard; small sites (≤ free page cap) build immediately and free.
yetty_batch_start · yetty_batch_file · yetty_batch_endRecommended. Send a site file-by-file, no zip. Each batch_file returns received_bytes + sha256 to verify; batch_end builds it (or applies it as a new version of an existing site).
yetty_upload_begin · yetty_upload_chunkTransfer a large zip in ~24 KB base64 pieces (exact bytes, no size limit), then call yetty_create_site with zip_ref.
yetty_publish_statusPoll a build by upload_id - stage (held → queued → transforming → transformed), then the new site token + a preview URL.
yetty_start_transformBuild a held upload (one larger than the free page cap); spends the estimated credits. (upload_id)
Publish & manage
yetty_statusYour account, plan, credits and sites - each with its site token, plus a per-site setup report (what's still missing: SEO, social image, domain, leads) so your AI can guide you.
yetty_publish_sitePut a site live on its Yetty address (free). (site)
yetty_site_versionsList/manage versions: publish=<n>, schedule={version,when}, or rollback_to=<n>. Updates stay pending until you publish. (site)
yetty_reprocess_siteRe-run the conversion on a site’s stored files (no re-upload) → a new version to review; your content edits carry over, the live site is untouched until you confirm. (site)
yetty_visual_checkScreenshots the live site and its stored preview at two viewports and pixel-diffs them → diff_pct. 0% = what’s served is exactly what’s stored - byte-true, made visible. (site)
Insights & health
yetty_site_analyticsReal traffic - total + last-N-days views, unique visitors, top pages. (site, days?)
yetty_list_leadsRecent form leads for a site. (site)
yetty_integrationsLead/event destinations: add={kind:webhook|email,target}, remove=<id>, or list. (site)
yetty_check_linksDeterministic health check - fetches the live site and flags internal links that 404. Run it before or after a publish. (site)
yetty_publish_checkFirst-publish readiness checklist: SEO titles + descriptions on every page, social share image, favicon, a lead destination, your custom domain, and (optional) a broken-link scan. Returns pass/fail items. (site, check_links?)
yetty_site_suggestionsProactive review - a friendly, ranked list of standard things that would make the site look more complete (social image, thank-you page, meta descriptions, favicon, custom 404, image alt text). No credits. (site)
Organize your content (Live plan)
yetty_taxonomiesCreate or list categories & tags for your posts and collections. (site)
yetty_termsManage the terms inside a taxonomy - build the tree, then add, rename, move, merge, delete, or import a list. (site, taxonomy)
yetty_assign_termsTag pages or collection items with terms. Staged like a draft - publish with yetty_publish_drafts. (site, object, terms)
yetty_taxonomy_settingsTurn categories & tags on or off - a site-wide switch, per-collection exceptions, and bulk changes that always preview first. (site)
yetty_taxonomy_suggestionsyetty found categories & tags already in your site - review its suggestions before turning them on. (site)
yetty_permalinksYour site’s address book: every collection item and term-page URL. Set a custom address and the old one 301-redirects automatically, so links and rankings survive. (site)

Claude & ChatGPT connectors (OAuth)

No terminal, no key. In Claude.ai, Claude Desktop or ChatGPT, add yetty as a connector and manage your site right in chat - the same actions as the dashboard and the terminal.

  1. Open your AI’s Connectors (Claude: Settings → Connectors; ChatGPT: Settings → Connectors) and choose Add custom connector.
  2. Point it at https://app.yetty.ai/mcp.
  3. Click Connect - you’re sent to yetty to sign in and approve access (OAuth). Approve, and you’re linked.

Then just talk to your site in the chat - “publish my site”, “how many visits this week?”, “roll back yesterday’s change”. You can revoke access any time from your Yetty dashboard.

Manage your site

Everything below works from the dashboard and your AI:

A real editor

Your page’s real sections become editable cards with typed text, link and image fields. Edits save as a draft you preview, then publish - and every publish is a version you can roll back. The design is never touched (byte-true). More →

SEO

Per-page title & meta description with live character counters, plus friendly URLs.

Leads

Every form auto-captured to a lead inbox; email alerts + signed webhooks to Zapier, Make, your CRM or Google Sheets.

Analytics

Real visits, unique visitors, top pages and trends - or just ask your AI “how many visits?”.

Collections

Blog posts, events and projects are recognised as collections and edited as per-item cards - add and remove.

Media & AI images

Swap images, or generate on-brand visuals with AI (Gemini) - choose the size (1K–4K) and aspect ratio, and add reference images so it matches your brand. Runs on credits.

Editing your site

Yetty reads the site you built and turns each page into the real parts you’d recognise - a hero, a features row, a pricing table, a contact form - each named in plain language. You edit those parts directly: no theme to learn, no raw HTML to touch.

  • Sections are your page’s real parts, each named in your own words, so you always know what you’re changing.
  • Lists are cards. Repeating things - blog posts, team members, projects - edit as per-item cards you can add and remove.
  • Typed fields. A link field is a link, an image field swaps the image - no markup, no broken layout.
  • Edits splice back exactly. When you publish, your change slots into your page byte-for-byte - the design is never re-rendered or altered.
  • Re-uploads keep your edits. Ship new code and your saved edits carry over wherever the field still exists; where your code changed the text, the new code wins. Nothing you wrote is quietly lost.

Draft, preview, publish - nothing goes live by accident

Editing never touches your live site on its own. Every change moves through the same safe path:

  1. Save a draft. When you edit a field and save, it’s stored as a draft. Your live site is unchanged - visitors still see the current version.
  2. Preview the pending changes. Open the preview to see your site exactly as it’ll look with the edits applied, before anyone else does. Keep editing and previewing until it’s right.
  3. Publish. When you’re happy, Publish makes the draft live - and records it as a version, so you always have a restore point.
  4. Roll back any time. Changed your mind after it’s live? Roll back to any earlier version in one click. Nothing is ever lost.
From your AI: published content edits are versioned just like uploads - yetty_site_versions(site) lists them, and rollback_to=<n> restores an earlier one. See Updates & rollback.

Integrations & webhooks

Leads are always saved to your inbox. To also deliver them instantly, add a destination in Dashboard → Integrations (or ask your AI): an email, or a webhook that points at Zapier, Make, your CRM, or a Google Sheets Apps Script.

Each event is POSTed as JSON and signed:

POST your-webhook-url
X-Yetty-Signature: sha256=HMAC-SHA256(secret, body)

{
  "event": "lead.created",
  "site_id": 212,
  "form": "contact",
  "data": { "name": "Ada", "email": "[email protected]", "message": "…" },
  "created_at": "2026-08-06T18:20:00Z"
}
From your AI: yetty_integrations(site="<token>", add={kind:"webhook", target:"https://hooks.zapier.com/…"}). Verify the signature with the secret returned when you add it.

Updates & rollback

Changed your site? Re-upload it (or ask your AI to). Yetty saves it as a new version and shows exactly what changed - pages, text, sections, even a hover colour. An update to a live site waits for your OK (the live site is untouched) - review the change summary, then Publish now or Schedule it for later. Don't like it once live? Roll back to any version in one click. Nothing is ever lost.

From your terminal: re-upload with yetty_submit_site(zip_path, site="<token>"); then yetty_site_versions(site, publish=<n>) or schedule={version:<n>, when:"2026-08-09 09:00"}, or rollback_to=<n>.

Your custom domain

Start free on a Yetty address. When you're ready, use your custom domain with the Site plan ($13/site - we don't sell domains; you point your DNS and we serve it with SSL).

  1. Dashboard → Hosting & Domains → Add domain (or ask your AI).
  2. Add the shown DNS records at your registrar (a TXT to verify, an A record, a www CNAME).
  3. Verify - SSL is issued automatically.

Pricing

Converting, going live, and MCP control from any AI are free. $13/site/month adds your custom domain (no badge), full management and monthly AI credits. Need more AI? Credit packs are yours for a year and never reset. Full pricing →

FAQ

Do I have to rebuild my site?

No - Yetty preserves the site you already built, exactly. We add the platform around it.

What if an update breaks something?

It can't sneak up on you: every update is a version with a plain-language changeset, and rollback is one click.

Can my AI really do everything?

Yes - publish, edit, read leads, check traffic, connect a domain and roll back are all available over MCP, and from the dashboard.

Build on Yetty

Ship it. Hand it over. Drive it from your AI.