The EQVPS MCP server (version 1.9.1) has 47 tools for a customer token. This page covers the 23 that rent and run a VPS: every parameter, its type and default, and a call sequence you can copy at the end. Endpoint: https://mcp.eqvps.com/mcp (Streamable HTTP). New to it? Start with the connect guide.
Last verified 2026-10-20 against MCP server 1.9.1 (tools/list).
Which page do you need? Parameters for VPS calls are on this page. Every tool in one list, including delegation, support, sandboxes and the 30 reseller tools, is in the complete list. What a leaked token can do and how to limit an agent is in MCP guardrails.
Auth. list_plans, get_order_limits, register_account and login are public. Everything else needs Authorization: Bearer <token>. Inside one MCP session the token is remembered after register_account or login.
service_id is the service code from order_vps or list_vps, for example 68J67T5. A numeric id works too.
Account and token
| Tool | Auth | Parameters | What it does |
|---|---|---|---|
list_plans | public | — | Plans with prices, specs and the OS images each one boots. plans[] holds the monthly and annual plan_id. Call it first. |
register_account | public | first_name, last_name, email, token_ttl_days? (1–1825, default 365) | Creates an account without a password and returns a reusable Bearer token with token_expires_at. Call it once: a second call creates a second, empty account. |
login | public | email, password, token_ttl_days? | Returns a new token. Works only after set_password. |
refresh_token | Bearer | expires_in_days? (1–1825) | Issues a new token and revokes the current one at once. An expired token cannot be refreshed. |
set_password | Bearer | password (8+ characters, letters and digits) | Turns on email and password login as a backup if the token is lost. Works once; a second call returns 409. |
whoami | Bearer | — | Account id, name and email. Use it to check the token. |
Balance and ordering
| Tool | Auth | Parameters | What it does |
|---|---|---|---|
get_balance | Bearer | — | Prepaid balance and currency. order_vps spends from it. |
topup_balance | Bearer | amount (USD) | Creates a crypto top-up and returns a checkout_url. The balance is credited when the payment confirms on-chain. One unpaid top-up at a time. |
order_vps | Bearer | product, os_id, hostname?, ssh_key?, period? (month | year), plan_id?, location? (de | fi), quantity? (1–50), addons? (backups | extra_ipv4), idempotency_key? | Orders a VPS and pays from the balance when it covers the price; otherwise returns an invoice. Without location we pick one. Windows plans ignore ssh_key. With quantity 2–50 you get one invoice and that many separate servers; send the same idempotency_key when you retry. |
get_order_limits | public | product, period?, plan_id?, location?, addons? | The per-order maximum (max_quantity = 50, a typo guard) and which add-ons are available, with prices. |
pay_invoice | Bearer | invoice_id | Returns a checkout_url for an unpaid invoice. The VPS is created once it is paid. |
Operating a VPS
| Tool | Auth | Parameters | What it does |
|---|---|---|---|
list_vps | Bearer | — | Active, provisioning and suspended services. Deleted ones are not listed. |
get_vps_status | Bearer | service_id | Status, specs, live state and access: host, port and a ready command (SSH for Linux, RDP for Windows). reveal_password returns the one-time root password after boot; password_pending: true means call again in 30–60 s. |
reveal_password | Bearer | service_id | Root password of a keyless VPS, shown once. While the server boots: password_pending: true, call again in 30–60 s. |
power_vps | Bearer | service_id, action (start | stop | reboot) | Power control. |
set_hostname | Bearer | service_id, hostname | Applied inside the running server through the guest agent. On Windows it takes effect after a reboot (reboot_required: true). If the server is off, returns 409 agent_unavailable. |
get_vps_metrics | Bearer | service_id, timeframe? (hour | day | week | month, default hour) | CPU, memory, network and disk over time. |
Plan changes and cancellation
| Tool | Auth | Parameters | What it does |
|---|---|---|---|
get_upgrade_options | Bearer | service_id | Plans this VPS can move to with its data kept: a bigger plan, NAT to dedicated IPv4, or dedicated to NAT. Each option shows prorated_topup, mode and capacity_now. A disk cannot shrink. |
change_plan | Bearer | service_id, target_plan (product_id), confirm: true | Switches the plan in place with one reboot of about a minute. The prorated difference is charged from the balance (402 if it is short). |
cancel_service | Bearer | service_id, reason (3–500 characters, required), type? (end_of_period | immediate), confirm? | Default end_of_period: the server runs until the paid period ends and is not renewed. immediate destroys the server now, needs confirm set to the exact hostname; the response includes refund_amount. |
undo_cancel | Bearer | service_id | Removes a scheduled end_of_period cancellation. An immediate one cannot be undone. |
Destructive: these need confirm
confirm is the exact hostname from get_vps_status, or DELETE. Ask the human before calling.
| Tool | Auth | Parameters | What it does |
|---|---|---|---|
reset_password | Bearer | service_id, confirm | A new root password reaches the running server in 10–30 s and the old one stops working. Read the new one once with reveal_password. Use it for a lost password, not for a server that is still booting. |
reinstall_vps | Bearer | service_id, os_id, confirm | Wipes the disk and installs os_id. All data is lost. Runs in the background; poll get_vps_status. |
Example: from zero to a running server
list_plans() // pick a product slug and an os_id
register_account({ first_name: "Ada", last_name: "Agent", email: "you@yourdomain.com" }) // returns a token
topup_balance({ amount: 10 }) // pay the checkout_url in crypto
order_vps({ product: "nano", os_id: <os_id>, ssh_key: "ssh-ed25519 AAAA..." }) // returns a service_id
get_vps_status({ service_id: "<service_id>" }) // poll until active, then read access.command
power_vps({ service_id: "<service_id>", action: "reboot" })
cancel_service({ service_id: "<service_id>", reason: "project finished" }) // end_of_period; undo_cancel keeps it
Notes for agents
- Send
Authorization: Bearer <token>on every call except the three public ones. With plain HTTP, save the token to a file: a shell variable does not survive separate commands. - Read access details from
get_vps_statusinstead of guessing the port. NAT plans use a personal port; dedicated IPv4 plans use 22 for Linux and 3389 for Windows. - A new server needs about a minute to boot. Keep polling
get_vps_status; do not callreset_passwordbecause SSH did not answer straight away. topup_balanceandpay_invoicereturn a payment link, and a person or a wallet has to pay it. Monero is a separate manual top-up in the dashboard: see paying with Monero.
The same actions without MCP are in the REST API docs.
Comments
No comments yet. Be the first.