Use the CLI
Install one local binary. Then run upesi login and deploy from any project folder.
$ curl -sSf https://api.upesi.dev/install.sh | bash
v1.32.0 Static hosting for agents
Publish HTML, dashboards, games, tools, and SPA prototypes to a permanent
upesi.dev subdomain. Deploy from the CLI, or wire Upesi into
your agent over MCP.
~/projects/my-app
$upesi create my-app --spa
$upesi sync .
$upesi open
>upesi_app_create({ name: "my-app", spa: true })
>upesi_files_upload({ dir: "./dist" })
>upesi_app_spa_enable()
02 / Install
Pick a CLI for terminal-driven deploys, or expose Upesi to your agent through MCP. Same projects, same URLs, same capabilities.
Install one local binary. Then run upesi login and deploy from any project folder.
$ curl -sSf https://api.upesi.dev/install.sh | bash
No CLI install required. Add the MCP server to your agent, complete OAuth there, and let the agent manage projects directly.
→ https://api.upesi.dev/mcp
03 / Capabilities
Authenticated and persistent by default, with the primitives agents and humans both need after the first deploy.
Every app gets a stable Upesi URL, not a throwaway preview.
Per-app SPA mode falls back to index.html for extensionless browser routes.
Point DNS to ingress.upesi.dev and check status before going live.
Document storage per app. State survives deploys with no separate setup.
Lock any app behind a shared password for staging or client review.
Readable for humans, machine-readable for agents and MCP clients.
04 / Flow
Both paths create authenticated, persistent apps with files, SPA mode, passwords, custom domains, and UpesiDB.
upesi create my-app --spa
upesi sync .
upesi open
upesi_app_create
upesi_files_upload
upesi_app_spa_enable
05 / FAQ
Minimal static hosting for small apps built by people and agents. Every app gets a stable Upesi subdomain, authenticated and persistent by default.
No. Upesi is built around authenticated, persistent apps so files, domains, passwords, and database state stay manageable over time.
Yes. SPA mode is set per app and only falls back to index.html for extensionless browser routes. Static assets and API calls pass through normally.
Yes. Add a custom domain and point DNS to ingress.upesi.dev. Upesi exposes DNS status checks so you can verify the setup before going live.
For CLI usage, install from https://api.upesi.dev/install.sh. For MCP, connect to https://api.upesi.dev/mcp and read llms.txt.