Decision guide
Percher or Vercel?
Vercel is the production hosting platform for Next.js — fast global edge, deep Git integration, and a polished serverless runtime tuned by the team that maintains Next.js itself. Both Vercel and Percher ship MCP servers for AI assistants today; the real difference is depth. Percher is built around MCP as the primary deploy surface — 42 tools covering publish, logs, env, rollback, doctor, backups, domains and GitHub-connect, plus a typed `recovery.nextAction` contract so failed deploys chain into the next tool call automatically. Pricing is flat per account (€0 / €3 / €12 / €29) with no bandwidth meter. If you're shipping a serious Next.js app at scale with a team, Vercel is the safer bet; if you want your assistant to run the whole operational loop and the bill not to surprise you on a viral weekend, Percher is built for that workflow.
Who Percher is for
Percher is built for personal apps — projects you build for yourself or your close circle. It is notpositioned as production-grade or enterprise hosting today: there is no uptime SLA, no formal compliance attestation, and a single region in Germany. If you're shipping a monetised SaaS, an app for paying customers, or anything that needs an SLA, Vercel or a higher-tier provider is the safer choice. Percher may grow into that space; it is not there now.
At a glance
| Feature | Percher | Vercel |
|---|
| Free tier | Free plan (2 apps, sleep after 10 min idle) | Hobby plan (personal projects, non-commercial) |
| Paid entry price | €3/mo (Starter) — flat, per account | $20/user/mo (Pro) — as of 2026-05 |
| Pricing model | Flat monthly subscription | Per-seat + usage-based (bandwidth, builds, functions) |
| Bandwidth model | Unmetered within VPS capacity | Included quota + per-GB overage |
| Region | Single region (Falkenstein, DE) | Global edge network |
| Compute model | Long-running containers per app | Serverless functions + edge runtime |
| Built-in database | Opt-in managed PocketBase per app (SQLite + auth + file storage) via `[data] mode = "pocketbase"` | None native — Marketplace integrations (Neon, Supabase, …) |
| Built-in auth | Yes (when PocketBase is enabled) — auth out of the box with PocketBase | No — bring your own (Auth.js, Clerk, etc.) |
| MCP server | MCP-first: 42 tools covering the full operational surface (publish, logs, env, rollback, doctor, backups, domains, GitHub connect) with a typed `recovery.nextAction` contract for chaining failures into fixes | Has an MCP server for deployment management (Vercel MCP) — focused on project / deployment lookup and log retrieval |
| Framework support | Node, Bun, Python, static, any Dockerfile | Next.js first-class; broad framework support otherwise |
| Custom domains | Yes (paid plans) | Yes |
| Automatic SSL | Yes — Let's Encrypt via Caddy | Yes |
| Data residency | EU only (Germany) | Global; region selection per project |
| Rollback | Instant per-deploy rollback | Instant per-deploy rollback |
When Percher is the better choice
- You want the assistant to do more than `publish` — full operational surface (logs, env, rollback, doctor, backups, domain add, GitHub connect) as MCP tools, plus a typed `recovery.nextAction` so a failed deploy turns into the next tool call automatically.
- You want predictable flat-rate pricing without bandwidth or build-minute surprises — the same €0 / €3 / €12 / €29 every month.
- You want a managed PocketBase database, auth, and file storage available with one config line (`[data] mode = "pocketbase"`), instead of stitching together Marketplace integrations.
- Your project must stay in the EU for data-residency or compliance reasons. Percher's infrastructure is single-region in Germany.
- You're a solo builder or small team and Vercel's per-seat Pro plan is over-spec'd for your headcount.
When Percher is the wrong choice (and Vercel fits better)
- You're building a serious Next.js app that depends on Vercel-specific features at scale: ISR with on-demand revalidation, image optimization, edge middleware, or Server Actions tuned to Vercel's runtime.
- Your audience is global and edge latency matters. Percher runs in one region; Vercel's edge network has many more.
- You have a team that benefits from Vercel's collaboration features — preview comments, branch protection rules, role-based access control.
- You need enterprise compliance (SOC 2, HIPAA, regional data processing agreements). Percher is a young single-team project; Vercel's compliance surface is larger.
- You're already invested in Vercel's data products (KV, Postgres, Blob) or its monitoring stack and don't want to migrate them.
Migrating from Vercel
If your Vercel project is a Next.js, SvelteKit, Astro, Remix, or plain Vite app, the migration is mostly mechanical. Percher's CLI has an `import` command that reads `vercel.json` and generates a working `percher.toml`, then `publish` builds and deploys exactly like Vercel would. Environment variables don't migrate automatically — set them with `percher env set` (or paste them in the dashboard). Domains move once the app is live by adding the domain in Percher and updating the DNS records the CLI prints.
What doesn't carry over: Vercel Edge Functions (`runtime: 'edge'` in Next.js) need to be converted back to standard Node runtime — Percher's compute is regional containers, not edge. Vercel KV, Postgres, and Blob storage have no direct equivalent. For the SQLite + auth + S3-compatible file storage shape, opt into the managed PocketBase sidecar with `[data] mode = "pocketbase"` in percher.toml — Percher provisions the sidecar on first deploy and injects `POCKETBASE_URL` automatically. For raw Postgres specifically, point `DATABASE_URL` at any external provider — Neon, Supabase, your own server.
# In your project root (where vercel.json lives):
bunx percher import # reads vercel.json -> percher.toml
bunx percher env set DATABASE_URL=... # for each env var
bunx percher publish # build + deploy
bunx percher domains add yourdomain.com
FAQ
Can I deploy a Next.js app to Percher?
Yes. Percher detects `next.config.js` automatically and builds with `bun run build` — no Percher-specific changes to your Next.js code. Standard features like ISR, Server Components, Server Actions, image optimization, and middleware work as written. The exceptions are Vercel Edge Functions and Vercel's own data products (KV, Postgres, Blob), which need adaptation — see the migration section above.
Is Percher cheaper than Vercel?
For predictable, low-to-moderate traffic solo projects, yes — Percher's flat plans (€0 / €3 / €12 / €29 per month) are typically cheaper than Vercel's per-seat Pro plan ($20/user/mo plus usage, as of 2026-05). For teams or apps with very bursty traffic that benefit from scale-to-zero, Vercel's serverless model can win. The honest answer is: do the math against your actual usage; both pricing pages are public and the live numbers may have shifted since this page was written.
Does Percher have an edge network like Vercel?
No. Percher runs on a single VPS in Falkenstein, Germany. That's a deliberate trade-off — one region means much simpler infrastructure and stable pricing, but a user in São Paulo will see more latency than on Vercel's nearest edge. If your audience is mostly in Europe, the trade is fine; if it's truly global, Vercel (or putting a CDN in front of Percher) is the right call.
Can I deploy from GitHub like with Vercel?
Yes. `bunx percher github connect <repo>` sets up a webhook so every push to your tracked branch triggers a deploy — the webhook is HMAC-signed. Only public repos are supported on the webhook path; for private repos use a Percher API token from GitHub Actions instead. Branch tracking, preview deploys, and rollback all work the same way they do on Vercel.
What about my Vercel KV / Postgres / Blob storage?
Those are Vercel-proprietary products without a 1:1 equivalent on Percher. For the SQLite + auth + S3-compatible file storage shape, opt into the managed PocketBase sidecar by adding `[data] mode = "pocketbase"` to your percher.toml — Percher provisions PocketBase alongside your app and injects `POCKETBASE_URL` automatically. For raw Postgres specifically, run any external provider (Neon, Supabase, your own) and set `DATABASE_URL` as a normal env var; Percher's outbound proxy handles the connection.
Try Percher in under a minute
Free plan, no credit card. Bring any Node, Bun, Python, or Docker app.
Bringing an existing app? See recommended setup or the migration walkthrough above.