An AI agent can write a scraper, debug it, and tell you exactly where to deploy it. Then it stops. Because the next step — actually renting the server — almost always needs a human: open an account, maybe pass an identity check, type a card number into a checkout. The agent did the hard part and now waits on you for the boring part.
That gap is the whole reason this exists. We took the human out of the middle.
Where autonomy usually breaks
Think about what "renting a server" really involves on a normal host. A signup form. An email to confirm. Billing details, sometimes ID. A card at checkout. A dashboard to find the IP. Every one of those assumes a person sitting there.
An agent can't sit there. It can call an API, hold a token, make decisions — but it can't receive a verification email or pull out a credit card. So the moment infrastructure enters the picture, the autonomous workflow turns back into a human workflow with extra steps. You wanted an agent that ships; you got an agent that files a ticket.
The flow, end to end
On EQVPS the same actions are MCP tools (16 of them) plus a REST API — and crucially, the agent can get its own credentials. Here's the actual sequence:
// 1. Get an account — token comes back immediately, no email, no human
register_account({ first_name: "Ada", last_name: "Agent", email: "[email protected]" })
// → { token: "..." } send it as Authorization: Bearer <token> from here on
// 2. See what's available
list_plans()
// → plans with specs, prices, and OS image ids
// 3. Make sure there's money on the balance
get_balance()
// → { balance: 25, currency: "USD" }
// 4. Order — this debits the balance and provisions the box
order_vps({ product: "nano", os_id: 1, hostname: "ada-worker" })
// → { service_id, paid_from_balance: true }
// 5. Read the keys to its own new server
get_vps_status({ service_id })
// → { ip, ssh_port, password } ~60 seconds after ordering
Five calls and the agent is SSH'd into a machine it rented itself. No dashboard, nobody approving each step. If you'd rather drive it from plain HTTP, the same endpoints exist over REST — MCP or REST, your call.
The honest part: what's automated, what isn't
Ordering is fully autonomous. Funding the balance isn't — not yet. Right now someone puts crypto on the balance once (USDC/USDT, or a card on-ramp), and from that point the agent orders, scales and cancels on its own, spending only what's there.
The end state everyone pictures — an agent paying on-chain, per request, with no pre-funding — is the x402 style, and we think it's where this goes. We haven't wired it up. It needs USDC-settled rails and a few things we don't run today, so rather than slap "fully autonomous payments" on the box, here's the truth: autonomous ordering now, autonomous funding later. The prepaid balance is the bridge, and honestly it doubles as a spend cap you probably want anyway.
A couple of real details
The MCP server speaks Streamable HTTP at https://mcp.eqvps.com/mcp, so it drops into any MCP client without a local shim. Auth is a Bearer token the agent mints itself with register_account — the same token works across MCP and REST, against the same account and balance. Sessions are tracked server-side, so a long-running agent can hold one connection and keep calling tools.
One practical note from running this: treat the token and the returned root password like the secrets they are. The agent should store them, not echo them into logs or chat. The balance caps the financial blast radius; basic secret hygiene caps the rest.
Why it matters
For now most of our actual customers are humans who happen to like paying in crypto — we're not going to pretend the web is overrun with autonomous agents buying servers. But the direction is clear. As agents take on longer, real tasks, "can it get and run its own infrastructure?" stops being a party trick and becomes a requirement. When that day fully arrives, the rails need to already be there.
They are. Add the MCP server to your agent — start with connecting an MCP client — fund a small balance, and let it rent its first server. About a minute to root.