mcp · deploy by asking

Just ask for a URL.

Connect the MCP server, then tell your AI assistant to ship your repo. No cloud account. No config file.

5 free services·sleeps when idle·databases included·no card

languages 7 Go, Node, Python, Java, Rust, PHP, Ruby. No Dockerfile required.
files to add 0 Nothing in your repo that only works here.
free services 5 A count, not a clock. Limit enforcement lands soon.
card required no Managed infrastructure. Nothing to provision first.

01 · the tax

You finished the project
three weeks ago.

What stands between a working repo and a link you can send someone.

  • a card on fileFor a portfolio nobody visits on a Tuesday, billed monthly all the same.
  • a config fileOne more file in your repo that exists only to satisfy a platform, and breaks when they change it.
  • a cloud accountAn IAM console, a billing alert you hope you set up right, and a region you picked at random.
  • the free tier clockCredits that expire, a trial that ends, a project that quietly goes dark in month four.
  • a separate databaseAnother provider, another dashboard, another connection string pasted into another settings page.

None of that is the project. It is the tax you pay to show the project to someone.

02 · how it goes

One sentence in.
A URL out.

A real deploy, start to finish. The same six steps whether you click or ask.

ai assistant · mcp live

> deploy the repo in this folder

  1. 00connect repo github.com/priya/portfolio, branch main 0.4s
  2. 01detect Dockerfile found in repo root, using it 1.1s
  3. 02build image built and pushed 48s
  4. 03route host assigned, certificate issued 6s
  5. 04rollout container running, health check passing 11s
  6. 05idle sleeps after 30m with no traffic, wakes on the next request

live at https://portfolio-a3f9.zop.dev
done in 1m 12s.

03 · or ask for

The dashboard is still there.
You just stop opening it.

Everything you would have clicked, you can say instead.

add a postgres database

Creates it, attaches it, sets the connection variables, rolls it out.

create_service_database

why is it returning 502

Reads the rollout, the events and the logs, then names what broke.

diagnose_service

put it back on yesterday's build

Ships the earlier build again. Nothing is overwritten.

rollback_service

set STRIPE_KEY and redeploy

Sets it and rolls out. Values go in and never come back out.

set_service_env_vars

ship the latest main

Rebuilds the branch at its current commit.

redeploy_service

what's the URL again

The public address, and whether we assigned it or you did.

get_service_url

04 · what you get

Free, and not the kind that expires.

Infrastructure we run. Nothing to provision first.

01

Five services, free for good soon

Not a trial. Not credits that burn down.

no card · no expiry
02

Sleeps when idle. Wakes on the first request.

A project nobody opened all week costs nothing. The next visitor wakes it.

scale to zero · wake on request
03

Your Dockerfile, if you wrote one.

We use the one already in your repo. Nothing extra to commit. No Dockerfile, and we detect the stack instead.

go · node · python · java · rust · php · ruby
04

A database, attached.

MySQL or Postgres, wired in as environment variables.

mysql · postgres
05

Build logs and live logs.

Watch the build, then stream what the container prints.

build · rollout · runtime
06

Bring a domain when you're ready.

A zop.dev address now. Your own domain whenever, certificate handled.

dns · tls · wildcards

05 · what people put here

The work you did deserves
an address.

Most of what runs on zopcloud belongs to one person.

students

The placement project.

A repo is something a recruiter has to build. A link is something they click. On the resume in October, still answering in March.

everyone

The portfolio.

Your own domain, no monthly bill attached to it.

designers

The Figma handoff.

Send a URL instead of a zip.

freelancers

The thing the client has to approve.

A staging link that does not live on your laptop.

anyone

Static files.

A folder and a URL.

open source

A demo people can actually reach.

One URL in the README. Reviewers try the thing instead of reading install steps and closing the tab.

06 · setup

Three steps, once.

After this, deploying is a sentence.

  1. Mint a token.

    Settings, then Access tokens. Shown once.

  2. Add the server to your client.

    One config block, the same shape in every client.

  3. Ask.

    "Deploy the repo in this folder."

mcp config
{
  "mcpServers": {
    "zopdev": {
      "url": "https://api.zop.dev/mcp-server",
      "headers": {
        "Authorization": "Bearer zn_pat_..."
      }
    }
  }
}

Your role decides what the agent can do. Every call it makes is audited.

07 · questions

Straight answers.

The ones we get asked most.

Do I need a cloud account?

No. zopcloud runs on infrastructure we operate. Nothing to provision, connect or pay for.

Is it actually free, or free for a month?

Free, with a service count rather than a clock. The five-service limit is still being built, which is why it is marked coming soon.

Do I have to write a Dockerfile?

Only if you want to. If your repo has one we use it as it is. If not, we detect the stack: Go, Node, Python, Java, Rust, PHP and Ruby.

What happens when nobody is using it?

It stops, and the next request starts it again. Only the first visitor waits.

Can I use this without the MCP part?

Yes. Connect a repo in the browser and deploy. MCP is another way in, not the only one.

Can other people see my project?

Only if you add them. Workspaces have roles, so a group project does not mean sharing a password.

What if I outgrow it?

Move to zopday. Same flow, same workspace, your own AWS, GCP or Azure.

ready when you are

Just ask for a URL.

Connect a repo, or ask your AI assistant to do it.

Either way you get a live HTTPS address and something you can send to someone. No card required.

7 languagesno Dockerfile needed
~1 minto your first URL
no cloud accountmanaged infrastructure