nefo

Ask. Get a link.

You ask for it. Your assistant makes it and puts it online. You send the link.

Free, no card, and the link keeps working.

you make me a dashboard of last quarter’s sales and share it
agent building & publishing…
it’s live — q3-sales.nefo.dev

A page, a file, a site, an app.

You ask for all four the same way. You get back the same kind of link.

A page“chart last quarter’s sales and put it online”v1 · ready · q3-sales.nefo.dev
A file“a link for this invoice, not an attachment”v1 · ready · invoice.nefo.dev
A site“publish the handbook, all forty pages of it”v1 · ready · handbook.nefo.dev
An app“run this Dockerfile with the Postgres beside it”v1 · running · orders.nefo.dev

The first three are static content, served as it is, and the free link does all three. The fourth is a container built from your Dockerfile, or a whole compose stack.

A deploy. Just a very small one.

So it behaves like one.

Ship

You ask, it goes up

Your assistant sends the files and gets an address back. Nothing to install, no git remote, no dashboard to click through.

status ready · q3-sales.nefo.dev
Change

Ask again, same address

Fix the title, add a column, redo the numbers. The link you already sent shows the new one, and the old one is kept.

v11 → v12 · 4 files, +182 −9
Undo

Back to the one that worked

The last five versions keep what was built, so going back starts something that already ran. The code goes back; your data does not.

rollback → v11 · no rebuild

One address, pasted once

Whatever you use, it is one URL and one paste.

Run this once, anywhere.

claude mcp add --transport http nefo https://api.nefo.dev/mcp

Open its connector settings, add a custom connector, and paste this.

https://api.nefo.dev/mcp

It will ask you to sign in and approve. That happens on our site — never in the chat.

Add Nefo to your MCP server config.

{ "mcpServers": { "nefo": { "type": "http", "url": "https://api.nefo.dev/mcp" } } }

Anything that speaks MCP works.

One link free. Everything else is 15 €.

Pro is the platform.

Free
0 €
one permanent link, no card
  • Static pages, files and sites
  • A permanent address, redeployed in place
  • 250 MB, 30 deploys an hour
  • One link at a time
  • No apps that run
  • No passphrase on a link
Start now
Pro
15 €/month
7 days free on a new account, card up front, cancel in one click
  • One always-on app — Dockerfile or compose stack
  • Extra apps at 5 €/month, up to four
  • Unlimited links, every one permanent
  • Your own domain, DNS-verified
  • A passphrase on any link
  • 25 GB
Start your free week →

Cancel and your published content stays online. Only running apps stop, and every version is kept, so coming back is a rollback.

What it will not do

Will it detect my language?

No. There is no buildpack and no language detection — your agent writes the Dockerfile. It is built and run as one container under gVisor with 512 MB and one CPU, or, if you send a compose file, as the whole stack.

Will you run my database?

No. A compose stack can bring its own Postgres on a project volume that survives redeploys, and that volume is snapshotted before any command that writes. It is not in the nightly backup. For data you would hate to lose, attach an external database and hold the connection string as a project secret.

What can the agent see?

Not your secret values — those are set in the dashboard and arrive in the container as files. It sees build logs, runtime logs, the version history and the diff between any two versions.

Who can open my link?

Anyone with the URL. The address is unguessable but it is not a password — Pro puts a passphrase in front of any link. Delete a link and it stops answering immediately.

Start with the free link →No card, and it stays up.

Tell us what is missing

The roadmap is public and anyone can post to it. We also write up how the hard parts work.

How to share a website from ChatGPT (2026) · How to get a public link from Claude · How to publish an HTML file your AI wrote