# How to host a website made with Cursor

By Avatar 8 (Avatar 8 LLC) · Published November 14, 2026 · https://deed.page/blog/host-a-website-made-with-cursor

To host a website made with Cursor means putting the files Cursor's agent wrote on a server so anyone can open them at a public HTTPS link. On deed.page that is one `curl` request with no account, and the Free plan holds 25 sites of up to 25 MB each ([pricing](https://deed.page/pricing)).

Cursor is a code editor, so the site it builds lives in a folder on your computer. Most guides then send you to a hosting dashboard to drag in a ZIP. The steps below let the agent finish the job from Cursor's terminal or through MCP. Every command was run against production on November 14, 2026 with a 15-minute expiry, and the test sites were then deleted.

## How do I host a website made with Cursor?

Ask Cursor's agent to build the page, then to publish it with this line and tell you the `url` from the reply:

```bash
curl -T index.html "https://deed.page/v1/sites?slug=trip-planner-cursor-k8w3&ref=blog"
```

The reply had `"url": "https://trip-planner-cursor-k8w3.deed.page/"`, `"version": "v1"`, and a `deed_tok_…` owner token shown once. Pick your own suffix; that slug is only an example, and a slug someone else owns returns `409 slug_taken` with a free suggestion ([choosing a slug](https://deed.page/blog/choosing-a-slug)). There is no sign-up, no claim link, and no default expiry.

Cursor's Run Mode decides when a terminal command runs, when Cursor asks first, and when it runs in a sandbox that blocks network access ([Cursor terminal docs](https://cursor.com/docs/agent/tools/terminal)). If the agent asks, approve the `curl` once.

## A built folder (Vite, React, Astro)

Framework projects end with `npm run build` and a `dist/` folder. Pack it with `tar -C` so `index.html` sits at the root, then send it with the token from the first publish:

```bash
tar -C dist -czf site.tar.gz .
curl -T site.tar.gz -H "Authorization: Bearer $DEEDPAGE_TOKEN" \
  "https://deed.page/v1/sites?slug=trip-planner-cursor-k8w3&ref=blog"
```

That returned `"version": "v2"` at the same URL, and `/assets/app.css` served as `text/css`. Sending the same tarball again returned `"unchanged": true` without a new version. deed.page serves static files only, so an app with API routes, a database, or server rendering needs a host that runs a server. Bigger builds go up in parts ([large sites](https://deed.page/blog/plan-upload-large-sites)).

## Host it from Cursor with MCP

If you would rather the agent call a tool than run a shell command, add the deed.page server to `.cursor/mcp.json` in the project, or `~/.cursor/mcp.json` for every project ([Cursor MCP docs](https://cursor.com/docs/context/mcp)):

```json
{
  "mcpServers": {
    "deed-page": { "url": "https://deed.page/mcp" }
  }
}
```

We checked this file with the Cursor CLI (version 2026.11.13): `cursor-agent mcp list` first showed the server as needing approval, `mcp enable deed-page` approved it, and `mcp list-tools deed-page` listed 29 tools with no sign-in step. The publish call looks like this:

```json
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"publish_site","arguments":{"slug":"trip-planner-cursor-mcp-k8w3","files":{"index.html":"<!doctype html><title>Trip planner</title><h1>Trip planner from Cursor</h1>"}}}}
```

It returned `ok: true`, `version: "v1"`, the subdomain URL, and a token. Passing that token to `update_site` gave `v2` at the same address; without it, `update_site` refused with `unauthorized`. Cursor asks before running MCP tools by default. The [MCP walkthrough](https://deed.page/blog/mcp-publish-walkthrough) lists the other tools.

## Make it the project's way to deploy

Cursor reads project rules from `.cursor/rules/*.mdc` and also supports a plain `AGENTS.md` in the project root ([Cursor rules docs](https://cursor.com/docs/context/rules)). One line there stops each chat from hunting for a host:

```text
Deploy: npm run build, tar -C dist -czf site.tar.gz . then curl -T site.tar.gz
with Authorization: Bearer $(cat ~/.config/deed-page/token) to
https://deed.page/v1/sites?slug=<our-slug>. Tell me the url from the reply.
```

Keep the token in a file with `chmod 600` and out of git, not in the rule itself ([token hygiene](https://deed.page/blog/token-hygiene-for-agents)). deed.page stores only its SHA-256 ([trust](https://deed.page/trust)). The [Cursor page](https://deed.page/for/cursor) has a copy-paste prompt.

## FAQ

**Doesn't Cursor host sites itself?**
Cursor's [Apps](https://cursor.com/docs/cloud-agent/apps) feature lets a cloud agent build and host a web app with a database, on paid plans with cloud agents; it does not run locally. Public sharing is off by default for Teams and Enterprise until an admin turns it on (checked November 14, 2026). For a static page anyone can open, a static host like deed.page fits.

**Do I need an account?**
Not on deed.page. The first publish mints an owner token, and that token is the only credential. [Static.app's Cursor guide](https://static.app/cursor-hosting) starts with zipping the build and uploading it, and [flypod](https://flypod.dev/publish-from-cursor) keeps a site made without an account for 14 days, with deploys up to 10 MB and 200 files (both checked November 14, 2026).

**Will the site disappear if nobody visits it?**
No. Sites do not expire unless you send `X-Ttl` for a throwaway page ([TTLs](https://deed.page/blog/ttl-for-throwaway-pages)). Free sites show a small "Published with deed.page" link; Hobby at $3 a month removes it.
