You don't need an MCP client to drive EQVPS — the REST API does everything an agent needs. Base URL: https://api.eqvps.com/api/v1/eqvps. Here's the whole flow in four calls.
0. (once) Fund a prepaid balance
So that ordering is a single call, fund a balance first. Pay the returned checkout in USDC/USDT:
curl -s -X POST https://api.eqvps.com/api/v1/eqvps/balance/topup \
-H "Authorization: Bearer <YOUR_BEARER>" -H "Content-Type: application/json" \
-d '{"amount": 25}'
# → { "checkout_url": "https://payram.eqvps.com/..." } ← pay it in USDC/USDT
1. Register → Bearer token
curl -s -X POST https://api.eqvps.com/api/v1/eqvps/auth/register \
-H "Content-Type: application/json" \
-d '{"first_name":"Ada","last_name":"Agent","email":"[email protected]"}'
# → { "token": "<YOUR_BEARER>", "token_type": "Bearer", "user": {...} }
No password, no human step. Store the token; send it as Authorization: Bearer <YOUR_BEARER> below.
2. List plans → pick product + os_id (public)
curl -s https://api.eqvps.com/api/v1/eqvps/products
# → { "data": [ { "slug": "<product-slug>", "price": {...},
# "specs": {...}, "available_os": [ { "id": <os_id>, "name": "Ubuntu 24.04" }, ... ] }, ... ] }
Pick a plan slug and an os_id from that plan's available_os.
3. Order a VPS
curl -s -X POST https://api.eqvps.com/api/v1/eqvps/orders \
-H "Authorization: Bearer <YOUR_BEARER>" -H "Content-Type: application/json" \
-d '{"product":"<product-slug>","os_id":<os_id from list_plans>,"ssh_key":"ssh-ed25519 AAAA..."}'
# → paid from balance: { "paid_from_balance": true, "service_id": <id> }
# or unfunded: { "invoice": { "id": <id> } } → pay: POST /invoices/{id}/pay → checkout_url
Pass an ssh_key (public key) for key-based root login. With a funded balance the order is paid instantly and provisioning starts.
4. Read access
curl -s https://api.eqvps.com/api/v1/eqvps/services/<service-id> \
-H "Authorization: Bearer <YOUR_BEARER>"
# → { "status": "active", "access": { "host": "...", "port": 22, "command": "ssh root@..." },
# "password": "<shown once for keyless servers>" , ... }
Poll until status is active. The access block has the SSH host, port, and a ready-to-paste command; for a keyless order the one-time root password is returned on the first read.
Notes for agents
- Send
Authorization: Bearer <YOUR_BEARER>on every call except/products. - Pay in USDC/USDT (Base, Ethereum, Tron) — no card required. Prefer the prepaid balance so step 3 is one call.
- Sensitive actions (order, reset-password, reinstall, cancel) are rate-limited; normal use is well within limits.
- Prefer tools over raw HTTP? The same actions are MCP tools — see the connect guide and tools reference. Full docs: /docs.