upd.

This page is for your AI agent

Paste your agent the connect command below

upd. exposes an MCP server. Add it to any MCP-capable agent, then ask the agent to deploy your project. MCP endpoint (Streamable HTTP): https://mcp.upd.live/mcp

Claude Code — one command:

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

Generic MCP client — add to your mcpServers config:

{
  "mcpServers": {
    "godeploy": {
      "type": "http",
      "url": "https://mcp.upd.live/mcp"
    }
  }
}

What is upd.?

upd. takes a project your AI agent built — a local folder or a git repo — and ships it to a live URL with a domain and SSL. Your agent calls our MCP tools to deploy and manage it.

Deploys are anonymous by default — no sign-in needed; a token is auto-minted on first deploy. Anonymous deploys are ephemeral (~3h, served on *.fly.dev). Sign in (login / claim_link) to keep them: up to 5 persistent apps.

Prepare before you ship

Before shipping, upd. can prepare a project: your agent researches it locally (it has the code + the compute), calls assess_project with the findings, and gets back either an ordered fix list to apply or a 'ready' plan. deployment_plan turns a ready assessment into a concrete plan to confirm; then you deploy. upd. never runs or unpacks your code during assessment.

Resource: godeploy_prep_guide (godeploy://prep-guide) — the agent SOP: how to detect the stack, the readiness checklist, and the exact assess_project input shape.

Tool reference

Once connected, the agent has these tools. Every deploy/list/status/redeploy/destroy tool returns the same object:

{ id, name, status, url, source, isAnon, expiresAt, createdAt }
deploy_local
Deploy the project folder you are working in to a live URL (packs + uploads it; no git required).
When: The user says 'deploy this', 'ship it', 'put it online' while you are in their project.
deploy_git
Deploy a PUBLIC git repository (optionally a subfolder) to a live URL.
When: The user gives you a public repo URL to deploy.
assess_project
Send the findings YOUR agent researched locally; upd. validates them (it never sees your code) and returns either an ordered fix list or a 'ready' plan reference + a proposed power class.
When: Before deploying, to check a project is ready to ship — and again after you apply the fixes it returns.
deployment_plan
Turn a 'ready' plan reference into a concrete plan to confirm with the user: power class, memory, ephemeral vs persistent, expected URL, and the steps that will run.
When: After assess_project returns 'ready', just before you deploy.
deployment_status
Return one deployment's current status and live url. Poll after a deploy until status is 'deployed'.
When: You need the live URL, or to know whether a build finished.
list_deployments
List the user's ACTIVE deployments (live + building), newest first.
When: Recovering state in a fresh session, or the user asks 'what have I deployed / which are live'.
destroy_deployment
Permanently take one of the user's deployments down and free its slot.
When: The user says 'take it down', 'delete that app', or 'stop it'.
redeploy
Update an existing git/repo deployment with the latest code, reusing the SAME app and url. (Upload deployments: re-run deploy_local instead.)
When: The user says 'update it', 'redeploy', or 'ship my latest changes'.
account_status
Return { identity: anon|account, githubLogin, liveApps, maxApps, slotsRemaining, soonestExpiry }.
When: 'Am I logged in', 'how many apps can I have', or before deploying when you might be at the limit.
login
Link this machine to a GitHub account via a browser device-code sign-in, claiming its anonymous apps into a permanent account.
When: The user says 'log me in', 'sign in to upd.', or 'claim my account'.
claim_link
Return one link the user opens to save their anonymous (ephemeral) deploys into a permanent GitHub account.
When: The user wants to keep an anonymous project, or you see it is about to expire.
deployment_logs
Fetch build + runtime logs for a deployment (including the build error if it failed).
When: A deploy failed or the app misbehaves and you need to debug it.
Machine-readable summary: /llms.txt