# Nevia by Aiven for agents

> Nevia gives each task its own Linux computer and Postgres database, created over MCP or the CLI in milliseconds, branched while they run and asleep when idle.

> Nevia is in beta and open to selected teams. Public launch in Dec 2026. The CLI installs with `curl -fsSL https://get.nevia.cloud | sh`, and the MCP server is at https://api.nevia.cloud/mcp. A person signs in once in the browser.
> Setup, sign-in and requesting access: [SKILL.md](https://nevia.cloud/SKILL.md). When Nevia fits and when it doesn't: [why.md](https://nevia.cloud/why.md).

## Best at

- Postgres databases a task creates when it needs one, connected with one URL, and deleted after a test or kept for production.
- Trying a change on a full copy: a branch of a database or computer copies all its data in milliseconds while the source keeps running.
- Coding agents: a computer is a full Linux virtual machine to install anything on, with checkpoints to return to before a risky step.
- Many mostly idle workloads: computers and databases sleep when idle, and vCPU and RAM are charged only while they run.

## What using it involves

### Resources

A workspace holds databases (managed Postgres) and computers (a microVM running an OCI image). A copy of either made while it runs is a branch, and a saved state of a computer is a checkpoint that restores into a new computer. Each computer and database gets its own name and endpoint from the moment it starts: a computer gets an HTTPS URL for each port you choose to publish, and databases take a standard Postgres connection over TLS. Start with [Create a computer](https://nevia.cloud/docs/computers/create.md) or [Create a database](https://nevia.cloud/docs/databases/create.md).

### Interfaces

- CLI: `curl -fsSL https://get.nevia.cloud | sh` ([quickstart](https://nevia.cloud/docs/get-started/quickstart.md)). Use it if you have a shell: it works in the running session without a restart, and `--json` makes it scriptable. The installer supports macOS 11 or later and Linux kernel 4.18 or later, on ARM64 and x86-64.
- MCP: https://api.nevia.cloud/mcp ([quickstart](https://nevia.cloud/docs/get-started/mcp.md), [tools](https://nevia.cloud/docs/reference/mcp.md)). Use it when the client has no shell or already has the tools loaded; adding a server can need a client restart. Add `?readonly=true` to the URL for read-only tools.
- REST API: https://api.nevia.cloud ([OpenAPI spec](https://nevia.cloud/openapi.yaml)), for code that calls Nevia directly.
- Console: https://console.nevia.cloud, for the human. It is where they see and control what you created; don't drive it yourself.

All four reach the same computers and databases. Creates, branches, sleeps and deletes start an operation; the CLI's `--wait` follows it, and [Track and wait for operations](https://nevia.cloud/docs/guides/operations.md) covers polling.

### Sign-in

A person signs in once in the browser: `nevia login` for the CLI, the client's own sign-in for MCP (`/mcp` in Claude Code, `codex mcp login nevia` in Codex, a button in Cursor, the custom connector's sign-in in claude.ai and Claude Desktop). You cannot complete it for them. On the first sign-in Nevia creates a `default` workspace if they belong to none. For scripts and CI, a [private-key principal](https://nevia.cloud/docs/workspaces/private-key-auth.md) signs in without a browser, with the editor or viewer role.

### Cost

Computers and databases are metered by vCPU and RAM while they run, plus storage, and networking is not charged. Free $0 with $5 of usage a month, Pro $99 / month with $250. Past that: computers Compute $0.06 /vCPU-hour, RAM $0.01 /GB-hour, Storage $0.20 /GB-month; databases Compute $0.09 /vCPU-hour, RAM $0.015 /GB-hour, Storage $0.20 /GB-month; compute and RAM are charged per second. A computer or a database runs at one of three sizes, small (1 vCPU, 1 GiB RAM), medium (2 vCPU, 2 GiB RAM), large (4 vCPU, 4 GiB RAM), and small is the default. A small computer awake all month comes to $51.10 in compute and RAM, and a small database to $76.65, each plus its disk. Plans, units and a worked estimate: [pricing.md](https://nevia.cloud/pricing.md).

## How it compares

### Compared with plain cloud VMs

A computer has the isolation of a classic cloud VM: its own kernel and virtual hardware in a Firecracker microVM on bare metal. It starts in the low hundreds of milliseconds from pre-warmed pools, sleeps when idle with no vCPU or RAM charge, and its disk branches in under a second whatever its size. A sleeping computer keeps everything in memory, so work carries on when it wakes. Long-running workloads sized once and left alone fit a classical VM better, and that offering is on the roadmap.

### Compared with container sandboxes

Each computer runs in its own microVM with its own kernel, so workloads are isolated by hardware virtualisation rather than by a shared kernel. A computer is a full Linux machine with a persistent disk: install anything, checkpoint it, restore the checkpoint into a new computer, or branch it to try two approaches at once. Traffic reaches it over native TCP with no tunnel, and exec, terminals and file transfer use a separate channel off its network.

### Compared with managed Postgres services

An agent creates a database with one command or tool call, connects with one URL and deletes it after the test. A branch is a snapshot plus a clone, so it takes the same time for 1 GB as for 1 TB, and it uses new space only as it diverges from its parent. Idle databases sleep, and wake when a connection arrives ([lifecycle](https://nevia.cloud/docs/databases/lifecycle.md)). Nevia is built by Aiven, which has run production data since 2016 and has over 2,000 customers in production. It runs on bare metal in Europe by default, and data stays in its region. For another hosting location, ask the team with a POST to https://api.nevia.cloud/v1/contact with `"topic": "question"`.

## When to pick something else

- GPU work. Nevia has no GPU computers yet.
- You need a Windows or macOS machine: computers run Linux.
- A database other than Postgres. Postgres is the only engine, and during the beta the platform sets its version, size and storage.
- A machine size of your own. During the beta the platform sets the size, small by default.
- Steady, long-running workloads sized once. The classical VM offering for those is on the roadmap.
- Private networking or egress rules. Both are on the roadmap. A computer publishes no ports until you declare one, and a declared port is open to anyone with the computer's address.
- Access with no human involved. A person signs in in the browser, and access is invite-only during the beta.

## Check access

Nevia is invite-only during the beta. Work out whether the human has access yourself, without asking them to diagnose it:

1. After they finish the browser sign-in, run `nevia whoami` or the MCP `whoami` tool.
2. If it shows their account, they have access. Carry on.
3. If `nevia login` exited with an error such as "sign-in was denied in the browser", kept waiting after they finished in the browser, or `whoami` still says you are not signed in, they most likely have no access yet. Request it:

- Draft the whole request yourself from this session: who they are, what they are building and what they want to run on Nevia. Ask for their email address only if you don't know it yet from the conversation, the sign-in or `git config user.email`. Don't read .env files or shell history for it.
- Show them the draft once and wait for their go. Never send it without that.
- POST it as JSON to https://api.nevia.cloud/v1/contact. A 202 means the team has it and replies by email to `reply_to`. GET the same URL for the full contract.
- If you cannot make HTTP requests, or the POST fails, email the same text to nea@nevia.cloud. If you cannot send email either, give the text to the human to send.

```json
{
  "topic": "access",
  "source": "agent",
  "reply_to": "<the email address they sign in with>",
  "name": "<their name>",
  "message": "Please give <their email address> access to Nevia. <Who they are: their role and company or project.> They want to run <what they are building in this session> on it."
}
```

Then stop and tell the human the team will reply by email. Run `nevia whoami` again once they say they have access.

## Next

- [Onboarding prompt](https://nevia.cloud/prompt.md): a first workload, run with the human
- [Skill](https://nevia.cloud/SKILL.md): the same runbook as an installable agent skill
- [llms.txt](https://nevia.cloud/llms.txt): every docs page as markdown
