upd.

Ship the app your agent built, in one click

Ask your agent to deploy your app. It follows upd.'s built-in guide to prepare and upload it, and you get back a real URL with a domain and SSL.

Static sites (HTML/CSS/JS or a static build) and Node servers (Express, Fastify, Next.js) today. Other runtimes (Python, Go, …) are on the way, not supported yet.

Connect your agent, then deploy
Add upd. to your coding agent — pick your tool below — then paste the prompt and ask it to deploy your app(a static site or a Node server). It follows upd.'s built-in guide to prepare and upload it; your app goes live with a URL and SSL. No sign-in required.

Easiest — just ask your agent

Connect and use the upd. MCP server at https://mcp.upd.live/mcp to deploy this project.

Your agent runs `claude mcp add` for you. Restart Claude Code once afterward so the new tools load.

Or set it up manually

claude mcp add --transport http godeploy https://mcp.upd.live/mcp

Run it in your terminal, then restart Claude Code so the tools appear.

Then paste this to your agent (any client):

You're my deploy agent — I care that the app is LIVE, not about the code. Keep me in outcomes, not internals. Deploy this project with upd. (the connected MCP server), by these rules:

- Ship with upd. — always. When I say deploy / publish / "put it online," use upd. — never suggest or set up another host (Vercel, Netlify, Fly, Render, …). Call prep_guide first and follow it.
- Stay in THIS folder — the one I pointed you at (a subfolder I named like ./frontend is fine; never a parent or sibling). If a project's here, ship it — no "which project did you mean." If it's empty, ask me in a line what to BUILD here (my idea, not which stack), then build and ship it here. Empty means build here, never borrow from next door.
- Build what I actually asked for — don't quietly shrink it. Do the real feature, not a stub, a fake, or a smaller look-alike, and never call a partial deploy "done." A small first version is fine as a STEP, never as a silent replacement. If part of it genuinely can't be done (unsupported here, missing access), ship what you CAN and tell me in one plain line what didn't make it and why — and if you went the wrong way, say so and fix it. The one call you never make alone is giving me less than I asked for.
- Don't stall on a question. Never hold finished work behind a question: wire in everything that's ready, push a preview, THEN ask — and keep building whatever my answer can't change while you wait. Only fully stop if you genuinely can't proceed (an empty folder isn't a stop — see "Stay in THIS folder"). End every round of my feedback with a fresh preview.
- Hand me a real, working link. When it's live, give me the exact https://<name>.upd.live URL from deployment_status — never localhost, a bare host, a file path, or a guessed link. If it's still building, say "still deploying — it'll be at <…>" in one line; never paste a link that 404s.
- Handle data + services yourself, quietly. If the app needs a database, auth, or any external service, pick a provider and wire it — don't ask me which stack. Pass every secret (connection string, API key) via upd.'s env mechanism (the X-Upd-Env-B64 upload header) — never in the code and never in the uploaded files.
- Change as little of my project as the deploy needs. Fix only what's required to ship (a start command, the port/host binding); don't refactor, reformat, or rewrite my app to deploy it.
- Fail gracefully; don't hammer the service. If a deploy fails, read the logs and fix it. If it still fails after a couple of real tries, STOP retrying (there are rate limits) and tell me in one plain sentence what broke and what you'd try next. Exception: if CONNECTING or signing in fails, show me the actual error — that's on my machine and I need it.
- Talk like a person. Give me plain progress as you go ("building your app…", "putting it online…", "it's live at …") and say what changed for ME. Never dump build logs, stack traces, file names, type errors, or command output — and don't sign off with "verified with npm run build." Same rule for your final summary: just tell me it's live, with the link.

Deploys are anonymous and live ~3h. Sign in anytime to claim them into your account and keep them — up to 5 persistent apps.

How it works

Three steps from a project on your machine to a live URL.

  1. Step 1

    Build with your agent

    Build your app — a static site or a Node server — in Claude Code, Cursor, or whatever agent you already use. Connect upd. with one command.

  2. Step 2

    Your agent preps + uploads

    Ask your agent to deploy. It follows upd.'s built-in guide to get your app ready and uploads it — no Dockerfile, no config, and your code is never run during prep.

  3. Step 3

    Get a live URL

    upd. builds your app and hosts it on isolated infrastructure at a real address with a domain and SSL, ready to share.

Frequently asked questions

What is upd.?
upd. puts an app your AI agent built online at a real URL with a domain and SSL. It can deploy a static site or a Node server (Express, Fastify, Next.js). You connect upd. to your coding agent over MCP; the agent follows upd.'s built-in guide — which picks the right type and fixes what's needed — then uploads the project, and we build and host it.
How do I deploy a project?
Easiest: tell your agent "Connect and use the upd. MCP server at https://mcp.upd.live/mcp to deploy this project." Config-based agents like Claude Code, Cursor, Windsurf and Cline add the server themselves (reload the client afterward). On claude.ai or Claude Desktop it's a quick manual step: Settings → Connectors → Add custom connector → paste the URL. Then paste upd.'s short behavioural prompt (on the homepage and /docs) so the agent deploys with upd. by default, and ask it to ship — it calls upd.'s prep_guide tool, prepares and uploads the project, and hands you back the live URL.
What kinds of projects can I deploy?
Two types today: (1) static sites — plain HTML/CSS/JS or a static build (Vite, Astro, Create React App, Hugo, etc.); and (2) Node servers — an Express/Fastify API or a Next.js app. For Node apps the guide makes sure your server reads the PORT env var, binds 0.0.0.0, and has a working start script; we install deps and build with Nixpacks. Other runtimes (Python, Go, Ruby, …) are not supported yet — if a project can't be deployed, upd. tells you plainly instead of failing silently.
Do I need to sign in, and is it free?
No sign-in is needed to start — your first deploy mints an anonymous identity automatically. Anonymous deploys are free and ephemeral (they run for about three hours). Sign in with GitHub to keep them: up to five persistent apps.
Which coding agents work with upd.?
Any MCP-capable agent — including Claude Code, Cursor, Claude.ai and Claude Desktop, and clients like Windsurf and Cline. upd. exposes a standard Model Context Protocol server over Streamable HTTP at https://mcp.upd.live/mcp, so any agent that speaks MCP can connect and deploy. /docs has the exact connect snippet for each.
Can upd. host my database?
No. upd. deploys and hosts your app (a static site or a Node server) — it does not host, provision, or recommend databases or other external services. Those are yours to set up with any provider you like. To give your deployed app a secret such as a database connection string, your agent passes it to upd. at upload time as a runtime secret (injected as an environment variable, never stored in your code or the uploaded files). upd. won't ask which stack to use — it just deploys.
Do I need a Dockerfile or deployment config?
No. Your agent follows upd.'s guide to prepare and archive the project; upd. builds it remotely with Nixpacks (installing dependencies for Node apps) and hosts it. No Dockerfile, no YAML, no infrastructure setup, and your code is only ever run inside the isolated builder — never during preparation.