Nestling
For the thing you made tonight.
€0/month
- ✓3 apps
- ✓a bird-named tori.cloud URL
- ✓Uploads up to 50 MiB per deploy
- ✓64 MiB database, 5 connectionspreview
- ✓Builds up to 10 minutes long
Your AI wrote the app. Tori puts it online — one command or one MCP call, a real URL, HTTPS included. Run in the EU by an EU company on its own hardware — not a US cloud’s EU region.
Okay, two steps. Building the thing is the fun part — shipping it shouldn't be the hard part.
Vibe-code your app in Claude Code, Cursor — wherever. A static site or a server with a Dockerfile. Plain HTML counts.
Run npx tori.host. The first time, it opens your browser so you can sign in. After that, no questions and no config — that’s the entire setup.
Your app is live at a bird-named URL like crimson-finch.tori.cloud, with HTTPS. Send the link to someone you like.
Tori is an MCP server too. Add it once — then “put this online” becomes something your AI can just do.
That’s the Claude Code command from the docs. Any MCP host that runs stdio servers starts it the same way: npx -y tori.host mcp.
> put this online
● I’ll ship it with Tori.
⏺ tori_deploy()
⎿ ✓ live at https://crimson-finch.tori.cloud
Done — your app is on the internet. Want a custom domain next?
Tori is run by Fortion Networks, a Czech company. The servers, the edge, the storage and the backups — everything that serves your app and keeps its data — are its own hardware, in the EU. New apps land in the EU, and Tori has no location outside it.
Your agent writes fast and isn’t always right. Tori keeps each app sealed off, keeps recent versions to roll back to, and hands the errors back.
Every server app runs in a sandbox of its own, sealed off from other customers’ code — whatever your agent wrote, and whatever theirs did.
A new version takes traffic only once it’s up. If it won’t start or its migration step fails, the previous version keeps serving. Migrations that already ran stay.
Recent deploys are kept. Pick one in the console’s deploy list and roll back to it.
tori logs prints what your app wrote — and so does Tori’s MCP server, in preview. The error goes back to the AI that can fix it.
On every plan, your server apps get a database, copied every night. A restore lands in a separate copy, and the password goes to your app — never to your agent.
Every app gets HTTPS. On Songbird and Flock, add your own domain: Tori names the exact DNS record to create and fetches the certificate.
A static site ships from dist/, build/, out/ or _site/ — or after npm run build. A server app builds from its Dockerfile, or from the language Tori detects.
Server apps doze off when nobody visits and wake on the next request — on every plan. Static sites don’t nap: there’s nothing to wake.
One price a month and no surprise bills. Upgrade when your apps outgrow the nest.
For the thing you made tonight.
€0/month
For people who keep making things.
€9/month
or €90/year
Upgrade in the console when paid plans open.
Start freeFor when one app turned into a lot of them.
€29/month
or €290/year
Upgrade in the console when paid plans open.
Start freeEvery plan: served from the EU, HTTPS, recent deploys kept for rollback, server apps that nap when idle and wake on the first request, and a bird who roots for you.
The plan limits come from the same table the API enforces.
New apps run in Prague, EU — Tori’s first location. More EU locations are planned.
Generally available today.
Works, and may still change before it is generally available.
Not something you can use yet.
A browser
Someone opens your app’s address.
DNS
Name servers in the EU answer with the address of your app’s location. With your own domain name, your DNS provider answers first and points here.
Tori load balancer · Prague, EU
A redundant pair takes the connection. No CDN or outside proxy sits in front of it.
Your app
A server app runs isolated from other customers’ code. A static site is served straight from storage.
Tori storage & backups
Your app’s files and data, and any backups of them, stay here.
From the load balancer on, every step is run by Fortion Networks, on its own hardware.
The plan limits on this page come from the same table the API enforces, not from a copy made for the page.
Short answers to what people ask first. Each one links to the documentation it comes from.
Because what matters is who runs it, not where it runs. Vercel is a US company, and its EU region is still its own cloud. Tori is run by Fortion Networks, an EU company, on its own hardware in the EU.
Docs: What is availableNew apps run in Prague, EU — Tori’s first location. More EU locations are planned. Fortion Networks runs the servers, the load balancers, the storage and the backups, on its own hardware.
Docs: What is availableA server app does, on every plan today: after a while with no requests it naps, and the next request wakes it, which can add a short delay. A static site doesn’t — nothing runs, the files are served straight from storage.
Docs: Idle apps take napsYes — your code stays yours. A static site is your own files, and a server app is your source code, your Dockerfile or a container image you bring, so it can run somewhere else. The managed database (Preview) keeps nightly dumps, but you cannot download one yourself yet: today they are restored only inside Tori.
Docs: Dumps and restoreBoth are Preview: they work today, but they are not generally available yet and may still change. MCP lets your coding agent deploy through the same API as the CLI; the managed database is for server apps, not static sites.
Docs: MCP for coding agentsNot yet. You deploy with the CLI — npx tori.host — from your own machine or from CI with an API token, or your coding agent deploys through MCP (Preview).
Docs: Deploy from CIBring the thing you made. Free to start, no card.