GuidesDevelopers

Deploy a website from Claude Code, Cursor, Codex or Copilot

Your coding agent built the site. Let it ship it too. The first deploy needs no account. Keep the link, connect once, and any AI can keep editing the site.

  • 7 min read
  • Last checked

In short

  • First deploy, no account: ask your agent to Deploy on PageLemon.com. It uploads the build output.
  • Open the keep link and sign in to keep the site. Tick Connect my AI and the agent can keep editing it.
  • For every site you own, add the remote MCP server https://mcp.pagelemon.com/mcp and sign in once.
  • Static output only: HTML, CSS, JS, images. Server code and databases don't run.
  • In CI or on a machine without a browser, use an API key in an environment variable.

Publish, keep, connect, edit

  1. Publish. Ask your agent to launch the site. No account needed. It stays up for 72 hours.
  2. Keep it. The agent gives you a keep link. Open it, sign in and press Keep.
  3. Connect once. Tick Connect my AI on the keep screen. Within 15 minutes the agent can take a key for that one site and edit it. Or add the MCP server (below) for all your sites.
  4. Keep editing. Any connected AI, in any session, updates the same address.

The first deploy needs no setup

Agents with a shell (Claude Code, Codex, Cursor's agent, Copilot in agent mode) can publish without any account. Ask:

  • Deploy on PageLemon.com

The agent fetches the publishing guide for AIs, runs your build, and uploads only the output folder (dist, build, out). Under the hood it's one request:

Anonymous deploy

node -e 'const fs=require("fs"),p=require("path"),d="dist",files=[];(function w(x){for(const e of fs.readdirSync(x,{withFileTypes:true})){const f=p.join(x,e.name);e.isDirectory()?w(f):files.push({path:p.relative(d,f).split(p.sep).join("/"),content_base64:fs.readFileSync(f).toString("base64")})}})(d);console.log(JSON.stringify({files}))' | curl -sS --fail-with-body -H "Content-Type: application/json" --data-binary @- https://api.pagelemon.com/v2/anonymous-sites

The reply has the live URL, a site token for updates and a private keep link. The site stays up for 72 hours unless you open the keep link and sign in. The site token stops working once you keep the site. The agent writes .pagelemon.json (and adds it to .gitignore) so the next session updates the same site.

Add the MCP server for everything else

With the MCP server, the agent works with all your sites through tools rather than shell commands: deploy (full or patch), get_site, list_versions, rollback, domains, passcodes, forms and more. Sign-in is OAuth in your browser. It works on every plan.

Claude Code

Terminal

claude mcp add --transport http pagelemon https://mcp.pagelemon.com/mcp

Then run /mcp in Claude Code, pick pagelemon and sign in.

Codex

Terminal

codex mcp add pagelemon --url https://mcp.pagelemon.com/mcp
codex mcp login pagelemon

Cursor

Add this to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project), then sign in from the MCP section of Cursor's settings:

mcp.json

{
  "mcpServers": {
    "pagelemon": {
      "url": "https://mcp.pagelemon.com/mcp"
    }
  }
}

GitHub Copilot in VS Code

Works with Copilot Free too. Add this to .vscode/mcp.json, click Start above the server and allow the sign-in. Use Copilot Chat in agent mode. On Copilot Business or Enterprise, your organisation may have turned MCP servers off.

.vscode/mcp.json

{
  "servers": {
    "pagelemon": {
      "type": "http",
      "url": "https://mcp.pagelemon.com/mcp"
    }
  }
}

Antigravity, Gemini CLI, Windsurf, Cline and Trae: see Connect a coding tool. Check it works by asking "What sites do I have on Page Lemon?"

Updating without clobbering someone else's change

Every update carries the version number it was based on. If the live site moved on in the meantime (a teammate, or you from another chat), the publish returns version_conflict and publishes nothing. The agent reads the live files, tells you what changed and merges only after you say so. Small edits can go up as a patch: only the changed files plus a list of deleted paths.

Undo is a rollback to an earlier version, which goes live as a new version. How far back you can go depends on your plan.

Tokens, CI and machines without a browser

Make an API key in the Dashboard, under Connect your AI. Give it the deploy scope unless the job really needs to manage domains or people. Keys start with plak_ and are shown once.

Deploy with a token

curl -sS -H "Authorization: Bearer $PAGELEMON_KEY" -H "Content-Type: application/json" -d '{"workspace": "<workspace>", "name": "my-site"}' https://api.pagelemon.com/v2/sites

That makes a site in your account with no expiry. Then upload each file and publish them as a version, with base_version set to the live version when you update from CI; the REST API reference has the details. Keep the token in your CI's secret store. Never put it in .cursor/mcp.json, .vscode/mcp.json or any file you commit.

What gets uploaded, and what doesn't

  • Upload the build output only. Single-page apps work: a path with no file extension falls back to index.html unless you ship a 404.html.
  • Skipped automatically: .git/, node_modules/, .env*, source maps, .pem and .key files, and other dotfiles.
  • Secret check: an upload that contains a recognised secret key is refused, not published.
  • Not supported: server code (Node, PHP, Python) and databases. Forms and bookings come as hosted plugins that post to Page Lemon instead.

Size and rate limits by plan: Limits.

Questions

Do I need an account?

Not for the first deploy. To keep a site past 72 hours, or to use the MCP server with all your sites, you sign in (Google or email). See pricing for what a kept site includes.

Does it work with Next.js, Astro or Vite?

Yes, as long as the output is static: a static export, or a Vite build. Publish the folder the build produces. Server-side rendering and API routes don't run.

Can the agent connect a custom domain?

Yes, with the MCP server signed in and a paid plan. It returns a one-click Connect link where your DNS host supports it, otherwise the records to add.

Which transport does the MCP server use?

Streamable HTTP. Use https://mcp.pagelemon.com/mcp for coding tools and chat apps alike. Details: MCP server and tools.

Ship it from your terminal.

Ask your agent: Deploy on PageLemon.com. It builds, uploads the output folder and replies with the link.

Want it to update the same site next week? Add the MCP server once.